pygismo

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).

https://github.com/gismo/gismo

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.0%) to scientific vocabulary

Keywords

b-splines bezier cad cagd geometry hierarchical inria isogeometric simulation
Last synced: 6 months ago · JSON representation ·

Repository

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).

Basic Info
  • Host: GitHub
  • Owner: gismo
  • License: mpl-2.0
  • Language: C++
  • Default Branch: stable
  • Homepage: https://gismo.github.io
  • Size: 240 MB
Statistics
  • Stars: 391
  • Watchers: 42
  • Forks: 95
  • Open Issues: 38
  • Releases: 10
Topics
b-splines bezier cad cagd geometry hierarchical inria isogeometric simulation
Created almost 11 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation Codeowners Copyright

README.md

``` 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 =====

===== https://github.com/gismo =====

``` DOI GitHub License Static Badge

Static Badge GitHub Release GitHub Release Date GitHub commits since latest release GitHub Downloads (all assets, latest release)

Static Badge PyPI - Python Version PyPI - Downloads GitHub Actions Workflow Status badge

Static Badge GitHub Downloads (all assets, all releases) GitHub Downloads (all assets, all releases)

badge

Continuous Integration status

| System | Status | More information | |--------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------| | CDash | cdash | Report results from all builds | | Circle CI | CircleCI | MacOS XCode 14.3 (x86_64/arm64) | | GitLab | Gitlab Pipeline Status | Linux non-default configurations | | GitHub Actions | GitHub Actions Workflow Status | Latest Linux/MacOS/Windows | | GitLab-Inria | Build Status | CI at Inria | | OpenSUSE | build result | Latest OpenSUSE build as part of the science repository | | GCC Farm | Status | Builders from the GCC Farm | | OBS | build result | Upstream binaries for Linux distributions | | Launchpad | binaries | Upstream package builds for Ubuntu distributions |

This README file contains brief information. More details are found ina 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

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:

    • To compile G+Smo natively, you can use MS Visual Studio which 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.
    • Another option is to install Windows Subsystem for Linux which: > lets developers install a Linux distribution [...] and use Linux applications, utilities, > and Bash command-line tools directly on Windows, unmodified, without the overhead of > a traditional virtual machine or dualboot setup.

    Then you can download, compile and use G+Smo as if your were using a native Linux machine.

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

Optional modules

There is a number of optional modules that may be enabled.

| Name | Description | |----------|-----------------| |gsOpenCascade| Extends functionality using OpenCascade| |gsElasticity| | |gsKLShell| | |gsStructuralAnalysis| |

To enable e.g. gsSpectra and gsOpenCascade set the following option in CMake:

-D GISMO_OPTIONAL="gsSpectra;gsOpenCascade"

Configuration Options

The available options are displayed at CMake configuration. Short description and default setting follows:

  • CMAKEBUILDTYPE Release

Available values are the standard CMake build configurations: Debug, Release, RelWithDebInfo, MinSizeRel.

  • GISMOCOEFFTYPE double

The arithmetic type to be used for all computations. Available options include double, long double, float.

  • GISMOEXTRAINSTANCE not set

If set to one or more of the options available for GISMOCOEFFTYPE the G+Smo library is compiled with extra arithmetic types enabled.

  • GISMOWITHXDEBUG 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.

  • GISMOBUILDLIB ON

If enabled a dynamic library is created using GISMOCOEFFTYPE arithmetic. A target for a static library named gismo_static is also created but not compiled by default.

  • GISMOBUILDEXAMPLES ON

If enabled the programs in the examples folder are compiled, and executables are created in build-folder/bin.

  • GISMOBUILDUNITTESTS OFF

If enabled the tests in the unittests folder are compiled, and an executable is created in build-folder/bin.

  • GISMOPLUGINAXL OFF

If enabled the plugin for Axel modeler is compiled (requires Axel).

  • gsOpennurbs

Extension for reading and writing of Rhinoceros' 3DM.

  • CMAKEINSTALLPREFIX (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.

Third-party repository distribution

  • openSUSE Science Project: https://en.opensuse.org/openSUSE:Science_Math
  • FreeBSD port: https://www.freshports.org/math/gismo/
  • Ubuntu upstream packages: https://launchpad.net/~g+smo/+archive/ubuntu/upstream

Contact and support

  • Wiki pages:

https://github.com/gismo/gismo/wiki

  • Bug reports:

https://github.com/gismo/gismo/issues

  • Questions (Q&A):

https://github.com/gismo/gismo/discussions/categories/q-a

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).

Owner

  • Name: G+Smo
  • Login: gismo
  • Kind: organization
  • Email: gismo@inria.fr

Geometry + Simulation Modules

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Mantzaflaris"
  given-names: "Angelos"
  orcid: "https://orcid.org/0000-0001-7135-1084"
- family-names: "Verhelst"
  given-names: "Hugo Maarten"
  orcid: "https://orcid.org/0000-0001-8677-862X"
- family-names: "Möller"
  given-names: "Matthias"
  orcid: "https://orcid.org/0000-0003-0802-945X"
- family-names: "Karampatzakis"
  given-names: "Christos"
  orcid: "https://orcid.org/0009-0000-7562-2427"
- family-names: "Takacs"
  given-names: "Stefan"
  orcid: "https://orcid.org/0000-0003-3496-7650"
- family-names: "Imperatore"
  given-names: "Sofia"
  orcid: "https://orcid.org/0009-0003-9116-9978"
- family-names: "Weinmüller"
  given-names: "Pascal"
  orcid: "https://orcid.org/0000-0002-7491-437X"
- family-names: "Vogl"
  given-names: "Jürgen"
- family-names: "Li"
  given-names: "Jingya"
- family-names: "Ji"
  given-names: "Ye"
  orcid: "https://orcid.org/0000-0002-1173-6457"
- family-names: "Matucci"
  given-names: "Mattia"
- family-names: "Limkilde"
  given-names: "Asger"
  orcid: "https://orcid.org/0000-0002-0795-7505"
- family-names: "Scholz"
  given-names: "Felix"
  orcid: "https://orcid.org/0000-0003-3339-0079"
- family-names: "Mokriš"
  given-names: "Dominik"
  orcid: "https://orcid.org/0000-0002-7423-2811"
- family-names: "Sogn"
  given-names: "Jarle"
  orcid: "https://orcid.org/0000-0001-9739-1885"
- family-names: "Shamanskiy"
  given-names: "Alexander"
  orcid: "https://orcid.org/0000-0003-3580-3332"
- family-names: "Vollebregt"
  given-names: "Edwin"
  orcid: "https://orcid.org/0000-0003-2752-1589"
- family-names: "Tielen"
  given-names: "Roel"
- family-names: "Bressan"
  given-names: "Andrea"
  orcid: "https://orcid.org/0000-0003-3730-668X"
- family-names: "Farahat"
  given-names: "Andrea"
  orcid: "https://orcid.org/0000-0001-6835-4313"
contributors:
- family-names: "Lee"
  given-names: "Jaewook"
  orcid: "https://orcid.org/0000-0002-9321-4176"
- family-names: "Partow"
  given-names: "Arash"
- family-names: "Schneckenleitner"
  given-names: "Rainer"
- family-names: "Kohl"
  given-names: "Nils"
  orcid: "https://orcid.org/0000-0003-4797-0664"
- family-names: "Zwar"
  given-names: "Jacques"
  orcid: "https://orcid.org/0009-0000-1285-2364"
- family-names: "Caldas"
  given-names: "Andre"
- family-names: "Weiner"
  given-names: "Harald"
title: "Geometry + Simulation Modules (G+Smo)"
version: 25.01.0
doi: 10.5281/zenodo.1249361
date-released: 2025-01-09
url: "https://github.com/gismo/gismo"
preferred-citation:
  type: article
  authors:
  - family-names: "Jüttler"
    given-names: "Bert"
    orcid: "https://orcid.org/0000-0002-5518-7795"
  - family-names: "Langer"
    given-names: "Ulrich"
    orcid: "https://orcid.org/0000-0003-3797-7475"
  - family-names: "Mantzaflaris"
    given-names: "Angelos"
    orcid: "https://orcid.org/0000-0001-7135-1084"
  - family-names: "Moore"
    given-names: "Stephen E"
  - family-names: "Zulehner"
    given-names: "Walter"
  doi: "10.0000/00000"
  journal: "Proceedings in Applied Mathematics and Mechanics"
  start: 961 # First page number
  end: 962 # Last page number
  title: "Geometry + Simulation modules: Implementing isogeometric analysis"
  issue: 1
  volume: 14
  year: 2014

GitHub Events

Total
  • Fork event: 13
  • Create event: 72
  • Release event: 2
  • Issues event: 24
  • Watch event: 37
  • Delete event: 57
  • Member event: 1
  • Issue comment event: 66
  • Push event: 750
  • Pull request event: 130
  • Gollum event: 56
  • Pull request review event: 101
  • Pull request review comment event: 77
Last Year
  • Fork event: 13
  • Create event: 72
  • Release event: 2
  • Issues event: 24
  • Watch event: 37
  • Delete event: 57
  • Member event: 1
  • Issue comment event: 66
  • Push event: 750
  • Pull request event: 130
  • Gollum event: 56
  • Pull request review event: 101
  • Pull request review comment event: 77

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 58
  • Average time to close issues: about 2 years
  • Average time to close pull requests: 17 days
  • Total issue authors: 6
  • Total pull request authors: 13
  • Average comments per issue: 1.57
  • Average comments per pull request: 0.26
  • Merged pull requests: 42
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 57
  • Average time to close issues: 15 days
  • Average time to close pull requests: 13 days
  • Issue authors: 5
  • Pull request authors: 13
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.26
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • andre-caldas (3)
  • dominik-mokris-mtu (3)
  • hhornik (3)
  • songbuling (2)
  • ErwanDemairy (2)
  • Rennngw (2)
  • Albe21072000 (2)
  • kmrkmrkmr (2)
  • BigMaxBig (1)
  • MakiseKuriseXD (1)
  • chaihanhan (1)
  • LiXinrong1012 (1)
  • ion-g-ion (1)
  • ckarampa (1)
  • chenrui333 (1)
Pull Request Authors
  • hverhelst (21)
  • filiatra (19)
  • mmoelle1 (15)
  • ckarampa (11)
  • jiyess (6)
  • felixfeliz (5)
  • andre-caldas (4)
  • stefantakacs (3)
  • Crazy-Rich-Meghan (3)
  • GiannisKarampinis (3)
  • j042 (3)
  • MatuTia (3)
  • AndreaBressan (3)
  • sofimp23 (2)
  • dominik-mokris-mtu (2)
Top Labels
Issue Labels
bug (16) enhancement (4) help wanted (1)
Pull Request Labels
enhancement (9) bug (7) Organization (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 326 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 7
  • Total maintainers: 2
pypi.org: pygismo

G+Smo (Geometry + Simulation Modules)

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 326 Last month
Rankings
Stargazers count: 3.9%
Forks count: 5.4%
Dependent packages count: 7.5%
Average: 22.1%
Downloads: 24.3%
Dependent repos count: 69.6%
Maintainers (2)
Last synced: 6 months ago

Dependencies

docker/ubuntu16.04/Dockerfile docker
  • ubuntu 16.04 build
docker/ubuntu18.04/Dockerfile docker
  • ubuntu 18.04 build
docker/ubuntu20.04/Dockerfile docker
  • ubuntu 20.04 build
pyproject.toml pypi
setup.py pypi
  • numpy *