diff --git a/index.html b/index.html index bce86a3196d2881ac0b1de93bc37feb3ad5fba59..e8ae2c7a49838163c1c6393e823a8d16a9969c50 100644 --- a/index.html +++ b/index.html @@ -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>