GGGGGGGGG GGGG GGGGGGGGG GGGGGG GGGGGG GGGGGGGGGG
GGGG GGGG GGGG GGGGGG GGGGGG GGGG GGGG
GGGG GGGGGGGGGGGG GGGGGGGGG G GGGG G GGGG GGGG GGGG
GGGG GGGGGG GGGGGGGGGGGGG GGGGGGGGGG GG GGGG GG GGGG GGGG GGGGG
GGGGG GGGGG GGGGGGGGGGGG GGGGGGGGG GG GGGGGG GGGG GGGG GGGG
GGGG GGGG GGGG GGGG GG GGGG GGGG GGGG GGGG
GGGGGGGGGG GGGG GGGGGGGGG GG GGG GGGG GGGGGGGGGG
======================================================================
===== Geometry plus Simulation modules =====
===== version 21.12 Alpha =====
===== https://github.com/gismo =====
======================================================================
System | Status | More information |
---|---|---|
CDash | Report results from all builds | |
Appveyor | Windows MSVC 14.0 | |
Circle CI | MacOS XCode9-12 | |
Codeship | ||
GitLab | Linux non-default configurations | |
GitHub Actions | Latest Linux/MacOS/Windows | |
Jenkins | VMs for Linux/MacOS/Windows | |
GCC Farm | Status | Builders from the GCC Farm |
OBS | binaries | Upstream package builds for many Linux distributions |
Launchpad | binaries | Upstream package builds for Ubuntu distributions |
This README file contains brief information. More details are found in the Wiki pages.
The latest revision of the code can be obtained using git (via https):
git clone https://github.com/gismo/gismo.git
or using subversion:
svn co https://github.com/gismo/gismo/trunk gismo
or as a tar.gz or zip file:
- https://github.com/gismo/gismo/archive/stable.tar.gz
- https://github.com/gismo/gismo/archive/stable.zip
-
Operating systems:
- MS Windows
- Linux
- macOS
-
Configuration: CMake 2.8.12 or newer.
-
Compilers tested include recent versions of
- AMD Optimizing C/C++ Compiler
- AppleClang see here for OpenMP support
- Clang
- GNU GCC
- Intel C++ compiler
- Mingw64
- MS Visual Studio C++
- PGI C/C++ only with
GISMO_WITH_OPENMP=OFF
-
Compilers known to not work
- Oracle Developer Studio fails to compile Eigen
- IBM XLC C/C++ fails to compile Eigen
-
Recommended:
The compilation requires configuration using CMake at a new, empty folder (in-source builds are disabled).
-
On Linux/macOS: A Unix makefile exists in the root source folder. Running
make
creates a sub folder namedbuild
and executes CMake and compilation inside that folder. Alternatively, choose your own build folder and execute CMake pointing to the sources. -
On MS Windows: MS Visual Studio has built-in CMake support since version 2015. Alternatively, you can run the
cmake-gui
tool (from an environment that is configured with your compiler) to generate makefiles (or Visual Studio project files). Then execute the make tool to launch compilation. Alternatively, use the QtCreator GUI and open the CMakeLists.txt file on the root folder to create a QtCreator project.
After successful compilation a dynamic library is created in ./lib
and
executable example programs are output at the ./bin
subdirectory of
the build folder.
Additionally, if Doxygen is available on the system one can execute (eg. on Linux):
make doc
to obtain the Doxygen documentation in HTML format. The main doxygen
page is at ./doc/html/index.html
.
More information at https://github.com/gismo/gismo/wiki
The available options are displayed at CMake configuration. Short description and default setting follows:
-
CMAKE_BUILD_TYPE Release
Available values are the standard CMake build configurations: Debug, Release, RelWithDebInfo, MinSizeRel.
-
GISMO_COEFF_TYPE double
The arithmetic type to be used for all computations. Available options include double, long double, float.
-
GISMO_EXTRA_INSTANCE not set
If set to one or more of the options available for GISMO_COEFF_TYPE the G+Smo library is compiled with extra arithmetic types enabled.
-
GISMO_EXTRA_DEBUG OFF
If set to ON additional debugging tools are enabled during compilation. These include checked iterators for GCC and MSVC compilers and call stack back-trace printout when a runtime exception occurs.
-
GISMO_BUILD_LIB ON
If enabled a dynamic library is created using GISMO_COEFF_TYPE arithmetic. A target for a static library named gismo_static is also created but not compiled by default.
-
GISMO_BUILD_EXAMPLES ON
If enabled the programs in the examples folder are compiled, and executables are created in build-folder/bin.
-
GISMO_BUILD_UNITTESTS OFF
If enabled the tests in the unittests folder are compiled, and an executable is created in build-folder/bin.
-
GISMO_BUILD_AXL OFF
If enabled the plugin for Axel modeler is compiled (requires Axel).
-
GISMO_WITH_PSOLID OFF
If enabled the extensions using functionalities of Parasolid geometric kernel are compiled (requires Parasolid).
-
GISMO_WITH_ONURBS OFF
If enabled the extension for reading and writing of Rhinoceros' 3DM is compiled.
-
CMAKE_INSTALL_PREFIX (system dependent)
The location for installation of the library, e.g. /usr/local on some Linux systems.
The source tree consists of the following sub-folders:
- src
Contains all source files. Code is partitioned into modules. Currently eleven modules are present as sub-folders:
- gsCore
- gsMatrix
- gsNurbs
- gsHSplines
- gsModeling
- gsAssembler
- gsSolver
- gsPde
- gsTensor
- gsIO
- gsUtils
-
examples
Examples of usage, small programs and tutorials.
-
unittests
Unittests for some parts of the codebase.
-
filedata
Data files in the XML format the G+Smo can read and write.
-
extensions
Optional additional features that can be compiled along G+Smo.
-
plugins
The plugins for:
- Axel modeler
- Rhinoceros' 3DM
-
cmake
Cmake configuration files.
-
doc
Files related to doxygen documentation.
-
Wiki pages:
-
Bug reports:
Coordinator and maintainer: Angelos Mantzaflaris
See full list in our wiki pages
The G+Smo library is distributed under the Mozilla Public License v2.0. (see LICENSE.txt).