All Projects β†’ gismo β†’ Gismo

gismo / Gismo

Licence: other
G+Smo (pronounced gismo or gizmo) is a C++ library for isogeometric analysis (IGA). Geometry plus simulation modules aims at the seamless integration of Computer-aided Design (CAD) and Finite Element Analysis (FEA).

Projects that are alternatives of or similar to Gismo

Nurbs Python
Object-oriented pure Python B-Spline and NURBS library
Stars: ✭ 295 (+94.08%)
Mutual labels:  cad, geometry, bezier
Maker.js
πŸ“βš™ 2D vector line drawing and shape modeling for CNC and laser cutters.
Stars: ✭ 1,185 (+679.61%)
Mutual labels:  cad, geometry, bezier
paramak
Create parametric 3D fusion reactor CAD and neutronics models
Stars: ✭ 40 (-73.68%)
Mutual labels:  geometry, cad
TriangleMeshDistance
Header only, single file, simple and efficient C++11 library to compute the signed distance function (SDF) to a triangle mesh
Stars: ✭ 55 (-63.82%)
Mutual labels:  simulation, geometry
pymadcad
Simple yet powerful CAD (Computer Aided Design) library, written with Python.
Stars: ✭ 63 (-58.55%)
Mutual labels:  geometry, cad
MidcurveNN
Computation of Midcurve of Thin Polygons using Neural Networks
Stars: ✭ 19 (-87.5%)
Mutual labels:  geometry, cad
paramak
Create parametric 3D fusion reactor CAD models
Stars: ✭ 36 (-76.32%)
Mutual labels:  geometry, cad
Elm Geometry
2D/3D geometry package for Elm
Stars: ✭ 162 (+6.58%)
Mutual labels:  cad, geometry
Workcraft
Toolset to capture, simulate, synthesize and verify graph models
Stars: ✭ 27 (-82.24%)
Mutual labels:  cad, simulation
Phidl
Python GDS layout and CAD geometry creation
Stars: ✭ 56 (-63.16%)
Mutual labels:  cad, geometry
Korma
Mathematics library focused on geometry for Multiplatform Kotlin 1.3
Stars: ✭ 65 (-57.24%)
Mutual labels:  geometry, bezier
Dotscad
Reduce the burden of mathematics when playing OpenSCAD
Stars: ✭ 344 (+126.32%)
Mutual labels:  cad, geometry
Complete street rule
The Complete Street Rule for ArcGIS CityEngine is a scenario oriented design tool intended to enable users to quickly create procedurally generated multimodal streets.
Stars: ✭ 81 (-46.71%)
Mutual labels:  geometry, simulation
Cavaliercontours
2D polyline library for offsetting, combining, etc.
Stars: ✭ 135 (-11.18%)
Mutual labels:  cad, geometry
Polyfem
A polyvalent C++ FEM library
Stars: ✭ 147 (-3.29%)
Mutual labels:  simulation
Physac
2D physics header-only library for videogames developed in C using raylib library.
Stars: ✭ 151 (-0.66%)
Mutual labels:  simulation
Compas
Core packages of the COMPAS framework.
Stars: ✭ 146 (-3.95%)
Mutual labels:  geometry
Flutteringlayout
🎈 δΈ€δΈͺη›΄ζ’­ι—΄η‚Ήθ΅žζ‘ƒεΏƒι£˜εŠ¨ζ•ˆζžœηš„ζŽ§δ»Ά
Stars: ✭ 145 (-4.61%)
Mutual labels:  bezier
Difftaichi
10 differentiable physical simulators built with Taichi differentiable programming (DiffTaichi, ICLR 2020)
Stars: ✭ 2,024 (+1231.58%)
Mutual labels:  simulation
Wechart
Create all the [ch]arts by cax or three.js - Cax ε’Œ three.js εˆ›ι€ δΈ€εˆ‡ε›Ύ[葨]
Stars: ✭ 152 (+0%)
Mutual labels:  bezier
     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 20.12 Alpha                    =====
=====                   https://github.com/gismo                 =====
======================================================================

Continuous Integration status

System Status More information
CDash cdash Report results from all builds
Appveyor Appveyor status Windows MSVC 14.0
Circle CI Circle CI macOS XCode9, C++98
macOS XCode10, C++11
macOS XCode11, C++14
macOS XCode12, C++17
Codeship Codeship Status
GitLab pipeline status Linux GCC6, C++98
Linux GCC7, C++11
Linux GCC8, C++14
Linux GCC9, C++17
Linux GCC10, C++20
Linux Clang7, C++98
Linux Clang8, C++11
Linux Clang9, C++14
Linux Clang10, C++17
Linux Clang11, C++20]
Travis Travis Status macOS XCode9 C++98
macOS XCode10, C++11
macOS XCode11, C++14
Linux GCC, C++98
GitHub Actions Build Status Latest Linux/MacOS/Windows
Jenkins Build Status 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:

Prerequisites

Compilation

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 named build 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

Configuration Options

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.

Directory structure

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.

Contact and support

People

Coordinator and maintainer: Angelos Mantzaflaris

See full list in our wiki pages

OS-license

The G+Smo library is distributed under the Mozilla Public License v2.0. (see LICENSE.txt).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].