Skip to content
Snippets Groups Projects
Commit a3083e8b authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

up

parent 8fd12e64
No related branches found
No related tags found
No related merge requests found
......@@ -48,14 +48,15 @@ generator <a href="http://gmsh.info">Gmsh</a> and the finite element solver
easily interfaced as well.
</p>
<h2>Give it a try!</h2>
<h2>Getting 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/magnetometer/magnetometer.pro</code>
e.g. <code>models/Magnetometer/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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment