1``` 2 GGGGGGGGG GGGG GGGGGGGGG GGGGGG GGGGGG GGGGGGGGGG 3 GGGG GGGG GGGG GGGGGG GGGGGG GGGG GGGG 4 GGGG GGGGGGGGGGGG GGGGGGGGG G GGGG G GGGG GGGG GGGG 5 GGGG GGGGGG GGGGGGGGGGGGG GGGGGGGGGG GG GGGG GG GGGG GGGG GGGGG 6 GGGGG GGGGG GGGGGGGGGGGG GGGGGGGGG GG GGGGGG GGGG GGGG GGGG 7 GGGG GGGG GGGG GGGG GG GGGG GGGG GGGG GGGG 8 GGGGGGGGGG GGGG GGGGGGGGG GG GGG GGGG GGGGGGGGGG 9 10====================================================================== 11===== Geometry plus Simulation modules ===== 12===== version 21.12 Alpha ===== 13===== https://github.com/gismo ===== 14====================================================================== 15``` 16 17# Continuous Integration status 18| **System** | **Status** | **More information** | 19|------------|------------|----------------------| 20| [CDash](https://cdash-ci.inria.fr/index.php?project=Gismo) | [![cdash](https://img.shields.io/website?down_color=lightgrey&down_message=offline&label=CDash&up_color=green&up_message=up&url=https%3A%2F%2Fcdash-ci.inria.fr%2Findex.php%3Fproject%3DGismo)](https://cdash-ci.inria.fr/index.php?project=Gismo) | Report results from all builds | 21| [Appveyor](https://ci.appveyor.com/project/gismo/gismo) | [![Appveyor status](https://ci.appveyor.com/api/projects/status/abps59xbt1gjwci1/branch/stable?svg=true)](https://cdash-ci.inria.fr/index.php?project=Gismo&filtercount=1&field1=site&compare1=63&value1=[appVeyor]) | Windows MSVC 14.0 | 22| [Circle CI](https://circleci.com/gh/gismo/gismo) | [![Circle CI](https://circleci.com/gh/gismo/gismo.svg?style=svg)](https://cdash-ci.inria.fr/index.php?project=Gismo&filtercount=1&field1=site&compare1=63&value1=[cci]) | macOS XCode9, C++98 <br> macOS XCode10, C++11 <br> macOS XCode11, C++14 <br> macOS XCode12, C++17 | 23| [Codeship](https://app.codeship.com/projects/123289) | [![Codeship Status](https://app.codeship.com/projects/2aa19360-8998-0133-39fd-66416d65b267/status?branch=stable)](https://cdash-ci.inria.fr/index.php?project=Gismo&filtercount=1&field1=site&compare1=63&value1=[codeship]) | | 24| [GitLab](https://gitlab.com/gismo-ci/gismo/-/pipelines) | [![pipeline status](https://gitlab.com/gismo-ci/gismo/badges/gitlab_ci/pipeline.svg)](https://cdash-ci.inria.fr/index.php?project=Gismo&filtercount=1&field1=site&compare1=63&value1=[gitlab-ci]) | Linux GCC6, C++98 <br> Linux GCC7, C++11 <br> Linux GCC8, C++14 <br> Linux GCC9, C++17 <br> Linux GCC10, C++20 <br> Linux Clang7, C++98 <br> Linux Clang8, C++11 <br> Linux Clang9, C++14 <br> Linux Clang10, C++17 <br> Linux Clang11, C++20] | 25| [Travis](https://travis-ci.org/gismo/gismo/branches) | [![Travis Status](https://travis-ci.org/gismo/gismo.svg?branch=stable)](https://cdash-ci.inria.fr/index.php?project=Gismo&filtercount=1&field1=site&compare1=63&value1=[travis]) | macOS XCode9 C++98 <br> macOS XCode10, C++11 <br> macOS XCode11, C++14 <br> Linux GCC, C++98 | 26| [GitHub Actions](https://github.com/gismo/gismo/actions) | [![Build Status](https://github.com/gismo/gismo/workflows/gismo/badge.svg?branch=stable)](https://cdash-ci.inria.fr/index.php?project=Gismo&filtercount=1&field1=site&compare1=63&value1=[actions]) | Latest Linux/MacOS/Windows | 27| [Jenkins](https://ci.inria.fr/gismo/job/gismo/job/gismo/job/stable) | [![Build Status](https://ci.inria.fr/gismo/buildStatus/icon?job=gismo%2Fgismo%2Fstable)](https://cdash-ci.inria.fr/index.php?project=Gismo&filtercount=1&field1=site&compare1=63&value1=[jenkins]) |VMs for Linux/MacOS/Windows | 28| GCC Farm | [Status](https://cdash-ci.inria.fr/index.php?project=Gismo&filtercount=1&field1=site&compare1=63&value1=[gccfarm]) | Builders from the GCC Farm | 29| [OBS](https://build.opensuse.org/package/show/home:filiatra/gismo) | [binaries](https://software.opensuse.org/download/package?project=home:filiatra&package=gismo) | Upstream package builds for many Linux distributions | 30| [Launchpad](https://code.launchpad.net/~g+smo/+recipe/g+smo-daily) |[binaries](https://launchpad.net/~g+smo/+archive/ubuntu/upstream/+packages) | Upstream package builds for Ubuntu distributions | 31 32 33This README file contains brief information. More details are found in 34the [Wiki pages](https://github.com/gismo/gismo/wiki). 35 36The latest revision of the code can be obtained using git (via https): 37 38```git clone https://github.com/gismo/gismo.git``` 39 40or using subversion: 41 42```svn co https://github.com/gismo/gismo/trunk gismo``` 43 44or as a tar.gz or zip file: 45 46* https://github.com/gismo/gismo/archive/stable.tar.gz 47* https://github.com/gismo/gismo/archive/stable.zip 48 49# Prerequisites 50 51* Operating systems: 52 - MS Windows 53 - Linux 54 - macOS 55 56* Configuration: [CMake 2.8.12](https://cmake.org) or newer. 57 58* Compilers tested include recent versions of 59 - [AMD Optimizing C/C++ Compiler](https://developer.amd.com/amd-aocc/) 60 - [AppleClang](https://developer.apple.com/documentation/xcode/) see [here](https://mac.r-project.org/openmp/) for OpenMP support 61 - [Clang](https://clang.llvm.org) 62 - [GNU GCC](https://gcc.gnu.org) 63 - [Intel C++ compiler](https://software.intel.com/content/www/us/en/develop/tools/compilers/c-compilers.html) 64 - [Mingw64](http://mingw-w64.org/) 65 - [MS Visual Studio C++](https://visualstudio.microsoft.com) 66 - [PGI C/C++](https://www.pgroup.com/index.htm) only with `GISMO_WITH_OPENMP=OFF` 67 68* Compilers known to not work 69 - [Oracle Developer Studio](https://www.oracle.com/application-development/technologies/developerstudio.html) fails to compile Eigen 70 - [IBM XLC C/C++](https://www.ibm.com/products/xl-cpp-linux-compiler-power) fails to compile Eigen 71 72* Recommended: 73 - [Doxygen](https://www.doxygen.org) for generating documentation. 74 - [Paraview](https://www.paraview.org) for visualization. 75 76# Compilation 77 78The compilation requires configuration using [CMake](https://cmake.org) 79at a new, empty folder (in-source builds are disabled). 80 81* On **Linux/macOS**: A Unix makefile exists in the root source 82 folder. Running `make` creates a sub folder named `build` and 83 executes CMake and compilation inside that folder. Alternatively, 84 choose your own build folder and execute CMake pointing to the 85 sources. 86 87* On **MS Windows**: MS Visual Studio has [built-in CMake 88 support](https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio) 89 since version 2015. Alternatively, you can run the `cmake-gui` tool 90 (from an environment that is configured with your compiler) to 91 generate makefiles (or Visual Studio project files). Then execute 92 the make tool to launch compilation. Alternatively, use the 93 QtCreator GUI and open the CMakeLists.txt file on the root folder to 94 create a QtCreator project. 95 96After successful compilation a dynamic library is created in `./lib` and 97executable example programs are output at the `./bin` subdirectory of 98the build folder. 99 100Additionally, if [Doxygen](https://www.doxygen.org) is available on 101the system one can execute (eg. on Linux): 102 103```make doc``` 104 105to obtain the Doxygen documentation in HTML format. The main doxygen 106page is at `./doc/html/index.html`. 107 108More information at https://github.com/gismo/gismo/wiki 109 110# Configuration Options 111 112The available options are displayed at CMake configuration. Short 113description and default setting follows: 114 115* CMAKE_BUILD_TYPE *Release* 116 117 Available values are the standard CMake build configurations: Debug, 118Release, RelWithDebInfo, MinSizeRel. 119 120* GISMO_COEFF_TYPE *double* 121 122 The arithmetic type to be used for all computations. Available options 123include double, long double, float. 124 125* GISMO_EXTRA_INSTANCE *not set* 126 127 If set to one or more of the options available for GISMO_COEFF_TYPE 128 the G+Smo library is compiled with extra arithmetic types enabled. 129 130* GISMO_EXTRA_DEBUG *OFF* 131 132 If set to ON additional debugging tools are enabled during 133compilation. These include checked iterators for GCC and MSVC 134compilers and call stack back-trace printout when a runtime exception 135occurs. 136 137* GISMO_BUILD_LIB *ON* 138 139 If enabled a dynamic library is created using GISMO_COEFF_TYPE 140arithmetic. A target for a static library named gismo_static is also 141created but not compiled by default. 142 143* GISMO_BUILD_EXAMPLES *ON* 144 145 If enabled the programs in the examples folder are compiled, and 146executables are created in build-folder/bin. 147 148* GISMO_BUILD_UNITTESTS *OFF* 149 150 If enabled the tests in the unittests folder are compiled, and an 151executable is created in build-folder/bin. 152 153* GISMO_BUILD_AXL *OFF* 154 155 If enabled the plugin for Axel modeler is compiled (requires Axel). 156 157* GISMO_WITH_PSOLID *OFF* 158 159 If enabled the extensions using functionalities of Parasolid geometric 160kernel are compiled (requires Parasolid). 161 162* GISMO_WITH_ONURBS *OFF* 163 164 If enabled the extension for reading and writing of Rhinoceros' 3DM is 165compiled. 166 167* CMAKE_INSTALL_PREFIX (system dependent) 168 169 The location for installation of the library, e.g. /usr/local on some 170Linux systems. 171 172 173# Directory structure 174 175 176The source tree consists of the following sub-folders: 177 178* **src** 179 180Contains all source files. Code is partitioned into modules. Currently 181eleven modules are present as sub-folders: 182 183 - **gsCore** 184 - **gsMatrix** 185 - **gsNurbs** 186 - **gsHSplines** 187 - **gsModeling** 188 - **gsAssembler** 189 - **gsSolver** 190 - **gsPde** 191 - **gsTensor** 192 - **gsIO** 193 - **gsUtils** 194 195* **examples** 196 197 Examples of usage, small programs and tutorials. 198 199* **unittests** 200 201 Unittests for some parts of the codebase. 202 203* **filedata** 204 205 Data files in the XML format the G+Smo can read and write. 206 207* **extensions** 208 209 Optional additional features that can be compiled along G+Smo. 210 211* **plugins** 212 213 The plugins for: 214 215 - Axel modeler 216 - Rhinoceros' 3DM 217 218* **cmake** 219 220 Cmake configuration files. 221 222* **doc** 223 224 Files related to doxygen documentation. 225 226# Contact and support 227 228* Wiki pages: 229 230 https://github.com/gismo/gismo/wiki 231 232* Bug reports: 233 234 https://github.com/gismo/gismo/issues 235 236 237# People 238 239Coordinator and maintainer: Angelos Mantzaflaris 240 241See full list in [our wiki pages](https://github.com/gismo/gismo/wiki/About--G-Smo) 242 243# OS-license 244 245The G+Smo library is distributed under the Mozilla Public License v2.0. (see [LICENSE.txt](https://github.com/gismo/gismo/blob/stable/LICENSE.txt)). 246 247