Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
W
website
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
documentation
website
Commits
a3083e8b
Commit
a3083e8b
authored
7 years ago
by
Christophe Geuzaine
Browse files
Options
Downloads
Patches
Plain Diff
up
parent
8fd12e64
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
index.html
+43
-83
43 additions, 83 deletions
index.html
with
43 additions
and
83 deletions
index.html
+
43
−
83
View file @
a3083e8b
...
...
@@ -48,14 +48,15 @@ generator <a href="http://gmsh.info">Gmsh</a> and the finite element solver
easily interfaced as well.
</p>
<h2>
G
ive it a try!
</h2>
<h2>
G
etting started
</h2>
<ol>
<li>
Download the ONELAB software bundle:
<ul>
<li>
Desktop version for
<a
href=
"http://onelab.info/files/onelab-Windows64.zip"
>
Windows
</a>
(
<a
href=
"http://onelab.info/files/onelab-Windows32.zip"
>
32 bit
</a>
),
<a
href=
"http://onelab.info/files/onelab-Linux64.zip"
>
Linux
</a>
and
<a
href=
"http://onelab.info/files/onelab-Linux64.zip"
>
Linux
</a>
(
<a
href=
"http://onelab.info/files/onelab-Linux32.zip"
>
32 bit
</a>
) and
<a
href=
"http://onelab.info/files/onelab-MacOSX.dmg"
>
MacOS
</a>
<li>
Mobile version for
<a
href=
"https://play.google.com/store/apps/details?id=org.geuz.onelab"
>
Android
</a>
and
<a
href=
"https://itunes.apple.com/us/app/onelab/id845930897"
>
iOS
</a>
...
...
@@ -66,101 +67,60 @@ easily interfaced as well.
<ul>
<li>
Desktop version: go to the
<code>
File/Open
</code>
menu and select a
GetDP
<code>
.pro
</code>
file,
e.g.
<code>
models/
m
agnetometer/magnetometer.pro
</code>
e.g.
<code>
models/
M
agnetometer/magnetometer.pro
</code>
<li>
Mobile version: select one of the preloaded models
</ul>
<li>
Press
<code>
Run
</code>
.
<li>
... then explore
<a
href=
"http://gitlab.onelab.info/doc/models/wikis"
>
other models
</a>
<li>
Press
<code>
Run
</code>
<li>
... then explore
<a
href=
"http://gitlab.onelab.info/doc/models/wikis"
>
other models
</a>
, or
learn how to create your own with
<a
href=
"http://gitlab.onelab.info/doc/tutorials/wikis"
>
the tutorials
</a>
</ol>
<h2>
Use existing clients
</h2>
<h2>
Additional information
</h2>
<p>
<em>
Native
</em>
clients directly embed the ONELAB library:
ONELAB can interface finite element and related software (
<em>
ONELAB
clients
</em>
) in two ways:
</p>
<ol>
<li><a
href=
"http://getdp.info"
>
GetDP
</a>
: a finite element solver for
electromagnetism, heat transfer, acoustics and generic PDEs
<li><a
href=
"http://gmsh.info"
>
Gmsh
</a>
: a mesh generator and post-processor
(Gmsh also plays the role of ONELAB server)
<li>
Onelab/Mobile: GetDP and Gmsh
on
<a
href=
"https://itunes.apple.com/us/app/onelab/id845930897"
>
iPhone, iPad
</a>
and
<a
href=
"https://play.google.com/store/apps/details?id=org.geuz.onelab"
>
Android
</a>
devices
<li>
By directly embedding the ONELAB C++ library or the ONELAB Python
module. This is what
<a
href=
"http://getdp.info"
>
GetDP
</a>
(a finite element
solver for electromagnetism, heat transfer, acoustics and generic
PDEs),
<a
href=
"http://gmsh.info"
>
Gmsh
</a>
(a mesh generator and
post-processor (Gmsh also plays the role of ONELAB server) and Onelab/Mobile
(GetDP and Gmsh
on
<a
href=
"https://itunes.apple.com/us/app/onelab/id845930897"
>
iPhone,
iPad
</a>
and
<a
href=
"https://play.google.com/store/apps/details?id=org.geuz.onelab"
>
Android
</a>
)
do. Any C++ and Python code can do the same.
<li>
By preprocessing the input files of any software. The different steps of a
simulation (meshing, solving, post-processing) are then controlled by a
python script.
<a
href=
"https://www.csc.fi/web/elmer"
>
Elmer
</a>
,
<a
href=
"https://www.openfoam.com/"
>
OpenFOAM
</a>
,
<a
href=
"https://www.code-aster.org/"
>
Code_Aster
</a>
,
<a
href=
"https://www.3ds.com/fr/produits-et-services/simulia/produits/abaqus"
>
Abaqus
</a>
and
<a
href=
"http://www.calculix.de"
>
CalculiX
</a>
have all been reported to
be used in such a way.
</ol>
<p>
Examples of models based on GetDP and Gmsh:
</p>
<ul>
<li><a
href=
"https://gitlab.onelab.info/doc/tutorials/wikis/home"
>
Step-by-step tutorials
</a>
introducing new features gradually to learn how to build your own GetDP/Gmsh ONELAB models.
<li><a
href=
"https://gitlab.onelab.info/doc/models/wikis/home"
>
Full-featured
models
</a>
highlighting various phsyical models and numerical methods.
</ul>
<p>
Other clients (
<em>
non-native
</em>
) are interfaced with ONELAB by a system of
input file pre-processing. The different steps of a simulation (meshing,
solving, post-processing) are controlled by a python script. See worked-out
examples with:
</p>
<ol>
<li><a
href=
"https://gitlab.onelab.info/doc/models/wikis/Elmer"
>
Elmer
</a>
: a
finite element solver for multi-physic problems developed by CSC
<li><a
href=
"https://gitlab.onelab.info/doc/models/wikis/OpenFOAM"
>
OpenFOAM
</a>
:
an open source CFD software package developed by OpenCFD
</ol>
<p>
Any software driven by input data files (e.g. Code_Aster, Abaqus, CalculiX,
FreeFem, Gnuplot, ...) can be readily interfaced in the same way.
</p>
<p>
Here are
some
<a
href=
"https://gitlab.onelab.info/doc/tutorials/wikis/Onelab-graphical-user-interface-tips-and-tricks"
>
useful
hints to efficiently use the ONELAB graphical user interface
</a>
.
</p>
<h2>
Develop your own client
</h2>
<p>
Implement your own native ONELAB clients:
</p>
<ol>
<li><a
href=
"https://gitlab.onelab.info/doc/models/wikis/Python"
>
With
Python
</a>
: any Python code can become a native ONELAB client
<li><a
href=
"https://gitlab.onelab.info/doc/models/wikis/C++"
>
With C++
</a>
:
how to create a native C++ ONELAB client
</ol>
<h2>
Technical information
</h2>
<p>
The ONELAB interface allows calling sequences of independent clients
(e.g. mesh generators, finite element solvers and other related tools) and
have them share parameters and modeling information. It is based on an
abstraction of the interface to finite element solvers and related tools: for
geometry modeling and meshing, for the definition of physical properties,
constraints and other solver parameters, and for post-processing.
</p>
<p>
The implementation is based on a client-server model, with a server-side
database and (optional) graphical front-end, and local or remote clients
communicating in-memory or through TCP/IP sockets. Contrary to most available
solver interfaces, the ONELAB server has no
<em>
a priori
</em>
knowledge about
any specifics (input file format, syntax, ...) of the clients. In practice,
this is made possible by having any simulation preceded by an analysis phase,
during which the clients are asked to upload their parameter set to the
server.
</p>
<p>
Native ONELAB clients can be written in C++ or Python, and embed the ONELAB
library. For native clients the specification of which data to share is
completely dynamic. For non-native clients, the ONELAB server acts as a
pre-processor of their input files, which should be instrumented to specify
the information to be shared. In all cases the issues of completeness and
The ONELAB interface allows to call such clients and have them share
parameters and modeling information. The implementation is based on a simple
client-server model, with a server-side database, an (optional) graphical
front-end, and local or remote clients communicating in-memory or through
TCP/IP sockets. Contrary to most available solver interfaces, the ONELAB
server has no
<em>
a priori
</em>
knowledge about any specifics (input file
format, syntax, ...) of the clients. This is made possible by having any
simulation preceded by an analysis phase, during which the clients are asked
to upload their parameter set to the server. The issues of completeness and
consistency of the parameter sets are completely dealt with on the client
side: the role of ONELAB is limited to data centralization, modification and
re-dispatching.
</p>
<p>
See the
<a
href=
"http://gitlab.onelab.info/doc/tutorials/wikis"
>
the
tutorials
</a>
for examples.
</p>
<h2>
Sponsors
</h2>
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment