G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gismo.h
Go to the documentation of this file.
1 
14 #ifndef __GISMO_H__
15 #define __GISMO_H__
16 
26 namespace gismo
27 {
28 
34 namespace internal
35 { }
36 
37 }
38 
39 
40 /* ----------- Core ----------- */
41 // #include <gsCore/gsConfig.h>
42 // #include <gsCore/gsDebug.h>
43 // #include <gsCore/gsExport.h>
44 // #include <gsCore/gsMemory.h>
46 //#include <gsCore/gsJITCompiler.h>
47 
48 #include <gsCore/gsLinearAlgebra.h>
49 #include <gsCore/gsFunctionSet.h>
50 #include <gsCore/gsFuncData.h>
51 #include <gsCore/gsFunction.h>
53 #include <gsCore/gsBoundary.h>
54 
55 #include <gsCore/gsGeometry.h>
56 #include <gsCore/gsGeometrySlice.h>
58 #include <gsCore/gsCurve.h>
59 #include <gsCore/gsSurface.h>
60 #include <gsCore/gsVolume.h>
61 #include <gsCore/gsBulk.h>
63 
66 #include <gsCore/gsFunctionExpr.h>
67 #include <gsCore/gsBasisFun.h>
69 
70 #include <gsCore/gsBoxTopology.h>
71 #include <gsCore/gsMultiPatch.h>
72 #include <gsCore/gsField.h>
73 
74 #include <gsCore/gsBasis.h>
75 
76 #include <gsCore/gsFieldCreator.h>
77 
79 
80 #include <gsCore/gsSysInfo.h>
81 
82 // #include <gsCore/gsTemplateTools.h> // included by gsForwardDeclarations -> gsMemory
83 
84 // Tensors
89 
90 /* ----------- Nurbs ----------- */
91 #include <gsNurbs/gsKnotVector.h>
92 #include <gsNurbs/gsBSplineBasis.h>
93 #include <gsNurbs/gsBSpline.h>
94 #include <gsNurbs/gsNurbsBasis.h>
95 #include <gsNurbs/gsNurbs.h>
99 #include <gsNurbs/gsTensorNurbs.h>
100 #include <gsNurbs/gsNurbsCreator.h>
102 
103 /* ----------- HSplines ----------- */
105 #include <gsHSplines/gsHBSpline.h>
107 #include <gsHSplines/gsTHBSpline.h>
108 #include <gsHSplines/gsHFitting.h>
109 #include <gsHSplines/gsHBox.h>
111 
112 /* ----------- Mesh ----------- */
113 #include <gsMesh2/gsSurfMesh.h>
114 
115 /* ----------- MSplines ----------- */
118 
119 /* ----------- Modeling ----------- */
121 #include <gsModeling/gsCurveLoop.h>
123 #include <gsModeling/gsSolid.h>
124 #include <gsUtils/gsMesh/gsMesh.h>
127 //#include <gsSegment/gsVolumeSegment.h>
128 #include <gsModeling/gsFitting.h>
130 
132 #include <gsModeling/gsCoonsPatch.h>
135 
141 
142 /* ----------- Pde ----------- */
144 #include <gsPde/gsConvDiffRePde.h>
145 #include <gsPde/gsEulerBernoulliBeamPde.h>
146 #include <gsPde/gsPoissonPde.h>
147 #include <gsPde/gsStokesPde.h>
148 #include <gsPde/gsPointLoads.h>
149 //#include <gsPde/gsNewtonIterator.h>
150 
151 /* ----------- MultiGrid ----------- */
152 #include <gsMultiGrid/gsMultiGrid.h>
154 
155 /* ----------- Quadrature ----------- */
156 #include <gsAssembler/gsQuadRule.h>
158 
159 /* ----------- Assembler ----------- */
160 #include <gsAssembler/gsAssembler.h>
166 
170 
171 #include <gsAssembler/gsAdaptiveMeshing.h>
172 #include <gsAssembler/gsAdaptiveMeshingUtils.h>
173 
174 /* ----------- Solver ----------- */
177 #include <gsSolver/gsGMRes.h>
180 #include <gsSolver/gsBiCgStab.h>
182 #include <gsSolver/gsAdditiveOp.h>
183 #include <gsSolver/gsBlockOp.h>
185 #include <gsSolver/gsProductOp.h>
187 #include <gsSolver/gsSumOp.h>
188 #include <gsSolver/gsKroneckerOp.h>
191 #include <gsSolver/gsMinResQLP.h>
192 
193 /* ----------- Ieti ----------- */
194 #include <gsIeti/gsIetiMapper.h>
195 #include <gsIeti/gsIetiSystem.h>
196 #include <gsIeti/gsPrimalSystem.h>
198 
199 /* ----------- IO ----------- */
200 #include <gsIO/gsOptionList.h>
201 #include <gsIO/gsCmdLine.h>
202 #include <gsIO/gsFileData.h>
203 #include <gsIO/gsFileManager.h>
204 #include <gsIO/gsWriteParaview.h>
206 #include <gsIO/gsParaviewDataSet.h>
207 #include <gsIO/gsReadFile.h>
208 #include <gsUtils/gsPointGrid.h>
209 #include <gsIO/gsXmlUtils.h>
210 #include <gsIO/gsCsv.h>
211 
212 /* ----------- Parallel ----------- */
213 #include <gsParallel/gsMpi.h>
214 
215 /* ----------- Utilities ----------- */
216 //#include <gsUtils/gsUtils.h> - in gsForwardDeclarations.h
217 #include <gsUtils/gsStopwatch.h>
220 #include <gsUtils/gsL2Projection.h>
221 
222 /* ----------- Extension ----------- */
223 #ifdef GISMO_WITH_ADIFF
224 #include <gsAutoDiff.h>
225 #endif
226 
227 #ifdef gsTrilinos_ENABLED
228 #include <gsTrilinos/gsTrilinos.h>
229 #endif
230 
231 /*
232 #if defined(gismo_EXPORTS) || defined(gismo_dev_EXPORTS)
233 # ifdef _MSC_VER
234 // MSVC and GCC >= 4.4.7
235 # pragma message ("warning: The gismo.h header is for clients using the library.")
236 # else
237 // GCC
238 # warning "The gismo.h header is for clients using the library."
239 # endif
240 #endif
241 */
242 
243 #endif // __GISMO_H__
Describes a Poisson PDE.
Provides a base class for a quadrature rule.
Provides declaration of gsFieldCreator functions.
This class represents a IETI system.
Implementation of periodic Floater parametrization using a stitch. This class is an alternative to gs...
Iterator over the elements of a tensor-structured grid.
Knot vector for B-splines.
Provides declaration of the gsHalfEdgeMesh class.
Represents a NURBS basis with one parameter.
Provides generic assembler routines.
Provides declaration of FunctionExpr class.
Class that performs an L2 projection.
Provides declaration of a 4D bulk.
Provides functions writing .csv files.
Helpers for dealing with MPI codes.
Provides Coons&#39;s patch construction from boundary data.
Represents a NURBS curve/function with one parameter.
Provides declaration of the BoxTopology class.
This class represents the primal system for a IETI-DP algorithm.
Half edge mesh structure.
Implementation of B Spline Curve/Curve intersection.
Simple class create a block preconditioner structure.
Provides declaration of gsTriMeshToSolid: a triangle mesh to gsSolid convertor class.
Provides structs and classes related to interfaces and boundaries.
Adaptive fitting using hierarchical splines.
Allows to set up additive Schwarz type preconditioners.
Provides a linear operator representing the Kronecker product of linear operators.
Preconditioned iterative solver using the generalized minimal residual method.
Provides declaration of QuasiTensorNurbsBasis abstract interface.
Provides declaration of Surface abstract interface.
Gradient iteration.
Provides declaration of ConstantFunction class.
Provides definition of the BasisFun class.
Class for representing a Lanczos matrix and calculating its eigenvalues.
Provides interface of gsTrimSurface class. Represents a trimmed surface (= spline &quot;master surface&quot; in...
Provides declaration of THBSplineBasis class.
Represents a tensor-product B-spline patch.
Implements an affine function.
Provides declaration of Basis abstract interface.
Provides declaration of Volume abstract interface.
Simple abstract class for (discrete) linear preconditioners.
Provides declaration of Geometry abstract interface.
Provides spring patch construction from boundary data.
Provides declaration of data fitting algorithms by least squares approximation.
Generic expressions helper.
Provides a simple container for point loads on multi-patch domains.
Provides declaration of functions writing Paraview files.
Timing functions.
Represents a tensor-product NURBS patch.
Preconditioned iterative solver using the minimal residual method.
Algorithms that help with assembling the matrices required for IETI-solvers.
Provides declaration of THBSplineBasis class.
Provides assembler and solver for the Poisson equation, incl. adaptive refinement.
Generic expressions evaluator.
Provides system information.
Coarsening algorithms for knot vectors and bases.
Provides declaration of THBSplineBasis class.
Provides a list of labeled parameters/options that can be set and accessed easily.
Provides declaration of TensorNurbsBasis abstract interface.
Multigrid preconditioner.
Headers for trilinos-based objects and functionality.
Provides declaration of Basis abstract interface.
Biconjugate gradient stabilized solver.
Provides declaration of BSplineBasis class.
Provides declaration of the MultiPatch class.
Preconditioned iterative solver using the minimal residual QLP method.
Utility class which holds I/O XML data to read/write to/from files.
Provides declaration of DomainIterator abstract interface.
Provides a helper class to write Paraview collection (.pvd) files.
Different Quasi-Interpolation Schemes based on the article &quot;Spline methods (Lyche Morken)&quot;...
Provides forward declarations of types and structs.
Provides declaration of gsGenericGeometry class.
Fits a (closed) B-spline curve to some given data.
Provides assembler for the heat equation.
Provides declaration of a gsPiecewiseFunction class.
Provides declaration of input/output XML utilities struct.
Class that maintains parametrization.
This class represents the scaled Dirichlet preconditioner.
Creates a variety of quadrature rules.
Provides declaration of Basis abstract interface.
Provides assembler for a (planar) Biharmonic equation.
Collection of some simple preconditioners.
Provides declaration of the Mesh class.
A function with explicitly set derivatives.
Provides assembler for the Poisson equation.
Represents a B-spline curve/function with one parameter.
Provides definition of the FuncCoordinate class.
Provides a container for gsHBox.
Provides input command line arguments.
Provides declaration of Line class.
Provides cross approximation parameterizations from boundary data.
Provides functions to generate structured point data.
Utility class for finding files and handling paths.
Provides gsBoundaryConditions class.
Implements a Geometry together with an affine transform.
Allows to represent the composition of preconditioners.
Implementation of periodic Floater parametrization using overlaps.
Iterator over the boundary elements of a tensor-structured grid.
This is the main header file that collects wrappers of Eigen for linear algebra.
Provides declaration of Curve abstract interface.
Conjugate gradient solver.
This is the interface of all objects that computes functions on points like gsBasis, gsGeometry and gsFunctions.
Provides declaration of Function abstract interface.
A class representing the product of gsLinearOperator s.
Provides iteration over integer or numeric points in a (hyper-)cube.
This object is a cache for computed values from an evaluator.
Abstract class with the functionality common to gsPeriodicStitch and gsPeriodicOverlap.
Provides an assembler for common IGA matrices.
Provides declaration of the NurbsCreator struct.
Interface for gsCurveLoop class, representing a loop of curves, in anticlockwise order.
Provides declaration of HBSplineBasis class.
Provides the sum of gsLinearOperator s as a gsLinearOperator.
Provides declaration of the gsGeometrySlice class.
Generic expressions matrix assembly.
Provides a helper class to write Paraview (.vts) files.
Simple abstract class for (discrete) linear operators.
Utility class which holds I/O XML data to read/write to/from files.
Provides gsHBox: smart boxes for HTensorBases.
Provides declaration of gsPlanarDomain class. The outer boundary (m_loops[0]) is a loop of curves...
Provides declaration of the Field class.
Provides robust preconditioners for single patch geometries.
This software facilitates the creation of analysis-suitable parameterizations from given boundary rep...
Provides declaration of TensorBSplineBasis abstract interface.
Provides declaration of gsSolid class, a boundary-represented solid.