Published January 9, 2025
| Version v25.01.0
Software
Open
Geometry + Simulation Modules (G+Smo) - v25.01.0
Creators
- Angelos Mantzaflaris (Άγγελος Μαντζαφλάρης)1
- Hugo Verhelst2
- Matthias Möller3
- Christos Karampatzakis4
- Stefan Takacs5
- Sofia Imperatore6
- Pascal Weinmüller
- Jürgen Vogl7
- Jingya Li8
- Ye Ji (纪野)
- Mattia Matucci
- ALimkilde
- Jaewook Lee9
- Felix Scholz
- Dominik Mokriš - work account10
- Jarle Sogn
- Alexander Shamanskiy11
- Edwin Vollebregt12
- Arash Partow13
- rschneckenleitner
- Rick
- Nils Kohl14
- Jacques Zwar
- DaHofa
- roeltielen24
- Andrea Bressan15
- andre-caldas16
- PWeinmueller
- Harald Weiner17
- AndreaFarahat
- 1. Inria
- 2. University of Pavia
- 3. Department of Applied Mathematics, Delft University of Technology
- 4. Aristotle University of Thessaloniki
- 5. NuMa, JKU
- 6. CNR-Imati "Enrico Magenes"
- 7. @gismo
- 8. Delft University of Technology
- 9. TU Wien
- 10. MTU Aero Engines AG
- 11. SimScale
- 12. Vtech CMCC
- 13. ἑ
- 14. LMU Munich
- 15. IMATI CNR
- 16. University of Brasília, Brasil.
- 17. JKU
Description
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).
The documentation of G+Smo can be found here.
New in this version:
- NEW:
- add optional/gsOptim/ -- https://github.com/gismo/gismo/pull/721
- Added a function to create a global mesh from a gsMultiPatch -- https://github.com/gismo/gismo/pull/724
- Installs a pkg-config file to be used by build systems that are not cmake. -- https://github.com/gismo/gismo/pull/736
- `gsWriteParaviewBezier` accepts a `gsMultiPatch` and exports it as a *single* `.vtu` file containing `VTK_BEZIER_QUADRILATERAL` elements. Currently this is implemented only for bivariate geometries. -- https://github.com/gismo/gismo/pull/740
- `gsMultiPatch::BezierExtraction()` implements Bezier extraction via quasi interpolation and has been brought over from `gismo/gsLsDyna` and returns a multi patch consisting of all the bezier elements.. The struct `ElementBlock` and method `BezierOperator` are necessary for its operation. The struct has been 'hidden' inside the `internal` namespace and `BezierOperator` has been marked private. -- https://github.com/gismo/gismo/pull/740
- gsRationalBasis::refine -- https://github.com/gismo/gismo/pull/751
- gsBSplineBasis::refine -- https://github.com/gismo/gismo/pull/751
- gsTensorBSplineBasis::refine_withTransfer, taking box matrix (needed for gsElasticity) -- https://github.com/gismo/gismo/pull/751
- gsTensorBSplineBasis::refine_withCoefs, taking box matrix (needed for gsElasticity) -- https://github.com/gismo/gismo/pull/751
- CMake macro for subdirectories (needed for gsPreCICE) -- https://github.com/gismo/gismo/pull/751
- options to `gsL2Projection` methods -- https://github.com/gismo/gismo/pull/723
- `L2Projection_example.cpp` -- https://github.com/gismo/gismo/pull/723
- Pygismo docs -- https://github.com/gismo/gismo/pull/762
- Introduced new function for `getAllNodes` to evaluate all quadrature nodes on a side of a geometry, geometries (`gsGeometry`) or multi-patch geometries (`gsMultiPatch`). -- https://github.com/gismo/gismo/pull/757
- Implemented support to obtain all quadratures points on specific sides (`patchSide`). -- https://github.com/gismo/gismo/pull/757
- gsPreCICE module can run with stable G+Smo -- https://github.com/gismo/gismo/pull/757
- Introduction of `gsRationalTHBSplineBasis, gsRationalTHBSpline` the rational counterparts of the polynomial THB. -- https://github.com/gismo/gismo/pull/743
- `gsFesolution::insert(gsMatrix)` is an generalisation of the existing 'insert(gsGeometry)' -- https://github.com/gismo/gismo/pull/743
- `gsMultiPatch::degreeDecrease` -- https://github.com/gismo/gismo/pull/743
- `gsFileData::hasLabel` same as `hasId` but looks for a label string -- https://github.com/gismo/gismo/pull/743
- `gsXml::searchLabel` same as `searchId` but for labels -- https://github.com/gismo/gismo/pull/743
- Paraview write for boxes represented by matrices -- https://github.com/gismo/gismo/pull/712
- Nestedness check of knot vector-- https://github.com/gismo/gismo/pull/712
- Extra constructor for `gsTensorDomainBoundaryIterator` -- https://github.com/gismo/gismo/pull/712
- `paraview_example.cpp` an example showcasing some of the different ways one can export data to view in ParaView -- https://github.com/gismo/gismo/pull/767
- `paraview_example.dox` the accompanying doxygen page that explains the various functions used in the example. -- https://github.com/gismo/gismo/pull/767
- Advanced fitting features -- https://github.com/gismo/gismo/pull/765
- IMPROVED:
- Update ExprTk v0.0.3 by ArashPartow in -- https://github.com/gismo/gismo/pull/742
- Prevent overflow in searchLowerIndex -- https://github.com/gismo/gismo/pull/749
- Static functions of `gsParaviewDataSet` moved to a separate file, `gsParaviewUtils`. These deal mainly with formatting data to the .vtk format. -- https://github.com/gismo/gismo/pull/740
- `toDataArray` now also supports integers, matrices of integers, and custom xml tag attribute-value pairs. -- https://github.com/gismo/gismo/pull/740
- A flag has been added to `inputOutput_example`, which exports the geometry as bezier elements. -- https://github.com/gismo/gismo/pull/740
- `filedata/surfaces/teapot.xml` now contains a multi patch definition. -- https://github.com/gismo/gismo/pull/740
- Take out the example runs from GitLab CI, since the total GitLabl CI time was around 90 minutes (which is the time limit) hence some runs were failingdue to time limit. -- https://github.com/gismo/gismo/pull/751
- Improve geometry tutorial -- https://github.com/gismo/gismo/pull/770
- Support export of fields with more than 3 components (e.g. full stress tensor in 3D) to Paraview -- https://github.com/gismo/gismo/pull/748
- Remove warnings in `gsMultiPatch` -- https://github.com/gismo/gismo/pull/759
- Remove `gsDebugVar` in `gsBiharmonicExprAssembler` -- https://github.com/gismo/gismo/pull/759
- One (overloaded) implementation for `gsL2Projection` -- https://github.com/gismo/gismo/pull/723
- Streamlined handling of multi-sides and multi-bases for quadrature evaluation. -- https://github.com/gismo/gismo/pull/757
- Contact interfaces are skipped when using `matchInterface` and `repairInterface` -- https://github.com/gismo/gismo/pull/743
- `gsFileData::hasLabel` appends the comment to the root node -- https://github.com/gismo/gismo/pull/743
- `gsXml` now export `gsMultiPatch` interfaces, marking the ones set as 'contact' with a label. -- https://github.com/gismo/gismo/pull/743
- A map of gismo & xml IDs is used when exporting `gsMultiPatch/Basis` for consistency. -- https://github.com/gismo/gismo/pull/743
- Optimize file inclusions -- https://github.com/gismo/gismo/pull/766
- README badges -- https://github.com/gismo/gismo/pull/763
- Impove dramatically openmp parallelization of assembly -- https://github.com/gismo/gismo/pull/764
- Docs in Light Mode -- https://github.com/gismo/gismo/pull/769
- FIXED:
- A gismo.pc file is installed to lib/pkgconfig/.
- In meson, for example, in order to compile and link to an installed G+Smo package, you just have to add dependency('gismo') to your list of dependencies. -- https://github.com/gismo/gismo/pull/736
- Included intrin.h for MinGW compiler -- https://github.com/gismo/gismo/pull/739
- Add character replacement for sub-modules with special characters (CMakeLists.txt) -- https://github.com/gismo/gismo/pull/747
- Remove gsPreCICE since gsPreCICE is already a separate repo. by -- https://github.com/gismo/gismo/pull/750
- Fix compiler warnings coming from compilation with `GISMO_WITH_WARNINGS=ON` -- https://github.com/gismo/gismo/pull/751
- Add cast operators to DScalar1 and DScalar2 types -- https://github.com/gismo/gismo/pull/756
- Fixed bug in Python bindings -- https://github.com/gismo/gismo/pull/760
- `swap` in `gsRationalBasis`: See [this](https://cdash-ci.irisa.fr/viewBuildError.php?buildid=137728) compilation error in Windows (appeared in [gsUnstructuredSplines](https://github.com/gismo/gsUnstructuredSplines/pull/23)) -- https://github.com/gismo/gismo/pull/759
- Fix the interface assembly process for cases where the mesh is non-conforming or contacting -- https://github.com/gismo/gismo/pull/758
- `gsFunction::newtonRaphson_impl` when used with `withSupport` option, used to (falsely) return values outside the support. Now the result is first bound to the support and then returned. -- https://github.com/gismo/gismo/pull/743
- ID of `gsTensorDomainIterator` -- https://github.com/gismo/gismo/pull/712
- Pybind build failure for fitting -- https://github.com/gismo/gismo/pull/768
- API:
- gsOptProblem::numConstraints() returned the number of lower bounds (which are box constraints). Now it returns the member m_numConstraints which is a user-defined flag. This keeps it functional for non-linear constraints, but the user has to set it explicitly. -- https://github.com/gismo/gismo/pull/721
- Replace `gsL2Projection::projectFunction` and `gsL2Projection::projectGeometry` with `gsL2Projection::project` -- https://github.com/gismo/gismo/pull/723
- Make `gsBasis<T>::evalAllDersSingle_into` with argument `gsMatrix<T> &` deprecated, and add `gsBasis<T>::evalAllDersSingle_into` with argument `std::vector<gsMatrix<T>>` in line with `evalAllDers_into`. Only `gsBSplineBasis::evalAllDersSingle_into` overloads, but throws a warning for a bug anyways. -- https://github.com/gismo/gismo/pull/712
Files
gismo-25.01.0.zip
Files
(18.8 MB)
Name | Size | Download all |
---|---|---|
md5:8d2df4defbdef1f1be24884e18547eeb
|
18.8 MB | Preview Download |
Additional details
Additional titles
- Alternative title
- gismo
Related works
- Is documented by
- Other: https://gismo.github.io/ (URL)
- Is supplement to
- Software: https://github.com/gismo/gismo/tree/v25.01.0 (URL)
Software
- Repository URL
- https://github.com/gismo/gismo
- Programming language
- C++
- Development Status
- Active