G+Smo
24.08.0
Geometry + Simulation Modules
|
The G+Smo namespace, containing all definitions for the library. More...
Namespaces | |
bspline | |
This namespace contains implementation of B-spline related algorithms. | |
expr | |
This namespace contains expressions used for FE computations. | |
internal | |
This namespace contains functionalities that are internal to the library. | |
math | |
This namespace contains common mathematical functions. | |
memory | |
This namespace contains functions related to memory management. | |
trilinos | |
This namespace contains wrappers for the Trilinos library. | |
util | |
the gsFuncData is a cache of pre-computed function sets values. | |
Classes | |
struct | ale_method |
Specifies method used for mesh deformation in fluid-structure interaction. More... | |
class | Base64 |
Encode for base64 export. More... | |
struct | boundary |
Struct that defines the boundary sides and corners and types of a geometric object. More... | |
struct | boundary_condition |
Class that defines a boundary condition for a side of a patch for some unknown variable of a PDE. More... | |
struct | boundaryInterface |
Struct which represents an interface between two patches. More... | |
struct | boxComponent |
Struct which represents a certain component (interior, face, egde, corner). More... | |
struct | boxCorner |
Struct which represents a certain corner of a hyper-cube. More... | |
class | boxSide |
Struct which represents a certain side of a box. More... | |
struct | condition_type |
Specifies the type of boundary condition. More... | |
struct | corner_value |
Class prescribing a value related to a corner of a patch. More... | |
struct | coupled_boundary |
Class prescribing a value related to a corner of a patch. More... | |
struct | decodeMat_id |
Decodes the material model and implementation. More... | |
struct | encodeMat_id |
Encodes the material model and implementation. More... | |
struct | gsAABB |
Struct of for an Axis-aligned bounding box. More... | |
class | gsAbsError |
Generates a field with value the absolute difference (error) between and isogeometric function and a function defined on the physical domain. More... | |
class | gsAdaptiveMeshing |
Provides adaptive meshing routines. More... | |
class | gsAdditiveOp |
Generic preconditioner which applies an arbitrary linear operator to the residual. More... | |
class | gsAffineFunction |
Representation of an affine function. More... | |
class | gsALMBase |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsALMConsistentCrisfield |
Performs the Consistent Crisfield arc length method to solve a nonlinear equation system. More... | |
class | gsALMCrisfield |
Performs the Crisfield arc length method to solve a nonlinear equation system. More... | |
class | gsALMLoadControl |
Performs the load-controlled arc length method to solve a nonlinear equation system. More... | |
class | gsAlmostC1 |
Constructs the D-Patch, from which the transformation matrix can be called. More... | |
class | gsALMRiks |
Performs the Riks arc length method to solve a nonlinear equation system. More... | |
class | gsApproxC1Spline |
Class describing the approximate \(C^1\) spline. More... | |
class | gsAsConstMatrix |
Creates a mapped object or data pointer to a const matrix without copying data. More... | |
class | gsAsConstVector |
Creates a mapped object or data pointer to a const vector without copying data. More... | |
class | gsAsMatrix |
Creates a mapped object or data pointer to a matrix without copying data. More... | |
class | gsAssembler |
The assembler class provides generic routines for volume and boundary integrals that are used for for matrix and right-hand side generation. More... | |
struct | gsAssemblerOptions |
class | gsAsVector |
Creates a mapped object or data pointer to a vector without copying data. More... | |
class | gsBarrierCore |
gsBarrierCore More... | |
class | gsBarrierPatch |
Computes a patch parametrization given a set of boundary geometries. Parametrization is not guaranteed to be non-singular. Works for planar surfaces and volumes. More... | |
class | gsBaseAssembler |
Extends the gsAssembler class by adding functionality necessary for a general nonlinear solver. Potentially, can be merged back into gsAssembler. More... | |
class | gsBasis |
A basis represents a family of scalar basis functions defined over a common parameter domain. More... | |
class | gsBasisFun |
Represents an individual function in a function set, or a certain component of a vector-valued function. More... | |
class | gsBasisRefs |
Simple class to hold a list of gsBasis which discretize a PDE system on a given patch. More... | |
class | gsBiCgStab |
Biconjugate gradient stabilized solver. More... | |
class | gsBiharmonicAssembler |
Implementation of a homogeneous Biharmonic Assembler. More... | |
class | gsBiharmonicPde |
A Biharmonic PDE. More... | |
class | gsBlockOp |
Simple class create a block operator structure. More... | |
class | gsBoundaryConditions |
Class containing a set of boundary conditions. More... | |
class | gsBoundedPriorityQueue |
An implementation of the bounded priority queue abstraction. More... | |
class | gsBoxTopology |
Defines a topological arrangement of a collection of "boxes" (e.g., parameter domains that map to physical-domain patches). More... | |
class | gsBSpline |
A B-spline function of one argument, with arbitrary target dimension. More... | |
class | gsBSplineBasis |
A univariate B-spline basis. More... | |
class | gsBSplineSolver |
struct | gsBSplineTraits |
Traits for BSplineBasis in more dimensions. More... | |
class | gsBucklingSolver |
Performs linear buckling analysis given a matrix or functions of a matrix. More... | |
class | gsBulk |
Abstract base class representing a 4D bulk. More... | |
class | gsCauchyStressFunction |
Compute Cauchy stresses for a previously computed/defined displacement field. Can be pushed into gsPiecewiseFunction to construct gsField for visualization in Paraview. More... | |
class | gsCDRAssembler |
Implementation of an (multiple righ-hand side) Poisson solver. More... | |
class | gsCmdLine |
Class for command-line argument parsing. More... | |
class | gsCompositePrecOp |
This class represents the composition of preconditioners of type gsPreconditionerOp. More... | |
class | gsConjugateGradient |
The conjugate gradient method. More... | |
class | gsConstantBasis |
Class defining a dummy basis of constant functions. This is used for compatibility reasons. More... | |
class | gsConstantFunction |
Class defining a globally constant function. More... | |
class | gsContinuationBase |
Base class for simple continuation schemes. More... | |
class | gsControlDisplacement |
Simple class for displacement control given a static solver. More... | |
class | gsConvDiffRePde |
A convection-diffusion-reaction PDE, including source term on the right-hand side. More... | |
class | gsCoonsPatch |
Computes a Coons' patch parametrization given a set of boundary geometries. Parametrization is not guaranteed to be non-singular. Works for surface, volumes, or any dimension. More... | |
class | gsCPPInterface |
Provides a mapping between the corresponding sides of two patches sharing an interface, by means of a closest point projection. More... | |
class | gsCrossApPatch |
Computes a parametrization based on low rank cross approximation, given a set of boundary geometries. More... | |
class | gsCurvatureSmoothing |
Class for computing a closed B-spline curve with a smaller number of curvature extrema compared to a given closed B-spline curve. More... | |
class | gsCurve |
Abstract base class representing a curve. More... | |
class | gsCurveFitting |
Class for performing a least squares fit to get a open/closed B-Spline curve for some given data. More... | |
class | gsCurveLoop |
A closed loop given by a collection of curves. More... | |
class | gsDetFunction |
Compute jacobian determinant of the geometry mapping. Can be pushed into gsPiecewiseFunction to construct gsField for visualization in Paraview. More... | |
class | gsDofMapper |
Maintains a mapping from patch-local dofs to global dof indices and allows the elimination of individual dofs. More... | |
class | gsDomain |
Class representing a domain. i.e. a collection of elements (triangles, rectangles, cubes, simplices. More... | |
class | gsDomainIterator |
Class which enables iteration over all elements of a parameter domain. More... | |
class | gsDPatch |
Constructs the D-Patch, from which the transformation matrix can be called. More... | |
class | gsDPatchBase |
Constructs the D-Patch, from which the transformation matrix can be called. More... | |
class | gsDynamicBase |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicBathe |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicExplicitEuler |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicImplicitEuler |
Performs the arc length method to solve a nonlinear system of equations. More... | |
struct | gsDynamicLibrary |
Class defining a dynamic library. More... | |
class | gsDynamicNewmark |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicRK4 |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicWilson |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicXBraid |
Performs the arc length method to solve a nonlinear system of equations. More... | |
struct | gsEigenAdaptor |
Adaptor for Eigen types. More... | |
class | gsEigenProblemBase |
Base class for buckling and modal analyses. More... | |
class | gsElasticityAssembler |
Assembles the stiffness matrix and the right-hand side vector for linear and nonlinear elasticity for 2D plain stress and 3D continua. The matrix and vector have a block structure associated with components of the displacement vector, each block corresponding to one component. Supports mixed displacement-pressure formulation. More... | |
class | gsElementErrorPlotter |
This class provides a function that returns a constant error on each element. More... | |
class | gsElTimeIntegrator |
Time integation for equations of dynamic elasticity with implicit schemes. More... | |
class | gsEulerBernoulliBeamPde |
The differential equation describing the linear Euler-Bernoulli beam. More... | |
class | gsExprAssembler |
class | gsExprEvaluator |
Generic evaluator of isogeometric expressions. More... | |
class | gsExprHelper |
struct | gsFeSpaceData |
Struct containing information for matrix assembly. More... | |
class | gsField |
A scalar of vector field defined on a m_parametric geometry. More... | |
struct | gsFieldCreator |
Class that creates standard fields on a given parametric (multipatch) geometry. More... | |
class | gsFileData |
This class represents an XML data tree which can be read from or written to a (file) stream. More... | |
class | gsFileManager |
File-system related functionality. More... | |
class | gsFitting |
Class for performing a least squares fit of a parametrized point cloud with a gsGeometry. More... | |
class | gsFsiLoad |
Loading function to transfer fluid action to the solid. Used in Fluid-Structure Interaction simulation. Different parametrizations can be used for the geometry+ALE and velocity+pressure. More... | |
class | gsFuncCoordinate |
Represents a certain component of a vector-valued function. More... | |
class | gsFunction |
A function \(f:\mathbb{R}^n\rightarrow\mathbb{R}^m\) from a n-dimensional domain to an m-dimensional image. More... | |
class | gsFunctionAdaptor |
Adaptor to see a given gsFunction as (the objective of) an unconstrained optimization problem. More... | |
class | gsFunctionExpr |
Class defining a multivariate (real or vector) function given by a string mathematical expression. More... | |
class | gsFunctionSet |
Interface for the set of functions defined on a domain (the total number of functions in the set equals to \(S\) ) More... | |
class | gsGaussRule |
Class that represents the (tensor) Gauss-Legendre quadrature rule. More... | |
class | gsGaussSeidelOp |
Gauss-Seidel preconditioner. More... | |
class | gsGenericAssembler |
Assembles mass and stiffness matrices and right-hand sides on a given domain. More... | |
class | gsGenericStopwatch |
A Stopwatch object can be used to measure execution time of code, algorithms, etc. More... | |
class | gsGenericTensorBasis |
Class for a quasi-tensor B-spline basis. More... | |
class | gsGeometry |
Abstract base class representing a geometry map. More... | |
class | gsGeometrySlice |
gsGeometrySlice is a class representing an iso parametric slice of a geometry object. It stores a pointer to the geometry object, which is only valid as long as this object is alive. Methods for printing to paraview are available in gsWriteToParaview.h More... | |
class | gsGeometryTransform |
Representation of a transformed geometry. More... | |
class | gsGMRes |
The generalized minimal residual (GMRES) method. More... | |
class | gsGradientDescent |
This class describes the gradient descent method. More... | |
class | gsGradientField |
Generates a field with value being the gradient of an isogeometric function. More... | |
class | gsGradientMethod |
The gradient method. More... | |
class | gsGridHierarchy |
Grid Hierarchy. More... | |
class | gsGridIterator< T, CWISE, d, false > |
Iterator over a Cartesian product of points, which is given by coordinate-wise point sets. More... | |
class | gsGridIterator< T, mode, d, false > |
Iterator over a Cartesian product of uniformly distributed numeric points inside a (hyper-)cube. More... | |
class | gsGridIterator< Z, mode, d, true > |
Iterator over the Cartesian product of integer points in a tensor-product grid. More... | |
class | gsHalfEdgeMesh |
gsHalfEdgeMesh is a gsMesh implementation that handles Halfedges More... | |
class | gsHBox |
This class provides a Hierarchical Box (gsHBox) More... | |
class | gsHBoxCheck |
Base class for performing checks on gsHBox objects. More... | |
class | gsHBoxContainer |
The Hierarchical Box Container provides a container for gsHBox objects. More... | |
struct | gsHBoxUtils |
The gsHBoxUtils provide basic utilities to modify HBoxes. More... | |
class | gsHBSpline |
A hierarchical B-Spline function, in d dimensions. More... | |
class | gsHBSplineBasis |
A hierarchical B-spline basis of parametric dimension d. More... | |
class | gsHDomain |
Class with a hierarchical domain structure represented by a box k-d-tree. More... | |
class | gsHDomainBoundaryIterator |
Re-implements gsDomainIterator for iteration over all boundary elements of a hierarchical parameter domain. More... | |
class | gsHDomainIterator |
Re-implements gsDomainIterator for iteration over all boundary elements of a hierarchical parameter domain. More... | |
class | gsHDomainLeafIter |
Iterates over the leaves of an gsHDomain (tree). More... | |
class | gsHDomainSliceIter |
Iterates over the leaves of an gsHDomain (tree) that intersect with a slice position. More... | |
class | gsHeatEquation |
Constructs the assembler for the discretized isogeometric heat equation. More... | |
class | gsHFitting |
This class applies hierarchical fitting of parametrized point clouds. More... | |
class | gsHTensorBasis |
Class representing a (scalar) hierarchical tensor basis of functions \( \mathbb R^d \to \mathbb R \). More... | |
class | gsIdentityOp |
Identity operator. More... | |
class | gsIetiMapper |
Ieti Mapper. More... | |
class | gsIetiSystem |
This class represents a IETI system. More... | |
class | gsIncompleteLUOp |
Incomplete LU with thresholding preconditioner. More... | |
class | gsIpOpt |
Class defining an optimization problem. More... | |
class | gsIterative |
A general iterative solver for nonlinear problems. An equation to solve is specified by an assembler class which provides the following interfaces: More... | |
class | gsIterativeSolver |
Abstract class for iterative solvers. More... | |
class | gsIterativeSolverOp |
This wrapper class allows gsIterativeSolver to be used as gsLinearOperator. More... | |
class | gsJacDetField |
Generates a field with value the Jacobian determinant of a geometry. More... | |
class | gsJacobiOp |
Jacobi preconditioner. More... | |
class | gsJITCompiler |
Class defining a just-in-time compiler. More... | |
struct | gsJITCompilerConfig |
Struct definig a compiler configuration. More... | |
struct | gsJITLang |
Supported languages. More... | |
struct | gsKdNode |
Struct representing a kd-tree node. More... | |
class | gsKDTree |
An interface representing a kd-tree in some number of dimensions. More... | |
class | gsKnotVector |
Class for representing a knot vector. More... | |
class | gsKroneckerOp |
Class for representing a Kronecker product of operators of type gsLinearOperator. More... | |
struct | gsL2Projection |
Class that performs an L2 projection. More... | |
class | gsLagrangeBasis |
A univariate Lagrange basis. More... | |
class | gsLagrangePoly |
The geometry class of a Lagrange Polyomial curve. More... | |
class | gsLanczosMatrix |
Class for representing a Lanczos matrix and calculating its eigenvalues. More... | |
class | gsLaplacePde |
The Laplace equation. More... | |
class | gsLargerErrCompare |
Checks if the error of a gsHBox is larger than a threshold. More... | |
class | gsLegendreBasis |
A univariate Legendre basis. More... | |
class | gsLinearLambdaOp |
Wrapper that allows to use lambdas as a gsLinearOperator. More... | |
class | gsLinearOperator |
Simple abstract class for discrete operators. More... | |
class | gsLineSegment |
Represents a line segment in d dimensions. More... | |
class | gsLobattoRule |
Class that represents the (tensor) Gauss-Lobatto quadrature rule. More... | |
class | gsMapData |
the gsMapData is a cache of pre-computed function (map) values. More... | |
class | gsMappedSingleBasis |
Class gsMappedSingleBasis represents an indivisual .....of a. More... | |
class | gsMappedSingleSpline |
Class gsMappedSingleSpline represents an individual .....of a. More... | |
class | gsMassAssembler |
Assembles the mass matrix and right-hand side vector for linear and nonlinear elasticity for 2D plain stress and 3D continua. The matrix has a block structure associated with components of the displacement vector, each block corresponding to one component. Supports mixed displacement-pressure formulation. More... | |
class | gsMaterialMatrixBase |
This class defines the base class for material matrices. More... | |
class | gsMaterialMatrixBaseDim |
This class defines the base class for material matrices. More... | |
class | gsMaterialMatrixComposite |
This class defines a linear material laminate. More... | |
class | gsMaterialMatrixContainer |
This class serves as the evaluator of material matrices, based on gsMaterialMatrixBase. More... | |
class | gsMaterialMatrixEvalSingle |
This class serves as the evaluator of material matrices, based on gsMaterialMatrixBase. More... | |
class | gsMaterialMatrixIntegrateSingle |
This class serves as the integrator of material matrices, based on gsMaterialMatrixBase. More... | |
class | gsMaterialMatrixLinear |
This class defines a linear material. More... | |
class | gsMaterialMatrixNonlinear |
This class defines hyperelastic material matrices. More... | |
class | gsMaterialMatrixTFT |
This class defines a linear material. More... | |
class | gsMatrix |
A matrix with arbitrary coefficient type and fixed or dynamic size. More... | |
class | gsMatrixBlockView |
Represents a block-view of the given matrix. More... | |
class | gsMatrixOp |
Simple adapter class to use a matrix (or matrix-like object) as a linear operator. Needed for the iterative method classes. More... | |
class | gsMaxLvlCompare |
Checks if the level of a gsHBox is smaller than a maximum level. More... | |
class | gsMesh |
Class Representing a triangle mesh with 3D vertices. More... | |
class | gsMinimalResidual |
The minimal residual (MinRes) method. More... | |
class | gsMinLvlCompare |
Checks if the level of a gsHBox is bigger than a minimum level. More... | |
class | gsMinResQLP |
The minimal residual (MinRes-QLP) method. More... | |
class | gsModalSolver |
Performs linear modal analysis given a matrix or functions of a matrix. More... | |
class | gsMonomialBasis |
An univariate monomial polynomial basis. If the degree is p the basis is given by: [ 1, x, x^2, ..., x^p ] The basis functions are numbered, starting from zero, as stated above. More... | |
class | gsMPBESBasis |
Purely abstract class gsMappedBasis, which gives means of combining basis functions to new, global ones. More... | |
class | gsMPBESBSplineBasis |
A univariate Lagrange basis. More... | |
class | gsMPBESHSplineBasis |
A univariate Lagrange basis. More... | |
class | gsMPBESMapB2D |
A univariate Lagrange basis. More... | |
class | gsMPBESMapHB2D |
A univariate Lagrange basis. More... | |
class | gsMPBESMapTensor |
A univariate Lagrange basis. More... | |
class | gsMultiBasis |
Holds a set of patch-wise bases and their topology information. More... | |
class | gsMultiGridOp |
Multigrid preconditioner. More... | |
class | gsMultiPatch |
Container class for a set of geometry patches and their topology, that is, the interface connections and outer boundary faces. More... | |
class | gsMuscleAssembler |
Assembler for incompressible nonlinear elasticity problem with a muscle material model. The material model is based on the paper by M.H.Gfrerer and B.Simeon "Fiber-based modeling and simulation of skeletal muscles". More... | |
class | gsMvLegendreBasis |
A multivariate Legendre basis. More... | |
class | gsNewtonCotesRule |
Class that represents the (tensor) Newton-Cotes quadrature rule. More... | |
class | gsNewtonIterator |
Performs Newton iterations to solve a nonlinear system of PDEs. More... | |
class | gsNormalField |
Generates the normal field of a geometry. More... | |
class | gsNsAssembler |
TODO: write. More... | |
class | gsNsTimeIntegrator |
Time integation for incompressible Navier-Stokes equations. More... | |
class | gsNurbs |
A NURBS function of one argument, with arbitrary target dimension. More... | |
class | gsNurbsBasis |
A univariate NURBS basis. More... | |
struct | gsNurbsCreator |
Class gsNurbsCreator provides some simple examples of Nurbs Geometries. More... | |
class | gsOptim |
Base class for the Optim wrapper. More... | |
class | gsOptimBFGS |
Binding to Optim's BFGS solver. More... | |
class | gsOptimCG |
Binding to Optim's CG solver. More... | |
class | gsOptimDE |
Binding to Optim's DE solver. More... | |
class | gsOptimDEPRMM |
Binding to Optim's DEPRMM solver. More... | |
class | gsOptimGD |
Binding to Optim's GD solver. More... | |
class | gsOptimizer |
Class defining an optimizer. More... | |
class | gsOptimLBFGS |
Binding to Optim's LBFGS solver. More... | |
class | gsOptimNM |
Binding to Optim's NM solver. More... | |
class | gsOptimPSO |
Binding to Optim's PSO solver. More... | |
class | gsOptimPSODV |
Binding to Optim's PSODV solver. More... | |
class | gsOptimSUMT |
Binding to Optim's SUMT solver. More... | |
struct | gsOptimWrapper |
Wraps the objective of an optimization problem to a function accepted by Optim. More... | |
struct | gsOptimWrapperConstraint |
Wraps the constraint of an optimization problem to a function accepted by Optim. More... | |
class | gsOptionList |
Class which holds a list of parameters/options, and provides easy access to them. More... | |
class | gsOptProblem |
Class defining an optimization problem. More... | |
class | gsOptProblemStatic |
[OptProblemExample Class] More... | |
class | gsOverIntegrateRule |
Class that defines a mixed quadrature rule with different rules for the interior and the boundaries. More... | |
class | gsOverlapCompare |
Checks if the coarsening neighborhood of a box is empty and if it overlaps with a refinement mask. More... | |
struct | gsPanelCreator |
Class gsPanelCreator provides some simple examples of Nurbs Geometries. More... | |
class | gsParametrization |
Class that maintains parametrization This class Parametrization stores the mesh information and the two-dimensional parameter points. The parameter points are stored in a vector, where the i-th vector element is the parameter point for the vertex with index i. This means that the first n elements in the vector are the inner parameter points, the rest of them are the boundary parameter points. More... | |
class | gsParamField |
Generates a field that attaches the parameter values on each physical point. More... | |
class | gsParaviewCollection |
This class is used to create a Paraview .pvd (collection) file. More... | |
class | gsParaviewDataSet |
This class represents a group of vtk (Paraview) files that refer to one multiPatch, for one timestep. More... | |
class | gsPatchGenerator |
Abstract class that accepts a set of input boundaries and computes a new geometry. More... | |
class | gsPatchIdField |
Generates a field that indicates the boundary sides on the geometry. More... | |
class | gsPatchPreconditionersCreator |
Provides robust preconditioners for single patch geometries. More... | |
class | gsPatchRule |
Class that represents the (tensor) patch quadrature rule. More... | |
class | gsPatchwiseFunction |
A function depending on an index i, typically referring to a patch/sub-domain. More... | |
class | gsPde |
Abstract class representing a PDE (partial differential equation). More... | |
class | gsPeriodicOverlap |
class | gsPeriodicStitch |
class | gsPiecewiseFunction |
A function depending on an index i, typically referring to a patch/sub-domain. On each patch a different gsFunction object is used. More... | |
class | gsPlanarDomain |
Class representing a Planar domain with an outer boundary and a number of holes. More... | |
class | gsPoint |
A Point in T^d, with an index number. More... | |
class | gsPointLoads |
Class containing a set of points on a multi-patch isogeometric domain, together with boundary conditions. More... | |
class | gsPoissonAssembler |
Implementation of an (multiple right-hand side) Poisson assembler. More... | |
class | gsPoissonPde |
A Poisson PDE. More... | |
class | gsPreCICEFunction |
Class defining a gsFunction that reads from the precice::SolverInterface. More... | |
class | gsPreconditionerFromOp |
Simple class allowing to construct a preconditioner from a linear operator. More... | |
class | gsPreconditionerOp |
Simple abstract class for perconditioners. More... | |
class | gsPrimalSystem |
This class represents the primal system for a IETI-DP algorithm. More... | |
class | gsProductOp |
Class for representing the product of objects of type gsLinearOperator as gsLinearOperator. More... | |
class | gsProgressBar |
Simple progress bar class. More... | |
struct | gsQuadrature |
Helper class for obtaining a quadrature rule. More... | |
class | gsQuadRule |
Class representing a reference quadrature rule. More... | |
struct | gsQuasiInterpolate |
Quasi-interpolation operators. More... | |
class | gsRationalBasis |
Class that creates a rational counterpart for a given basis. More... | |
class | gsReadFile |
Reads an object from a data file, if such the requested object exists in the file. More... | |
class | gsRemapInterface |
Provides a mapping between the corresponding sides of two patches sharing an interface. More... | |
class | gsRichardsonOp |
Richardson preconditioner. More... | |
class | gsScaledDirichletPrec |
This class represents the scaled Dirichlet preconditioner for a IETI problem. More... | |
class | gsScaledOp |
Allows an operator to be multiplied with a scalar. More... | |
class | gsSerialComm |
A serial communication class. More... | |
class | gsSerialGroup |
A sequential communicator group class. More... | |
class | gsSerialRequest |
A sequential communicator request class. More... | |
class | gsSerialStatus |
A sequential communicator status class. More... | |
class | gsShellStressFunction |
Compute Cauchy stresses for a previously computed/defined displacement field. Can be pushed into gsPiecewiseFunction to construct gsField for visualization in Paraview. More... | |
class | gsSmallerErrCompare |
Checks if the error of a gsHBox is smaller than a threshold. More... | |
class | gsSmoothInterfaces |
Constructs the D-Patch, from which the transformation matrix can be called. More... | |
class | gsSolid |
Class for representing a solid made up of vertices, edges, faces, and volumes. More... | |
class | gsSolverOp |
Simple adapter class to use an Eigen solver (having a compute() and a solve() method) as a linear operator. More... | |
class | gsSolverUtils |
Utility class for PDE's solver related utils. More... | |
class | gsSortedVector |
This class is derived from std::vector, and adds sort tracking. More... | |
class | gsSparseEntries |
Class that provides a container for triplets (i,j,value) to be filled in a sparse matrix. More... | |
class | gsSparseMatrix |
Sparse matrix class, based on gsEigen::SparseMatrix. More... | |
class | gsSparseMatrixIter |
Iterator over the non-zero entries of a sparse matrix. More... | |
class | gsSparseRows |
A specialized sparse matrix class which stores each row as a separate sparse vector. More... | |
class | gsSparseSolver |
Abstract class for solvers. The solver interface is base on 3 methods: -compute set the system matrix (possibly compute the factorization or preconditioners) -solve solves for a given right hand side -succeed returns true if solving succeded according to solver dependent criteria (usually tolerance based) So in order to solve \( A x = b \) with a solver s two functions must be called: s.compute(A) and s.solve(b). The calls can be chained as in s.compute(A).solve(b). More... | |
class | gsSparseSystem |
A sparse linear system indexed by sets of degrees of freedom. More... | |
class | gsSparseVector |
Sparse vector class, based on gsEigen::SparseVector. More... | |
class | gsSpectraGenSymShiftSolver |
class | gsSpectraGenSymSolver |
class | gsSpectraSolver |
Eigenvalue solver for general real matrices. More... | |
class | gsSpectraSymShiftSolver |
Shifted Eigenvalue solver for real symmetric matrices. More... | |
class | gsSpectraSymSolver |
Eigenvalue solver for real symmetric matrices. More... | |
class | gsSpringPatch |
Computes a parametrization based on the spring patch technique, given a set of boundary geometries. More... | |
class | gsSquaredDistance |
Squared distance function from a fixed point to a gsGeometry. More... | |
class | gsStaticBase |
Base class for static solvers. More... | |
class | gsStaticComposite |
Static solver using a newton method. More... | |
class | gsStaticDR |
Static solver using the Dynamic Relaxation method. More... | |
class | gsStaticNewton |
Static solver using a newton method. More... | |
class | gsStaticOpt |
Static solver using the Dynamic Relaxation method. More... | |
class | gsStdVectorRef |
Simple wrapper class for a vector of objects. More... | |
class | gsStokesPde |
A stationary Stokes PDE. More... | |
struct | gsStructuralAnalysisOps |
Operators for the gsStructuralAnalysis module. More... | |
class | gsSumOp |
Class for representing the sum of objects of type gsLinearOperator as gsLinearOperator. More... | |
class | gsSurface |
Abstract base class representing a surface. More... | |
class | gsSurfMesh |
A halfedge data structure for polygonal meshes. More... | |
class | gsTemplate |
Class gsTemplate object. More... | |
class | gsTensorBasis |
Abstract base class for tensor product bases. More... | |
class | gsTensorBSpline |
A tensor product of d B-spline functions, with arbitrary target dimension. More... | |
class | gsTensorBSplineBasis |
A tensor product B-spline basis. More... | |
class | gsTensorBSplineBasis< 1, T > |
A univariate B-spline basis. More... | |
class | gsTensorDomainBoundaryIterator |
Re-implements gsDomainIterator for iteration over all elements of the boundary of a tensor product parameter domain. See gsDomainIterator for more detailed documentation and an example of the typical use!!! More... | |
class | gsTensorDomainIterator |
Re-implements gsDomainIterator for iteration over all elements of a tensor product parameter domain. See gsDomainIterator for more detailed documentation and an example of the typical use!!! More... | |
class | gsTensorNurbs |
A tensor product Non-Uniform Rational B-spline function (NURBS) of parametric dimension d, with arbitrary target dimension. More... | |
class | gsTensorNurbsBasis |
A tensor product Non-Uniform Rational B-spline (NURBS) basis. More... | |
class | gsTHBSpline |
A truncated hierarchical B-Spline function, in d dimensions. More... | |
class | gsTHBSplineBasis |
Truncated hierarchical B-spline basis. More... | |
class | gsThermoAssembler |
Assembles stiffness and mass matrices and right-hand side vector for linear and nonlinear elasticity for 2D plain stress and 3D continua. Matrices and vector have a block structure associated with components of the displacement vector, each block corresponding to one component. More... | |
class | gsThinShellAssembler |
Assembles the system matrix and vectors for 2D and 3D shell problems, including geometric nonlinearities and loading nonlinearities. The material nonlinearities are handled by the gsMaterialMatrixIntegrate class. More... | |
class | gsThinShellAssemblerBase |
Base class for the gsThinShellAssembler. More... | |
class | gsThinShellAssemblerDWRBase |
Base class for the gsThinShellAssembler. More... | |
class | gsTriMeshToSolid |
Class gsTriMeshToSolid object. More... | |
class | gsTrimSurface |
Class for a trim surface. More... | |
class | gsVector |
A vector with arbitrary coefficient type and fixed or dynamic size. More... | |
class | gsVector3d |
A fixed-size, statically allocated 3D vector. More... | |
class | gsVertex |
gsVertex class that represents a 3D vertex for a gsMesh. More... | |
class | gsVisitorBiharmonic |
Visitor for the biharmonic equation. More... | |
class | gsVisitorCDR |
Visitor for the convection-diffusion-reaction equation. More... | |
class | gsVisitorDg |
Visitor for adding the interface conditions for the interior penalty methods of the Poisson problem. More... | |
class | gsVisitorGradGrad |
The visitor computes element grad-grad integrals. More... | |
class | gsVisitorMass |
The visitor computes element mass integrals. More... | |
class | gsVisitorMoments |
Visitor for the moment vector of a function. More... | |
class | gsVisitorNeumann |
Implementation of a Neumann BC for elliptic assemblers. More... | |
class | gsVisitorNeumannBiharmonic |
Visitor for Neumann boundary condition for the biharmonic equation. More... | |
class | gsVisitorNitsche |
Visitor for adding the terms associated to weak (Nitsche-type) imposition of the Dirichlet boundary conditions. More... | |
class | gsVisitorNitscheBiharmonic |
Visitor for the weak imposition of the first-type dirichlet boundary condition. More... | |
class | gsVisitorPoisson |
Visitor for the Poisson equation. More... | |
class | gsVolume |
Provides declaration of Volume abstract interface. More... | |
class | gsVSegment |
Class for representing a vertical line segment in 2D. Helper for the class gsAAPolyline. More... | |
class | gsXBraid |
Class defining the XBraid wrapper. More... | |
class | gsXBraid< gsMatrix< T > > |
Specializations for gsXBraid<gsMatrix<T>> More... | |
class | gsXBraid< gsVector< T > > |
Specializations for gsXBraid<gsVector<T>> More... | |
class | gsXBraidAccessStatus |
Class defining the XBraid access status wrapper. More... | |
class | gsXBraidBufferStatus |
Class defining the XBraid buffer status wrapper. More... | |
class | gsXBraidCoarsenRefStatus |
Class defining the XBraid coarsen and refinement status wrapper. More... | |
struct | gsXBraidMultigrid |
The p-multigrid class implements a generic p-multigrid solver that can be customized by passing assembler and coarse solver as template arguments. More... | |
struct | gsXBraidMultigridBase |
The p-multigrid base class provides the basic methods (smoothing, prolongation, restriction) for implementing p-multigrid methods. More... | |
class | gsXBraidObjectiveStatus |
Class defining the XBraid step objective wrapper. More... | |
class | gsXBraidStepStatus |
Class defining the XBraid step status wrapper. More... | |
class | gsXBraidSyncStatus |
Class defining the XBraid sync status wrapper. More... | |
struct | iteration_type |
Specifies iteration type for an iterative solver More... | |
struct | linear_solver |
Specifies linear solver to use if it is hidden within some other class (like Newton's method or time integrators) More... | |
struct | material_law |
Specifies the material law to use. More... | |
struct | MPITraits |
A traits class describing the mapping of types onto MPI_Datatypes. More... | |
struct | MPITraits< gsMatrix< T, _Rows, _Cols, _Options > > |
Specialization for fixed-size gsMatrix class. More... | |
struct | MPITraits< gsVector< T, _Rows, _Options > > |
Specialization for fixed-size gsVector class. More... | |
struct | ns_assembly |
Specifies the iteration type used to solve nonlinear systems. More... | |
struct | patchComponent |
Struct which represents a certain component (interior, face, egde, corner) of a particular patch. More... | |
struct | patchCorner |
Struct which represents a certain corner of a patch. More... | |
struct | patchSide |
Struct which represents a certain side of a patch. More... | |
struct | point_load |
Struct defining a point together with a scalar or vector load. More... | |
class | preAAParam |
struct | shell_coupling |
Defines the coupling type over interfaces. More... | |
struct | solver_verbosity |
Specifies the verbosity of the iterative solver. More... | |
class | SpectraOps |
class | SpectraOps< MatrixType, Spectra::GEigsMode::RegularInverse > |
class | SpectraShiftOps |
class | SpectraShiftOps< MatrixType, Spectra::GEigsMode::Buckling > |
struct | stabilizerCDR |
Stabililzer for the CDR discretization. More... | |
struct | stress_components |
method was interrupted because the current solution is invalid More... | |
struct | stress_type |
Specifies the type of stresses to compute. More... | |
class | submoduleClass |
I am an example how to use the class in submodules. More... | |
class | submoduleClass2 |
I am an example how to use the class in submodules. More... | |
struct | time_integration |
Specifies the time integration scheme, see Wriggers, Nonlinear FEM, p. 205. More... | |
Typedefs | |
typedef Point | Color |
Color type. | |
typedef gsGenericStopwatch < CPUClock > | gsCPUStopwatch |
A stop-watch measuring CPU time. | |
typedef gsEigen::PermutationMatrix < Dynamic, Dynamic, index_t > | gsPermutationMatrix |
reorderMapperTarget permutes the target indices of mapper according to permutation. If permutation does not contain all indices then the order of the remaining indices is preserved and the specified indices are appended to the end. More... | |
typedef gsGenericStopwatch < WallClock > | gsStopwatch |
A stop-watch measuring real (wall) time. | |
typedef Point | Normal |
Normal type. | |
typedef Point | Texture_coordinate |
Texture coordinate type. | |
Enumerations | |
enum | gsGridIteratorMode { CUBE, BDR, VERTEX, CWISE } |
Specifies aliases describing the modes for gismo::gsGridIterator. More... | |
enum | gsHNeighborhood |
The gsHNeighborhood is a struct that classifies the type of admissible refinement. | |
enum | gsNeedEnum { NEED_VALUE, NEED_DERIV , NEED_JACOBIAN, NEED_MEASURE, NEED_GRAD_TRANSFORM, NEED_DIV, NEED_CURL, NEED_DERIV2 , NEED_HESSIAN, NEED_LAPLACIAN, NEED_ACTIVE, NEED_NORMAL, NEED_OUTER_NORMAL, NEED_2ND_FFORM, SAME_ELEMENT } |
Enumeration flags which define the needs of an evaluation object. More... | |
enum | gsStatus { Success, NotConverged, AssemblyError, SolverError, NotStarted, OtherError } |
enum | Implementation : short_t |
This class describes the way material models are implemented. More... | |
enum | Material : short_t |
This class describes a material model. | |
enum | MaterialOutput : short_t |
This class describes the output type. More... | |
enum | MatIntegration : short_t |
This class describes if an object is integrated through-thickness or not. More... | |
enum | solver_status { , interrupted, working, bad_solution } |
Specifies the status of the iterative solver. More... | |
enum | ThinShellAssemblerStatus { Success, AssemblyError, DimensionError } |
Functions | |
template<class T > | |
void | addConstraints (gsMatrix< T > const &C1, gsMatrix< T > const &d1, gsMatrix< T > const &C2, gsMatrix< T > const &d2, gsMatrix< T > &C, gsMatrix< T > &d) |
addConstraints | |
template<typename obj > | |
std::vector< obj * > | asVectorPtr (const std::vector< obj > &matv) |
Constructs a vector of pointers from a vector of objects. | |
template<typename Z > | |
Z | binomial (const Z n, const Z r) |
Computes the binomial expansion coefficient binomial(n,r) More... | |
template<unsigned n, unsigned r> | |
unsigned | binomial () |
Returns binomial(n,r) as a compile time constant. More... | |
void | binomial_into (unsigned n, gsVector< unsigned > &v) |
Returns a vector containing all the binomials (n,r) with n fixed. More... | |
template<typename T > | |
gsMatrix< T > | CalcIntervals (const gsMonomialPoly< T > &poly, T eps, gsMatrix< T > rootIntervals) |
template<typename Base , typename Derived > | |
std::vector< Base * > | castVectorPtr (std::vector< Derived * > pVec) |
Casts a vector of pointers. | |
template<typename T > | |
T | CauchyBound (gsMonomialPoly< T > &poly) |
returns the Cauchy Bound of a Polynomial, which is 1+max(abs(a_i/a_n)) | |
template<class T > | |
index_t | checkDisplacement (gsMultiPatch< T > const &domain, gsMultiPatch< T > const &displacement) |
Checks whether the deformed configuration is bijective, i.e. det(Jac(geo+disp)) > 0; returns -1 if yes or the number of the first invalid patch; samples the Jacobian elementwise at the quadrature points and the corners. | |
template<class T > | |
index_t | checkGeometry (gsMultiPatch< T > const &domain) |
Checks whether configuration is bijective, i.e. det(Jac(geo)) > 0; returns -1 if yes or the number of the first invalid patch; samples the Jacobian elementwise at the quadrature points and the corners. | |
template<typename Derived , typename Base > | |
bool | checkVectorPtrCast (std::vector< Base * > pVec) |
Returns true if all instances of Base cast to Derived. | |
template<typename It , typename ItOut > | |
void | cloneAll (It start, It end, ItOut out) |
Clones all pointers in the range [start end) and stores new raw pointers in iterator out. | |
template<typename ContIn , typename ContOut > | |
void | cloneAll (const ContIn &in, ContOut &out) |
Clones all pointers in the container in and stores them as raw pointers in container out. | |
template<class T > | |
T | combine (T a, T b, T x) |
compute a convex combintation (1-x)a+xb | |
template<class T > | |
gsMatrix< T > | combine (gsMatrix< T > const &A, gsMatrix< T > const &B, T x, index_t iA=0, index_t iB=0, bool cols=false) |
compute a convex combination of two points given as ROWS of matrices numbered <iA> and <iB>; set <cols> to <true> to give points as COLUMNS | |
template<class T > | |
gsWeightMapper< T > * | combineMappers (const std::vector< gsWeightMapper< T > * > &mappers, std::vector< index_t > &shifts, bool needShifting=true) |
combineMappers Given a set of mappers it creates a new mapper that combines all. It can be used to construct a global mapper for the cartesian product of spaces or to map both unknown and test space. More... | |
template<class T > | |
T | conditionedAngle (gsVector3d< T > vec1, gsVector3d< T > vec2) |
Angle between two vector: 0 <= angle <= pi. | |
template<class T > | |
T | conditionedAngle (gsVector3d< T > vec1, gsVector3d< T > vec2, gsVector3d< T > normal) |
template<short_t d, class T > | |
void | constructCoefsForSlice (index_t dir_fixed, const index_t index, const gsMatrix< T > &fullCoefs, const gsVector< index_t, d > &sizes, gsMatrix< T > &result) |
template<class T > | |
gsMatrix< T > | convert2Zero (gsMatrix< T > const &mat) |
convert a with abs(a) < eps=2.220446049250313e-16 into 0 | |
template<typename T = real_t> | |
void | convertFreeVectorToMultiPatch (const gsVector< T > &gsFreeVec, const gsDofMapper &mapper, gsMultiPatch< T > &mp) |
Convert free control points from a vector into a multi-patch. | |
template<typename T = real_t> | |
gsVector< T > | convertMultiPatchToFreeVector (const gsMultiPatch< T > &mp, const gsDofMapper &mapper) |
Computes a patch parametrization given a set of boundary geometries. Parametrization is not guaranteed to be non-singular. Works for planar surfaces and volumes. More... | |
template<class T , class U > | |
void | copy_n (T begin, const size_t n, U *result) |
Small wrapper for std::copy mimicking memcpy (or std::copy_n) for a raw pointer destination, copies n positions starting from begin into result. The latter is expected to have been allocated in advance. | |
template<class T > | |
gsVector< T > | criticalPointOfQuadratic (gsMatrix< T > &A, gsMatrix< T > &C, gsVector< T > &d) |
template<class T > | |
gsMatrix< T > | criticalPointOfQuadratic (gsMatrix< T > const &A, gsMatrix< T > const &b, gsMatrix< T > const &C, gsMatrix< T > const &d) |
template<class T > | |
gsMatrix< T > | criticalPointOfQuadratic (gsMatrix< T > const &A, gsMatrix< T > const &C, gsMatrix< T > const &d) |
template<class T > | |
gsMatrix< T > | crossNorm2Mat (gsMatrix< T > const &mat1, gsMatrix< T > const &mat2) |
template<typename Z , int d> | |
void | cubeIsometry (const gsVector< bool, d > &flip, const gsVector< index_t, d > &perm, gsVector< Z > &result) |
Computes the isometry of the unit d-cube implied by a permutation perm of the cube directions plus a relocation flip of the cube vertices. More... | |
template<int d> | |
void | cubeIsometryMatrix (const gsVector< bool, d > &flip, const gsVector< index_t, d > &perm, gsMatrix< int, d, d > &result) |
Computes the rotation matrix implied by a permutation perm of the cube directions plus a relocation flip. More... | |
template<class T > | |
T | curveDistance (gsGeometry< T > const &curveA, gsGeometry< T > const &curveB, index_t numSamples=1000) |
returns a distance in L2 sense between two curves parametrized from 0 to 1 | |
template<class T > | |
T | curveLength (const gsGeometry< T > &geo) |
compute curve length | |
template<class Vec > | |
index_t | dimCubeElement (const Vec &cur) |
Returns the dimension of an element (face) of the d-cube [0,1]^d. The element is expected to contain 0,1 (corresponding to cube extrema) and the special value 2 at the position of "free" coordinates. | |
GISMO_DEPRECATED index_t | direction (index_t s) |
Returns the parametric direction that corresponds to side s. More... | |
template<class T > | |
T | displacementJacRatio (gsMultiPatch< T > const &domain, gsMultiPatch< T > const &displacement) |
Returns min(Jacobian determinant) divided by max(Jacobian determinant) for geo+disp samples the Jacobian elementwise at the quadrature points and the corners. | |
template<class T > | |
T | distance (gsMatrix< T > const &A, gsMatrix< T > const &B, index_t i=0, index_t j=0, bool cols=false) |
compute a distance between the point number in the set and the point number <j> in the set ; by default, points are given as ROWS of matrices; set <cols> to <true> to give points as COLUMNS | |
template<class T > | |
gsVector< unsigned > | distributePoints (const gsGeometry< T > &geo, unsigned numPoints) |
distributes sampling points according to the length of the patch in each parametric direction | |
unsigned | factorial (unsigned n) |
Returns the factorial of n i.e. n! Remember that factorial grow too fast and only n! with n<=13 can be stored in a 32bit that is an unsigned. | |
template<typename T > | |
unsigned | findHyperPlaneIntersections (const gsBSpline< T > &curve, const gsVector< T > &normal, T reference, T tolerance, std::vector< Root< T > > &roots) |
find intersections of a BSpline curve with an hyperplane More... | |
template<typename T > | |
gsMatrix< T > | FindRootIntervals (gsMonomialPoly< T > &poly, T eps) |
template<class Vec > | |
void | firstCombination (const unsigned n, const unsigned r, Vec &res) |
Computes the first r-combination of {0,..,n-1}. | |
template<class Vec > | |
void | firstComposition (typename Vec::Scalar sum, index_t dim, Vec &res) |
Construct first composition of sum into dim integers. | |
template<class Vec > | |
void | firstCubeElement (Vec &cur, const index_t k=0) |
Updates cur to contain the lexicographically first element (face) of the cube [0,1]^d of dimension k. For k==d the face (2..2) is returned, corresponding to the cube itself. | |
template<class Vec , class Mat > | |
void | firstMultiComposition (const Vec &a, index_t k, Mat &res) |
Constructs first multi-composition of a = (a_1,..,a_d) into k integers. | |
template<class Vec > | |
void | firstPermutation (Vec ¤t) |
changes current to the first permutation of 0 ... size(current)-1 note that you must resize the vector to specify the number of elements | |
template<class T > | |
gsGeometry< T >::uPtr | fittingDirichlet (gsMatrix< T > const ¶ms, gsMatrix< T > const &points, gsBasis< T > const &basis) |
fits a given parametrized point cloud with a curve using a given basis; the resulting curve interpolates the first and the last points | |
template<class T > | |
gsMatrix< T > | flipLR (const gsMatrix< T > &mat) |
Flip columes from left to right and vice versa. | |
template<typename T , int d> | |
void | flipTensorVector (const int dir, const gsVector< index_t, d > &sz, gsMatrix< T > &coefs) |
Flips tensor directions in place. | |
template<typename It > | |
void | freeAll (It begin, It end) |
Frees all pointers in the range [begin end) | |
template<typename Cont > | |
void | freeAll (Cont &cont) |
Frees all pointers in the container Cont. | |
template<int d> | |
int | fromTensorIndex (const gsVector< unsigned, d > &idx, const gsVector< unsigned, d > &sz) |
Helper function to compute a lexicographically numbered index from tensor indices. | |
template<class T > | |
gsGeometry< T >::uPtr | genCircle (index_t deg, index_t num, T radius=1., T x0=0., T y0=0., T angle0=0., T arcAngle=2 *EIGEN_PI) |
template<class T > | |
gsGeometry< T >::uPtr | genCircle (gsBasis< T > &basis, T radius=1., T x0=0., T y0=0., T angle0=0., T arcAngle=2 *EIGEN_PI) |
template<class T > | |
gsGeometry< T >::uPtr | genCylinder (gsGeometry< T > const &base, index_t deg, index_t num, T height) |
generates a 3D tensor product B-spline cylindrical patch | |
template<class T > | |
gsGeometry< T >::uPtr | genLine (index_t deg, index_t num, gsMatrix< T > const &A, gsMatrix< T > const &B, index_t iA=0, index_t iB=0) |
template<class T > | |
void | genMuscleMP (gsGeometry< T > const &muscleSurface, gsMultiPatch< T > &result) |
This is more of a script than a function. I use it to generate a multi-parametrization for the biceps model given its surface. | |
template<class T > | |
gsGeometry< T >::uPtr | genPatchInterpolation (gsGeometry< T > const &A, gsGeometry< T > const &B, index_t deg, index_t num, bool xiDir=false) |
template<class T > | |
gsGeometry< T >::uPtr | genPatchScaling (gsGeometry< T > const &boundary, index_t deg, index_t num, T scaling, gsVector< T > const ¢er) |
generates a tensor product B-spline bdry south | front patch by scaling a given geometry object \ / | | | towards a given center point; (x,y) north | back oppositely lying bdry is generated by scaling the original boundary with <scaling> coeff | |
template<class T > | |
gsGeometry< T >::uPtr | genQuad (index_t xiDeg, index_t xiNum, index_t etaDeg, index_t etaNum, gsMatrix< T > const &A, gsMatrix< T > const &B, gsMatrix< T > const &C, gsMatrix< T > const &D, index_t iA=0, index_t iB=0, index_t iC=0, index_t iD=0) |
generates a quad patch given by its four C—D corners with the following orientation; | | the points are given as ROWS of matrices A—B | |
template<class T > | |
void | genSamplingPoints (const gsVector< T > &lower, const gsVector< T > &upper, const gsQuadRule< T > &quRule, gsMatrix< T > &points) |
Generates a matrix of sampling points for a given parametric element; includes quadrature points for the element as well as the corner points. | |
template<class T > | |
gsGeometry< T >::uPtr | genScrew (gsGeometry< T > const &base, index_t deg, index_t num, T height, T pitch, T x0=0., T y0=0.) |
generates a 3D tensor product B-spline screw-like patch | |
template<class T > | |
gsGeometry< T >::uPtr | genSphere (index_t xiDeg, index_t xiNum, index_t etaDeg, index_t etaNum, T xi0=0., T xi1=2 *EIGEN_PI, T eta0=-EIGEN_PI/2, T eta1=EIGEN_PI/2) |
generates a tensor product B-spline spherical patch with radius 1 and center at 0 given the degrees and number of control points in two parametric dimensions | |
template<class T > | |
gsGeometry< T >::uPtr | genSphere (gsKnotVector< T > &xiKnots, gsKnotVector< T > &etaKnots, T xi0=0., T xi1=2 *EIGEN_PI, T eta0=-EIGEN_PI/2, T eta1=EIGEN_PI/2) |
generates a tensor product B-spline spherical patch with radius 1 and center at 0 given knot vectors for two parametric dimensions | |
template<class T > | |
gsGeometry< T >::uPtr | genSpring (gsGeometry< T > const &crossSection, T springRadius=6.0, T springPitch=2.60258, index_t numQuarterSegments=12, bool nurbs=false) |
generates a 3D NURBS spring using provided geometry as a cross-section | |
template<class T > | |
T | geometryJacRatio (gsMultiPatch< T > const &domain) |
Returns min(Jacobian determinant) divided by max(Jacobian determinant); samples the Jacobian elementwise at the quadrature points and the corners. | |
template<typename T > | |
gsMatrix< T > | getFace (const boxSide side, const gsMatrix< T > &box) |
get the matrix containing the lower and upper corner of the specified side of the given box | |
template<short_t d, class T > | |
gsMaterialMatrixBase< T > * | getMaterialMatrix (const gsMultiPatch< T > &mp, const gsFunctionSet< T > &thickness, const std::vector< gsFunctionSet< T > * > ¶meters, const gsFunctionSet< T > &rho, const gsOptionList &options) |
Gets a material matrix based on options. More... | |
template<short_t d, class T > | |
gsMaterialMatrixBase< T > * | getMaterialMatrix (const gsMultiPatch< T > &mp, const gsFunctionSet< T > &thickness, const std::vector< gsFunctionSet< T > * > ¶meters, const gsOptionList &options) |
Gets a material matrix based on options. More... | |
template<typename S > | |
S | give (S &x) |
template<typename matrix_t1 , typename matrix_t2 > | |
bool | gsAllCloseAbsolute (const matrix_t1 &a, const matrix_t2 &b, const typename matrix_t1::Scalar &tol) |
tests if the difference between two matrices is bounded by tol in \( L^\infty \) norm More... | |
template<typename matrix_t1 , typename matrix_t2 > | |
bool | gsAllCloseRelAndAbsWithRef (const matrix_t1 &a, const matrix_t2 &b, const typename matrix_t1::Scalar &tol, const typename matrix_t1::Scalar &ref) |
Tests whether the difference between two matrices is bounded by tol in \( L^\infty \) norm. More... | |
template<typename matrix_t1 , typename matrix_t2 > | |
bool | gsAllCloseRelativeToMax (const matrix_t1 &a, const matrix_t2 &b, const typename matrix_t1::Scalar &tol) |
tests if the difference between two matrices is bounded by tol in \( L^\infty \) norm More... | |
template<class T , class KnotVectorType , class Mat > | |
void | gsBoehm (KnotVectorType &knots, Mat &coefs, T val, int r=1, bool update_knots=true) |
Performs insertion of multiple knot on "knots" and coefficients "coefs". | |
template<class KnotVectorType , class Mat , class ValIt > | |
void | gsBoehmRefine (KnotVectorType &knots, Mat &coefs, int p, ValIt valBegin, ValIt valEnd, bool update_knots=true) |
template<class T , class KnotVectorType , class Mat > | |
void | gsBoehmSingle (KnotVectorType &knots, Mat &coefs, T val, bool update_knots=true) |
Performs knot insertion once on "knots" and coefficients "coefs". | |
template<class T , class iter , class Mat > | |
void | gsBoehmSingle (iter knot, Mat &coefs, int p, T val) |
template<typename T > | |
bool | gsClose (const T &a, const T &b, const T &tol) |
tests if the difference between two numbers is below tolerance | |
template<class T , class KnotVectorType > | |
void | gsDeboor (const gsMatrix< T > &u, const KnotVectorType &knots, int deg, const gsMatrix< T > &coefs, gsMatrix< T > &result) |
template<class T , class KnotVectorType > | |
void | gsDeboorDeriv (const gsMatrix< T > &u, const KnotVectorType &knots, int deg, const gsMatrix< T > &coefs, gsMatrix< T > &result) |
template<class T > | |
gsBSpline< T > | gsInterpolate (gsKnotVector< T > &kv, const gsMatrix< T > &preImage, const gsMatrix< T > &image, const gsMatrix< T > &preNormal, const gsMatrix< T > &normal, const gsMatrix< T > &preImageApp, const gsMatrix< T > &imageApp, T const &w_reg, T const &w_app, gsMatrix< T > &outPointResiduals, gsMatrix< T > &outNormalResiduals) |
template<class T > | |
gsTensorBSpline< 2, T >::Ptr | gsInterpolateSurface (const gsMatrix< T > &exactPoints, const gsMatrix< T > &exactValues, const gsMatrix< T > &appxPointsEdges, const gsMatrix< T > &appxValuesEdges, const gsMatrix< T > &appxPointsInt, const gsMatrix< T > &appxValuesInt, const gsMatrix< T > &appxNormalPoints, const gsMatrix< T > &appxNormals, T wEdge, T wInt, T wNormal, T wReg, const gsKnotVector< T > &kv1, const gsKnotVector< T > &kv2, bool force_normal) |
template<typename T > | |
bool | gsIsfinite (T a) |
template<typename T > | |
bool | gsIsnumber (T a) |
template<class T > | |
void | gsMarkElementsForRef (const std::vector< T > &elError, int refCriterion, T refParameter, std::vector< bool > &elMarked) |
Marks elements/cells for refinement. More... | |
gsMpi (const int &argc, char **argv) | |
calls MPI_Init with argc and argv as parameters | |
gsMpi & | gsMpiSingleton (const int &argc, char **argv) |
Singleton function returning the gsMpi helper object. | |
template<class T > | |
gsMatrix< T > | gsPointGrid (gsVector< T > const &a, gsVector< T > const &b, gsVector< unsigned > const &np) |
Construct a Cartesian grid of uniform points in a hypercube, using np[i] points in direction i. More... | |
template<class T > | |
gsMatrix< T > | gsPointGrid (gsMatrix< T > const &ab, int numPoints) |
template<class T , class CwiseContainer > | |
void | gsPointGrid (CwiseContainer const &cwise, gsMatrix< T > &res) |
template<class T , class CwiseContainer > | |
gsMatrix< T > | gsPointGrid (CwiseContainer const &cwise) |
Construct a grid of points by coordinate vectors in the container cwise. | |
template<class T > | |
void | gsRefineMarkedElements (gsMultiBasis< T > &basis, const std::vector< bool > &elMarked, index_t refExtension=0) |
Refine a gsMultiBasis, based on a vector of element-markings. More... | |
template<typename T , typename KnotVectorType , typename Mat > | |
void | gsTensorBoehm (KnotVectorType &knots, Mat &coefs, T val, int direction, gsVector< unsigned > str, int r=1, bool update_knots=true) |
template<typename KnotVectorType , typename Mat , typename ValIt > | |
void | gsTensorBoehmRefine (KnotVectorType &knots, Mat &coefs, int direction, gsVector< unsigned > str, ValIt valBegin, ValIt valEnd, bool update_knots=true) |
template<short_t d, typename KnotVectorType , typename Mat , typename ValIt > | |
void | gsTensorBoehmRefineLocal (KnotVectorType &knots, const unsigned index, Mat &coefs, gsVector< index_t, d > &nmb_of_coefs, const gsVector< index_t, d > &act_size_of_coefs, const gsVector< index_t, d > &size_of_coefs, const unsigned direction, ValIt valBegin, ValIt valEnd, const bool update_knots) |
Local refinement algorithm. More... | |
template<short_t d, typename T , typename KnotVectorType , typename Mat > | |
void | gsTensorInsertKnotDegreeTimes (const KnotVectorType &knots, Mat &coefs, const gsVector< index_t, d > &size_of_coefs, T val, const unsigned direction, gsVector< index_t, d > &start, gsVector< index_t, d > &end) |
Inserts knot val such that multiplicity of a val in knot vector is equal degree. More... | |
template<class T > | |
void | gsTraceCurvePart (std::pair< gsFunction< T > *, gsFunction< T > * > &map, gsMatrix< T > const &x, gsBSpline< T > *bs, T t0, T t1, gsMatrix< T > &result, const int n_points=50, const T tolerance=0.0001) |
template<class T > | |
void | gsTraceLine (std::pair< gsFunction< T > *, gsFunction< T > * > &map, gsMatrix< T > const &x, gsMatrix< T > const &p, gsMatrix< T > &result) |
template<class T > | |
void | gsUnrefineMarkedElements (gsMultiBasis< T > &basis, const std::vector< bool > &elMarked, index_t refExtension=0) |
Unrefine a gsMultiBasis, based on a vector of element-markings. More... | |
template<typename Object > | |
void | gsWrite (const Object &obj, const std::string &fname) |
Write an arbitrary Gismo object to an XML file with the given filename. | |
template<class T > | |
void | gsWriteCsv (std::string const &filename, const gsMatrix< T > &matrix, const std::vector< std::string > &headers=std::vector< std::string >()) |
Export a gsMatrix to a .csv (comma separated values) file. More... | |
template<typename T > | |
void | gsWriteGoTools (const gsGeometry< T > &geom, const std::string &fileName) |
template<typename T > | |
void | gsWriteGoTools (const gsGeometry< T > &geom, std::ofstream &out) |
template<typename T > | |
void | gsWriteGoTools (const gsMultiPatch< T > &multiPatch, const std::string &fileName) |
template<short_t d, typename T > | |
void | gsWriteGoToolsBodySpline (const gsTensorBSpline< d, T > &bspl, std::ofstream &out) |
Writes body part of GoTools (.g2) format to a file. More... | |
template<short_t d, typename T > | |
void | gsWriteGoToolsSpline (const gsTensorBSpline< d, T > &bspl, std::ofstream &out) |
template<class T > | |
void | gsWriteParaview (const gsGeometry< T > &Geo, std::string const &fn, unsigned npts=NS, bool mesh=false, bool ctrlNet=false) |
Export a gsGeometry (without scalar information) to paraview file. More... | |
template<class T > | |
void | gsWriteParaview (gsMappedSpline< 2, T > const &mspline, std::string const &fn, unsigned npts=NS) |
Writes a gsMappedSpline geometry. More... | |
template<class T > | |
void | gsWriteParaview (gsMultiPatch< T > const &mp, gsMultiBasis< T > const &mb, std::string const &fn, unsigned npts=NS) |
Plot the basis functions of a multi-basis. More... | |
template<class T > | |
void | gsWriteParaview (gsFunctionSet< T > const &geom, gsMappedBasis< 2, T > const &mbasis, std::string const &fn, unsigned npts=NS, const bool fullsupport=false, const std::vector< index_t > indices=std::vector< index_t >()) |
Writes a gsMappedBasis over a gsMappedSpline geometry. More... | |
template<class T > | |
void | gsWriteParaview (gsMesh< T > const &sl, std::string const &fn, const gsMatrix< T > ¶ms) |
Export a mesh to paraview file. More... | |
template<typename T > | |
void | gsWriteParaview (const std::vector< gsMesh< T > > &meshes, std::string const &fn) |
Export a vector of meshes, each mesh in its own file. More... | |
template<class T > | |
void | gsWriteParaview (const gsField< T > &field, std::string const &fn, unsigned npts=NS, bool mesh=false, const std::string pDelim="") |
Write a file containing a solution field (as color on its geometry) to paraview file. More... | |
template<class T > | |
void | gsWriteParaview (gsFunctionSet< T > const &geo, gsFunctionSet< T > const &func, std::string const &fn, unsigned npts=NS, const std::string pDelim="") |
Write a file containing a solution func (as color on its geometry geo), defined using functionsets, to paraview file. More... | |
template<class T > | |
void | gsWriteParaview (const gsMultiPatch< T > &Geo, std::string const &fn, unsigned npts=NS, bool mesh=false, bool ctrlNet=false, const std::string pDelim="_") |
Export a multipatch Geometry (without scalar information) to paraview file. More... | |
template<class T > | |
void | gsWriteParaview (std::vector< gsGeometry< T > * > const &Geo, std::string const &fn, unsigned npts=NS, bool mesh=false, bool ctrlNet=false, const std::string pDelim="_") |
Export a multipatch Geometry (without scalar information) to paraview file. More... | |
template<class T > | |
void | gsWriteParaview (const gsMultiBasis< T > &mb, const gsMultiPatch< T > &domain, std::string const &fn, unsigned npts) |
Export a computational mesh to paraview file. | |
template<class T > | |
void | gsWriteParaview (const gsGeometrySlice< T > &Geo, std::string const &fn, unsigned npts=NS) |
Export a Geometry slice to paraview file. More... | |
template<class T > | |
void | gsWriteParaview (gsFunctionSet< T > const &func, std::string const &fn, unsigned npts=NS) |
Export a functionSet plot to paraview file. More... | |
template<class T > | |
void | gsWriteParaview (gsFunction< T > const &func, gsMatrix< T > const &supp, std::string const &fn, unsigned npts=NS, bool graph=true) |
Export a function plot to paraview file. More... | |
template<class T > | |
void | gsWriteParaview (gsBasis< T > const &basis, std::string const &fn, unsigned npts=NS, bool mesh=false) |
Export Basis functions to paraview files. More... | |
template<class T > | |
void | gsWriteParaview (gsHBox< 2, T > &box, std::string const &fn) |
Export gsHBox to paraview files. More... | |
template<class T > | |
void | gsWriteParaview (gsHBoxContainer< 2, T > &box, std::string const &fn) |
Export gsHBox to paraview files. More... | |
template<class T > | |
void | gsWriteParaview (gsSolid< T > const &sl, std::string const &fn, unsigned numPoints_for_eachCurve=50, int vol_Num=0, T edgeThick=0.01, gsVector3d< T > const &translate=gsVector3d< T >(0, 0, 0), int color_convex=0, int color_nonconvex=20, int color_eloop=10, std::vector< unsigned > const &eloop=std::vector< unsigned >()) |
Export tensor-structured point set with field data to Paraview file. More... | |
template<class T > | |
void | gsWriteParaview (gsCurveLoop< T > const &cloop, std::string const &fn, unsigned npts) |
Visualizing a gsCurveLoop. More... | |
template<class T > | |
void | gsWriteParaview (gsPlanarDomain< T > const &pdomain, std::string const &fn, unsigned npts=NS) |
Visualizing a gsPlanarDomain. More... | |
template<class T > | |
void | gsWriteParaview (const gsTrimSurface< T > &ts, std::string const &fn, unsigned npts=NS, bool trimCurves=false) |
Visualizing a gsTrimSurface. | |
template<typename T > | |
void | gsWriteParaview (const gsVolumeBlock< T > &volBlock, std::string const &fn, unsigned npts=NS) |
Export a volumeBlock. More... | |
template<class T > | |
void | gsWriteParaview (gsMultiPatch< T > const &patches, typename gsBoundaryConditions< T >::bcContainer const &bcs, std::string const &fn, unsigned npts=NS, bool ctrlNet=false) |
Visualizing boundary conditions. More... | |
template<class T > | |
void | gsWriteParaview (gsMesh< T > const &sl, std::string const &fn, bool pvd) |
Visualizing a mesh. More... | |
template<class T > | |
void | gsWriteParaview_basisFnct (int i, gsBasis< T > const &basis, std::string const &fn, unsigned npts=NS) |
Export i-th Basis function to paraview file. More... | |
template<class T > | |
void | gsWriteParaviewBdr (gsMultiPatch< T > const &patches, std::string const &fn, unsigned npts, bool ctrlNet) |
Writes the boundaries of a multipatch to paraview. More... | |
template<class T > | |
void | gsWriteParaviewIfc (gsMultiPatch< T > const &patches, std::string const &fn, unsigned npts, bool ctrlNet) |
Writes the interfaces of a multipatch to paraview. More... | |
template<class T > | |
void | gsWriteParaviewMultiPhysics (std::map< std::string, const gsField< T > * > fields, std::string const &fn, unsigned npts=NS, bool mesh=false, bool ctrlNet=false) |
Write a file containing several fields defined on the same geometry to ONE paraview file. More... | |
template<class T > | |
void | gsWriteParaviewMultiPhysicsSinglePatch (std::map< std::string, const gsField< T > * > fields, const unsigned patchNum, std::string const &fn, unsigned npts) |
Extract and evaluate geometry and the fields for a single patch. More... | |
template<class T > | |
void | gsWriteParaviewMultiPhysicsTimeStep (std::map< std::string, const gsField< T > * > fields, std::string const &fn, gsParaviewCollection &collection, int time, unsigned npts=NS) |
Write a file containing several fields defined on the same geometry to ONE paraview file and adds it as a timestep to a Paraview collection. More... | |
template<class T > | |
void | gsWriteParaviewMultiTPgrid (gsMatrix< T > const &points, std::map< std::string, gsMatrix< T > > &data, const gsVector< index_t > &np, std::string const &fn) |
Utility function to actually write prepaired matrices with data into Paraview file. More... | |
template<class T > | |
void | gsWriteParaviewPoints (gsMatrix< T > const &X, gsMatrix< T > const &Y, std::string const &fn) |
Export 2D Point set to Paraview file. More... | |
template<class T > | |
void | gsWriteParaviewPoints (gsMatrix< T > const &X, gsMatrix< T > const &Y, gsMatrix< T > const &Z, std::string const &fn) |
Export 3D Point set to Paraview file. More... | |
template<class T > | |
void | gsWriteParaviewPoints (gsMatrix< T > const &points, std::string const &fn) |
Export Point set to Paraview file. More... | |
template<class T > | |
void | gsWriteParaviewSolid (gsSolid< T > const &sl, std::string const &fn, unsigned numSamples=NS) |
Export a gsSolid to Paraview file. | |
template<typename T > | |
void | gsWriteParaviewTrimmedCurve (const gsTrimSurface< T > &surf, const unsigned idLoop, const unsigned idCurve, const std::string fn, unsigned npts=NS) |
Export a boundary/hole curve in trimmed surface. More... | |
template<typename T > | |
gsVector< T > | HornerEval (gsMatrix< T > &mat, T num) |
template<typename T > | |
T | HornerEvalPoly (const gsVector< T > &vec, T num) |
evaluates a gsVector (which represents the coefficients of a polynomial) at value num | |
template<typename Derived > | |
bool | isfinite (const gsEigen::MatrixBase< Derived > &x) |
Check if all the entires if the matrix x are not INF (infinite) More... | |
template<typename Derived > | |
bool() | isnumber (const gsEigen::MatrixBase< Derived > &x) |
Check if all the entires if the matrix x are not NAN (not a number) More... | |
void | makeCollection (std::string const &fn, std::string const &ext, int n=0) |
template<typename T > | |
bool | makeHierarchicalMesh (const gsBasis< T > &basis, std::vector< gsMesh< T > > &meshes, int n=0) |
template<class T , class iterator > | |
gsMatrix< T > | makeMatrix (iterator it, index_t n, index_t m) |
Utility to make a matrix out of an iterator to values. | |
template<class T > | |
void | makeMesh (const gsBasis< T > &basis, gsMesh< T > &mesh, int n=0) |
Returns the computational mesh of basis. More... | |
template<class Vec > | |
bool | nextCombination (Vec &v, const unsigned n) |
Computes the next r-combination of {0,..,n-1}, where r = v.size(). The input v is expected to be a valid combination. | |
template<class Vec > | |
bool | nextComposition (Vec &v) |
Returns (inplace) the next composition in lexicographic order. | |
template<class Vec > | |
bool | nextCubeBoundary (Vec &cur, const Vec &start, const Vec &end) |
Iterates in lex-order through the boundary points of the cube [start,end]. Updates cur with the current point and returns true if another point is available. Cube may be degenerate. | |
template<class Vec > | |
bool | nextCubeBoundaryOffset (Vec &cur, const Vec &start, const Vec &end, Vec &offset) |
Iterates in lex-order through the boundary points of the cube [start,end], with an \ offset to the interior. Updates cur with the current point and returns true if another point is available. Cube may be degenerate. | |
template<class Vec > | |
bool | nextCubeBoundaryOffset (Vec &cur, const Vec &start, const Vec &end, Vec &loffset, Vec &uoffset) |
Iterates in lex-order through the boundary points of the cube [start,end], with offset loffset from \ start and roffset .from the end. Updates cur with the current point and returns true if another point is available. Cube may be degenerate. | |
template<class Vec > | |
bool | nextCubeElement (Vec &cur, const index_t k) |
Iterates in lexicographic order through the elements (faces) of dimension k of the cube [0,1]^d. Updates cur with the current element (face) and returns true if another element (face) of dimension k is available. Coordinates with value 2 indicate free/not-fixed dimensions. | |
template<class Vec > | |
bool | nextCubePoint (Vec &cur, const Vec &end) |
Iterate in lexigographic order through the points of the integer lattice contained in the cube [0,end]. Updates cur with the current point and returns true if another point is available. Cube may be degenerate. | |
template<class Vec > | |
bool | nextCubePoint (Vec &cur, const Vec &start, const Vec &end) |
Iterates in lexigographic order through the points of the integer lattice contained in the cube [start,end]. Updates cur with the current point and returns true if another point is available. Cube may be degenerate. | |
template<class Vec > | |
bool | nextCubeVertex (Vec &cur, const Vec &start, const Vec &end) |
Iterate in lexicographic order through the vertices of the cube [start,end]. Updates cur with the current vertex and returns true if another vertex is available. Cube may be degenerate. | |
template<class Vec > | |
bool | nextCubeVertex (Vec &cur, const Vec &end) |
Iterate in lexicographic order through the vertices of the cube [0,end]. Updates cur with the current vertex and returns true if another vertex is available. Cube may be degenerate. | |
template<class Vec > | |
bool | nextCubeVertex (Vec &cur) |
Iterate in lexigographic order through the vertices of the unit cube. Updates cur with the lexicographically next vertex and returns true if another point is available. This is equivalent to iterating over all possible binary sequences of length cur.size(). The input cur is expected to contain only zeros and ones (or true/false). | |
template<class Vec > | |
bool | nextLexicographic (Vec &cur, const Vec &size) |
Iterates through a tensor lattice with the given size. Updates cur and returns true if another entry was available End values (size) are not included in the enumerated points, as with iterators. | |
template<class Vec > | |
bool | nextLexicographic (Vec &cur, const Vec &start, const Vec &end) |
Iterate through a tensor lattice with the given start and end points. end coordinates are not included in the enumerated points, as with iterators. Updates cur and returns true if another entry was available. | |
template<class Mat > | |
bool | nextMultiComposition (Mat &m) |
Returns (inplace) the next multi-composition in lexicographic order. More... | |
template<class Vec > | |
bool | nextPermutation (Vec ¤t) |
Changes current to the next lexicographically ordered permutation. More... | |
template<class T > | |
T | normL2 (gsMultiPatch< T > const &domain, gsMultiPatch< T > const &solution) |
@ Compute norm of the isogeometric solution | |
unsigned | numCompositions (int sum, short_t dim) |
Number of compositions of sum into dim integers. | |
index_t | numCubeElements (const index_t k, const index_t d) |
Returns the number of elements (faces) of dimension k of a d-cube. | |
template<class Vec > | |
unsigned | numMultiCompositions (const Vec &a, index_t k) |
Number of multi-composition of a = (a_1,..,a_d) into k integers. | |
template<class T > | |
bool | operator!= (gsVertex< T > const &lhs, gsVertex< T > const &rhs) |
bool | operator< (const gsOptionList::OptionListEntry &a, const gsOptionList::OptionListEntry &b) |
Objects of class gsOptionList::OptionListEntry can be ordered by label. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsDomain< T > &b) |
Print (as string) operator to be used by all derived classes. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsSolidHalfEdge< T > &me) |
Print (as string) operator to be used by all mesh elements. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsPointLoads< T > &pls) |
Print (as string) | |
std::ostream & | operator<< (std::ostream &os, const gsSerialGroup &obj) |
Prints the group object as a string. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsSparseSolver< T > &b) |
Print (as string) operator for sparse solvers. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsPde< T > &pde) |
Print (as string) operator to be used by all derived classes. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsVSegment< T > a) |
Print (as string) operator. | |
std::ostream & | operator<< (std::ostream &os, const boxSide &o) |
Print (as string) a box side. | |
std::ostream & | operator<< (std::ostream &os, const gsSerialStatus &obj) |
Prints the status object as a string. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsCurveLoop< T > &b) |
Print (as string) operator to be used by all derived classes. | |
std::ostream & | operator<< (std::ostream &os, patchSide const &i) |
Print (as string) a patch side. | |
std::ostream & | operator<< (std::ostream &os, const gsSerialRequest &obj) |
Prints the request object as a string. | |
std::ostream & | operator<< (std::ostream &os, const gsOptionList &b) |
Objects of class gsOptionList can be printed using the standard io-streams. | |
std::ostream & | operator<< (std::ostream &os, const gsOptionList::OptionListEntry &b) |
Objects of class gsOptionList::OptionListEntry can be printed using the standard io-streams. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsField< T > &b) |
Print (as string) operator to be used by all derived classes. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsFunction< T > &b) |
Print (as string) operator to be used by all derived classes. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsMultiPatch< T > &b) |
Print (as string) a multipatch structure. | |
std::ostream & | operator<< (std::ostream &os, const gsJITCompilerConfig &c) |
Print (as string) operator to be used by all derived classes. | |
std::ostream & | operator<< (std::ostream &os, const gsDofMapper &b) |
Print (as string) a dofmapper structure. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsFunctionSet< T > &b) |
Print (as string) operator to be used by all derived classes. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsGeometry< T > &b) |
Print (as string) operator to be used by all derived classes. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsTemplate< T > &b) |
Print (as string) a template. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsMultiBasis< T > &b) |
Print (as string) a multibasis structure. | |
std::ostream & | operator<< (std::ostream &os, const gsJITCompiler &c) |
Print (as string) operator to be used by all derived classes. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const gsBoundaryConditions< T > &bvp) |
Print (as string) | |
std::ostream & | operator<< (std::ostream &os, const boundaryInterface &i) |
Print (as string) an interface. More... | |
template<class T > | |
bool | operator== (gsVertex< T > const &lhs, gsVertex< T > const &rhs) |
template<class T > | |
bool | operator> (gsVertex< T > const &lhs, gsVertex< T > const &rhs) |
template<class T > | |
gsMatrix< T > | optQuadratic (gsMatrix< T > const &A, gsMatrix< T > const &b, gsMatrix< T > const &C, gsMatrix< T > const &d) |
Find X which solves: min (AX-b)^T (AX-b), s.t. CX=d. | |
template<class T > | |
gsMatrix< T > | optQuadratic (gsMatrix< T > const &A1, gsMatrix< T > const &b1, T const &w1, gsMatrix< T > const &A2, gsMatrix< T > const &b2, T const &w2, gsMatrix< T > const &C, gsMatrix< T > const &d) |
Find X which solves: min w_1 (A_1 X-b_1)^T (A_1 X-b_1) + w_2 (A_2 X-b_2)^T (A_2 X-b_2), s.t. CX=d. | |
template<class T > | |
gsMatrix< T > | optQuadratic (gsMatrix< T > const &A1, gsMatrix< T > const &b1, T const &w1, gsMatrix< T > const &A2, gsMatrix< T > const &b2, T const &w2, gsMatrix< T > const &C, gsMatrix< T > const &d, T const &w3, gsMatrix< T > const &Q) |
GISMO_DEPRECATED bool | parameter (int s) |
Returns the parameter value (false=0=start, true=1=end) that corresponds to side s. More... | |
template<class T > | |
T | patchLength (const gsGeometry< T > &geo, short_t dir=0) |
compute length of a patch in a given parametric direction as a mean of all boundary edges corresponding to this direction | |
template<typename T , int d> | |
void | permuteTensorVector (const gsVector< index_t, d > &perm, gsVector< index_t, d > &sz, gsMatrix< T > &coefs) |
template<class T > | |
void | plotDeformation (const gsMultiPatch< T > &initDomain, const std::vector< gsMultiPatch< T > > &displacements, std::string fileName, index_t numSamplingPoints=10000) |
template<class T > | |
void | plotDeformation (const gsMultiPatch< T > &initDomain, const gsMultiPatch< T > &displacement, std::string const &fileName, gsParaviewCollection &collection, index_t step) |
plot a deformed isogeometric mesh and add it to a Paraview collection | |
template<class T > | |
void | plotGeometry (gsMultiPatch< T > const &domain, std::string fileName, index_t numSamples) |
Plots the mesh and the jacobian (if <numSamples> > 0) to Paraview. | |
template<class T > | |
void | plotGeometry (const gsMultiPatch< T > &domain, std::string const &fileName, gsParaviewCollection &collection, index_t step) |
plot an isogeometric mesh and add to collection | |
template<typename T > | |
gsMonomialPoly< T > | PolyDerivWithSameDegree (const gsMonomialPoly< T > &poly) |
template<typename T > | |
gsMonomialPoly< T > | PolyDivision (const gsMonomialPoly< T > ÷ndPoly, const gsMonomialPoly< T > &divisorPoly, int num) |
template<class T > | |
void | removeCol (gsMatrix< T > &mat, int const &removeEnds, int const &nPoints) |
remove columes 0, nPoints, 2*nPoints,.. of a given matrix | |
template<typename T > | |
void | RootIsolation (T leftBound, T rightBound, T eps, gsMatrix< T > &sturmSeq, gsMatrix< T > &rootIntervals) |
Algorithm for the isolation of the roots. | |
template<typename T > | |
gsVector< T > | ShiftRight (const gsVector< T > &vec, int num) |
int | sideOrientation (short_t s) |
template<class T > | |
gsGeometry< T >::uPtr | simplifyCurve (gsGeometry< T > const &curve, index_t additionalPoints=0, index_t degree=0, index_t numSamples=1000) |
generates a simplified curve by fitting with the coarsest basis of the same degree; then reparametrizes it using the basis of the original curve; <additionalPoints> increases the number of degrees of freedom; <numSamples> is a number of sampling points for reparametrization | |
template<typename T > | |
gsMatrix< T > | SortRoots (gsMatrix< T > &unsort) |
template<class Vec > | |
Vec | stridesOf (const Vec &sz) |
Computes the of a vector. | |
void | stringReplace (std::string &str, const std::string &oldStr, const std::string &newStr) |
An univariate polynomial in monomial basis. More... | |
template<typename T > | |
gsMatrix< T > | SturmSequence (gsMonomialPoly< T > &poly) |
returns the sturm sequence in a gsMatrix | |
template<typename T , int d> | |
void | swapTensorDirection (int k1, int k2, gsVector< index_t, d > &sz, gsMatrix< T > &coefs) |
template<short_t d, typename T > | |
void | tensorCombineTransferMatrices (gsSparseMatrix< T, RowMajor > B[d], gsSparseMatrix< T, RowMajor > &transfer) |
Combine component-wise transfer matrices into a transfer matrix for the tensor product basis. More... | |
template<typename VectIn , typename VectOut > | |
void | tensorStrides (const VectIn &sz, VectOut &strides) |
Helper to compute the strides of a d-tensor. | |
template<typename T > | |
gsMatrix< T > | uniformPointGrid (const gsVector< T > &lower, const gsVector< T > &upper, int numPoints=1000) |
template<class T > | |
gsVector< T > | vectorIntersect (gsVector< T > const &tangent1, gsVector< T > const &tangent2, gsMatrix< T > const &Vert1, gsMatrix< T > const &Vert2) |
intersection of two vectors | |
void | verboseLog (const std::string &message, const index_t &verbose) |
helper function to set optimizer options More... | |
template<class T > | |
void | writeSingleBasisMesh (const gsBasis< T > &basis, std::string const &fn) |
Export a parametric mesh. | |
template<class T > | |
void | writeSingleCompMesh (const gsBasis< T > &basis, const gsGeometry< T > &Geo, std::string const &fn, unsigned resolution=8) |
Export a computational mesh. | |
template<class T > | |
void | writeSingleControlNet (const gsGeometry< T > &Geo, std::string const &fn) |
Export a control net. | |
template<class T > | |
void | writeSingleCurve (gsFunction< T > const &func, gsMatrix< T > const &supp, std::string const &fn, unsigned npts) |
Export a curve geometry represented by func. | |
template<class T > | |
void | writeSingleGeometry (gsFunction< T > const &func, gsMatrix< T > const &supp, std::string const &fn, unsigned npts) |
Export a geometry represented by func. | |
template<class T > | |
void | writeSingleHBox (gsHBox< 2, T > &box, std::string const &fn) |
Export a gsHBox. More... | |
template<class T > | |
void | writeSinglePatchField (const gsField< T > &field, int patchNr, std::string const &fn, unsigned npts) |
Write a file containing a solution field over a single geometry. | |
~gsMpi () | |
calls MPI_Finalize | |
The G+Smo namespace, containing all definitions for the library.
[Include namespace]
The generic geometry class represents a function defined as coefficients times basis function defined in a basis.
This is a generic implementation with minimal functionality. For common geometry types (B-splines, tensor-product B-splines, hierarchical splines) specific classes are implemented, which provide additional functionalities.
typedef gsEigen::PermutationMatrix<Dynamic,Dynamic,index_t> gsPermutationMatrix |
reorderMapperTarget permutes the target indices of mapper according to permutation. If permutation does not contain all indices then the order of the remaining indices is preserved and the specified indices are appended to the end.
If an index is repeated in permutation the behaviour is unspecified and can change in the future because of implementation changes.
mapper | |
permutation | |
permMatrix | : if specified, the pointed to matrix is the permutation matrix |
enum gsGridIteratorMode |
Specifies aliases describing the modes for gismo::gsGridIterator.
enum gsNeedEnum |
Enumeration flags which define the needs of an evaluation object.
|
strong |
enum solver_status |
|
strong |
gsMatrix<T> gismo::CalcIntervals | ( | const gsMonomialPoly< T > & | poly, |
T | eps, | ||
gsMatrix< T > | rootIntervals | ||
) |
calculates the sturm sequence and the boundaries and calls then the function RootIsolation
gsWeightMapper< T > * combineMappers | ( | const std::vector< gsWeightMapper< T > * > & | mappers, |
std::vector< index_t > & | shifts, | ||
bool | needShifting = true |
||
) |
combineMappers Given a set of mappers it creates a new mapper that combines all. It can be used to construct a global mapper for the cartesian product of spaces or to map both unknown and test space.
mappers | |
shifts,is | a vector containing the shift of source indices for each space applied in the use of this mapper. |
shift,if | true the target indices of each spaces are shifted (this is the default). This is the case of representing the cartesian product of spaces. If false the target indices are preserved; this is needed to share the same mapper for both unknown and test spaces. |
T gismo::conditionedAngle | ( | gsVector3d< T > | vec1, |
gsVector3d< T > | vec2, | ||
gsVector3d< T > | normal | ||
) |
Angle between two vector when viewing from a given normal vector (the angle can be more than pi)
void constructCoefsForSlice | ( | index_t | dir_fixed, |
const index_t | index, | ||
const gsMatrix< T > & | fullCoefs, | ||
const gsVector< index_t, d > & | sizes, | ||
gsMatrix< T > & | result | ||
) |
Helper function for the slice function selects the row of coefficients from coefficients of geo that are suitable for the isoparametric slice in dir_fixed with par. Note that geo has to have already C^0 continuity at par in direction dir.
gsVector<T> gismo::criticalPointOfQuadratic | ( | gsMatrix< T > & | A, |
gsMatrix< T > & | C, | ||
gsVector< T > & | d | ||
) |
Find a critical point of a quadratic X^T A X subject to a linear constraint C X = d.
gsMatrix<T> gismo::criticalPointOfQuadratic | ( | gsMatrix< T > const & | A, |
gsMatrix< T > const & | b, | ||
gsMatrix< T > const & | C, | ||
gsMatrix< T > const & | d | ||
) |
Find a critical point of a quadratic X^T A X + bX + c subject to a linear constraint C X = d.
gsMatrix<T> gismo::criticalPointOfQuadratic | ( | gsMatrix< T > const & | A, |
gsMatrix< T > const & | C, | ||
gsMatrix< T > const & | d | ||
) |
Find a critical point of a quadratic X^T A X subject to a linear constraint C X = d.
gsMatrix<T> gismo::crossNorm2Mat | ( | gsMatrix< T > const & | mat1, |
gsMatrix< T > const & | mat2 | ||
) |
cross product of each pair of columes of two matrices and normalize each columes
Returns the parametric direction that corresponds to side s.
[in] | s | integer corresponding to a boundary side |
Example:
In 2D, let the parameter domain be defined by \((u,v)\in [0,1]^2\). Since the side with index 3 corresponds to "south", i.e. to \( \{ (u,v):\ v = 0 \} \), calling parameter(3) will return 1, because v (i.e., parameter direction with index 1) is fixed/set to zero.
use boxSide struct instead of enumerated values
gsMatrix<T> gismo::FindRootIntervals | ( | gsMonomialPoly< T > & | poly, |
T | eps | ||
) |
entry function needs a polynomial and a boundary eps as an input and returns a sorted matrix, where the intervals of the real roots are stored
gsGeometry< T >::uPtr genCircle | ( | index_t | deg, |
index_t | num, | ||
T | radius = 1. , |
||
T | x0 = 0. , |
||
T | y0 = 0. , |
||
T | angle0 = 0. , |
||
T | arcAngle = 2*EIGEN_PI |
||
) |
generates a uniformly parametrized circular arc with a B-spline basis; generates a closed circle if <arcAngle> is 2pi
gsGeometry< T >::uPtr genCircle | ( | gsBasis< T > & | basis, |
T | radius = 1. , |
||
T | x0 = 0. , |
||
T | y0 = 0. , |
||
T | angle0 = 0. , |
||
T | arcAngle = 2*EIGEN_PI |
||
) |
generates a uniformly parametrized circular arc with a given basis; generates a closed circle if <arcAngle> is 2pi
gsGeometry< T >::uPtr genLine | ( | index_t | deg, |
index_t | num, | ||
gsMatrix< T > const & | A, | ||
gsMatrix< T > const & | B, | ||
index_t | iA = 0 , |
||
index_t | iB = 0 |
||
) |
generates a uniformly parametrized straight line with a B-spline basis; end points are given as ROWS of matrices
gsGeometry< T >::uPtr genPatchInterpolation | ( | gsGeometry< T > const & | A, |
gsGeometry< T > const & | B, | ||
index_t | deg, | ||
index_t | num, | ||
bool | xiDir = false |
||
) |
generates a tensor product B-spline patch by interpolating between the two given B-spline patches of a dimension one lower; in 2D case, interpolates in eta/south-north direction by default; in 3D case, always interpolates in the third direction/front-back
|
inline |
Alias for std::move, to be used instead of std::move for backward c++98 compatibility and MSVC before 2015
Based on swapping and copy elision.
|
inline |
tests if the difference between two matrices is bounded by tol in \( L^\infty \) norm
The tolerance is absolute, therefore independent of the matrix entries.
|
inline |
Tests whether the difference between two matrices is bounded by tol in \( L^\infty \) norm.
The tolerance is absolute below the reference, but relative for bigger numbers.
|
inline |
tests if the difference between two matrices is bounded by tol in \( L^\infty \) norm
The tolerance is relative to maximum absolute values of the entries of the matrices.
void gsBoehmRefine | ( | KnotVectorType & | knots, |
Mat & | coefs, | ||
int | p, | ||
ValIt | valBegin, | ||
ValIt | valEnd, | ||
bool | update_knots = true |
||
) |
Performs knot refinement on "knots" and coefficients "coefs", by adding new knots vals NURBS book p.165 modified
void gsBoehmSingle | ( | iter | knot, |
Mat & | coefs, | ||
int | p, | ||
T | val | ||
) |
Performs knot insertion once on "knots" and coefficients "coefs". Iter points to the first affected knot (ie. knot is the result of findspan)
|
inline |
Executes deBoor's algorithm on the absissae (row vector) u, knot vector knots, degree deg and coefficients matrix coefs
|
inline |
Executes deBoor's algorithm on the absissae (row vector) u, for the derivative of the B-spline defined by knot vector knots, degree deg and coefficients matrix coefs
gsBSpline<T> gismo::gsInterpolate | ( | gsKnotVector< T > & | kv, |
const gsMatrix< T > & | preImage, | ||
const gsMatrix< T > & | image, | ||
const gsMatrix< T > & | preNormal, | ||
const gsMatrix< T > & | normal, | ||
const gsMatrix< T > & | preImageApp, | ||
const gsMatrix< T > & | imageApp, | ||
T const & | w_reg, | ||
T const & | w_app, | ||
gsMatrix< T > & | outPointResiduals, | ||
gsMatrix< T > & | outNormalResiduals | ||
) |
Interpolation with standard smoothing. TODO1: make the output as gsGeometry, gsBSpline for now; also use gsBasis as input TODO2: there should a different weight for approximating normal: w_nor Size of input matrices: each colummn represents a geometry point.
gsTensorBSpline<2,T>::Ptr gismo::gsInterpolateSurface | ( | const gsMatrix< T > & | exactPoints, |
const gsMatrix< T > & | exactValues, | ||
const gsMatrix< T > & | appxPointsEdges, | ||
const gsMatrix< T > & | appxValuesEdges, | ||
const gsMatrix< T > & | appxPointsInt, | ||
const gsMatrix< T > & | appxValuesInt, | ||
const gsMatrix< T > & | appxNormalPoints, | ||
const gsMatrix< T > & | appxNormals, | ||
T | wEdge, | ||
T | wInt, | ||
T | wNormal, | ||
T | wReg, | ||
const gsKnotVector< T > & | kv1, | ||
const gsKnotVector< T > & | kv2, | ||
bool | force_normal | ||
) |
Create a surface (as a tensor product B-spline) satisfying conditions: The evaluation of the surface at the columns of exactPoints are constrained to equal the columns of exactValues. The evaluation at the columns of appxPointsEdges (resp appxPointsInt) should be approximately equal to the columns of appxValuesEdges (resp appxValuesInt) with weighting wEdge (resp wInt). The normals to the surface, evaluated at the columns of appxNormalPoints, should be approximately equal to the columns of appxNormals with weighting wNormal. Finally you can add a weighting wReg for the regularity of the surface. The parameter force_normal is for a special case; typically it should be set to false.
bool gismo::gsIsfinite | ( | T | a | ) |
Check if a flaoting point number is different than INF
See https://en.wikipedia.org/wiki/Floating_point#Special_values
bool gismo::gsIsnumber | ( | T | a | ) |
Check if a floating point number is different than NAN (not a number)
See https://en.wikipedia.org/wiki/Floating_point#Special_values and https://en.wikipedia.org/wiki/NaN
|
inline |
Returns an approximately uniformly spaced grid in every direction, with approximately numPoints total points.
Each column of the result correspond to a point.
|
inline |
Construct a grid of points by coordinate vectors in the container cwise, use out argument res
void gismo::gsTraceCurvePart | ( | std::pair< gsFunction< T > *, gsFunction< T > * > & | map, |
gsMatrix< T > const & | x, | ||
gsBSpline< T > * | bs, | ||
T | t0, | ||
T | t1, | ||
gsMatrix< T > & | result, | ||
const int | n_points = 50 , |
||
const T | tolerance = 0.0001 |
||
) |
map | is a planar map given by two component functions, |
x,: | point in the planar domain, should correspond to pre image (via map) to the middle point of bs. |
bs | is the curve you want to trace |
t0 | and... |
t1 | parametric values, they represent the interval you want to discretize |
result | stores resulting points |
n_points | is the number of points you want to trace per curve |
tolerance |
void gismo::gsWriteGoTools | ( | const gsGeometry< T > & | geom, |
const std::string & | fileName | ||
) |
Writes geometry in GoTools (.g2) format to a file.
geom | geometry |
fileName | output file name |
void gismo::gsWriteGoTools | ( | const gsGeometry< T > & | geom, |
std::ofstream & | out | ||
) |
Writes geometry in GoTools (.g2) format to a file.
geom | geometry |
out | file stream |
void gismo::gsWriteGoTools | ( | const gsMultiPatch< T > & | multiPatch, |
const std::string & | fileName | ||
) |
Writes multi patch in GoTools (.g2) format to a file.
multiPatch | multi patch |
fileName | output file name |
void gismo::gsWriteGoToolsSpline | ( | const gsTensorBSpline< d, T > & | bspl, |
std::ofstream & | out | ||
) |
Writes bspline in GoTools (.g2) format to a file.
bspl | tensor B-Spline |
out | file stream |
void gsWriteParaview | ( | gsMappedSpline< 2, T > const & | mspline, |
std::string const & | fn, | ||
unsigned | npts = NS |
||
) |
Writes a gsMappedSpline geometry.
Write a file containing a solution field over a geometry.
mspline | The mapped spline | |
fn | The filename | |
[in] | npts | The number of sampling points |
void gsWriteParaview | ( | gsMultiPatch< T > const & | mp, |
gsMultiBasis< T > const & | mb, | ||
std::string const & | fn, | ||
unsigned | npts = NS |
||
) |
Plot the basis functions of a multi-basis.
Export basis functions.
mp | A multi-patch geometry to plot the basis on | |
mb | The multi-basis | |
fn | The file name | |
[in] | npts | The number of points |
void gsWriteParaview | ( | gsFunctionSet< T > const & | geom, |
gsMappedBasis< 2, T > const & | mbasis, | ||
std::string const & | fn, | ||
unsigned | npts = NS , |
||
const bool | fullsupport = false , |
||
const std::vector< index_t > | indices = std::vector<index_t>() |
||
) |
Writes a gsMappedBasis over a gsMappedSpline geometry.
Write a file containing a solution field over a geometry.
mspline | The mapped spline | |
mbasis | The mapped basis | |
fn | The filename | |
fullsupport | Plot the basis over the whole domain | |
indices | Basis functions to be plotted | |
[in] | npts | The number of sampling points |
void gsWriteParaview | ( | gsMesh< T > const & | sl, |
std::string const & | fn, | ||
const gsMatrix< T > & | params | ||
) |
Export a mesh to paraview file.
sl | a gsMesh object |
fn | filename where paraview file is written |
pvd | if true, a .pvd file is generated (for compatibility) Exports a parametrized mesh. |
void gsWriteParaview | ( | const std::vector< gsMesh< T > > & | meshes, |
std::string const & | fn | ||
) |
Export a vector of meshes, each mesh in its own file.
meshes | vector of gsMesh objects |
fn | filename |
void gsWriteParaview | ( | const gsField< T > & | field, |
std::string const & | fn, | ||
unsigned | npts = NS , |
||
bool | mesh = false , |
||
const std::string | pDelim = "" |
||
) |
Write a file containing a solution field (as color on its geometry) to paraview file.
Write a file containing a solution field over a geometry.
field | a field object |
fn | filename where paraview file is written |
npts | number of points used for sampling each patch |
mesh | if true, the parameter mesh is plotted as well |
pDelim | is the delimiter that is used to separate fn from the patch index |
void gsWriteParaview | ( | gsFunctionSet< T > const & | geo, |
gsFunctionSet< T > const & | func, | ||
std::string const & | fn, | ||
unsigned | npts = NS , |
||
const std::string | pDelim = "" |
||
) |
Write a file containing a solution func (as color on its geometry geo), defined using functionsets, to paraview file.
Write a file containing a solution field over a geometry.
func | a gsFunctionSet representing the function to be plotted |
geo | a gsFunctionSet representing the geometry to be plotted |
fn | filename where paraview file is written |
npts | number of points used for sampling each patch |
void gismo::gsWriteParaview | ( | const gsMultiPatch< T > & | Geo, |
std::string const & | fn, | ||
unsigned | npts = NS , |
||
bool | mesh = false , |
||
bool | ctrlNet = false , |
||
const std::string | pDelim = "_" |
||
) |
Export a multipatch Geometry (without scalar information) to paraview file.
Geo | a multipatch object |
fn | filename where paraview file is written |
npts | number of points used for sampling each patch |
mesh | if true, the parameter mesh is plotted as well |
ctrlNet | if true, the control net is plotted as well |
void gsWriteParaview | ( | std::vector< gsGeometry< T > * > const & | Geo, |
std::string const & | fn, | ||
unsigned | npts = NS , |
||
bool | mesh = false , |
||
bool | ctrlNet = false , |
||
const std::string | pDelim = "_" |
||
) |
Export a multipatch Geometry (without scalar information) to paraview file.
Export a multipatch Geometry without scalar information.
Geo | a vector of the geometries to be plotted |
fn | filename where paraview file is written |
npts | number of points used for sampling each geometry |
mesh | if true, the parameter mesh is plotted as well |
ctrlNet | if true, the control net is plotted as well |
void gsWriteParaview | ( | const gsGeometrySlice< T > & | Geo, |
std::string const & | fn, | ||
unsigned | npts = NS |
||
) |
Export a Geometry slice to paraview file.
Export a Geometry without scalar information.
Geo | a gsGeometrySlice |
fn | filename where paraview file is written |
npts | number of points used for sampling each curve |
void gsWriteParaview | ( | gsFunctionSet< T > const & | func, |
std::string const & | fn, | ||
unsigned | npts = NS |
||
) |
Export a functionSet plot to paraview file.
func | a functionSet object |
fn | filename where paraview file is written |
npts | number of points used for sampling the domain |
void gsWriteParaview | ( | gsFunction< T > const & | func, |
gsMatrix< T > const & | supp, | ||
std::string const & | fn, | ||
unsigned | npts = NS , |
||
bool | graph = true |
||
) |
Export a function plot to paraview file.
Export a function.
func | a function object |
supp | a matrix with two columns defining (lower and upper corner of) a box: this is the domain over which we shall evaluate the function, after sampling |
fn | filename where paraview file is written |
npts | number of points used for sampling the domain |
void gsWriteParaview | ( | gsBasis< T > const & | basis, |
std::string const & | fn, | ||
unsigned | npts = NS , |
||
bool | mesh = false |
||
) |
Export Basis functions to paraview files.
Export Basis functions.
basis | a basis object |
fn | filename where paraview file is written |
npts | number of points used for sampling each curve |
mesh | if true, the parameter mesh is plotted as well |
void gsWriteParaview | ( | gsHBox< 2, T > & | box, |
std::string const & | fn | ||
) |
void gsWriteParaview | ( | gsHBoxContainer< 2, T > & | box, |
std::string const & | fn | ||
) |
void gsWriteParaview | ( | gsSolid< T > const & | sl, |
std::string const & | fn, | ||
unsigned | numPoints_for_eachCurve = 50 , |
||
int | vol_Num = 0 , |
||
T | edgeThick = 0.01 , |
||
gsVector3d< T > const & | translate = gsVector3d<T>(0,0,0) , |
||
int | color_convex = 0 , |
||
int | color_nonconvex = 20 , |
||
int | color_eloop = 10 , |
||
std::vector< unsigned > const & | eloop = std::vector<unsigned>() |
||
) |
Export tensor-structured point set with field data to Paraview file.
points | matrix that contain 2D or 3D points, points are columns |
data | |
np | |
fn | filename where paraview file is written Depicting edge graph of each volume of one gsSolid with a segmenting loop |
sl | a gsMesh object |
fn | filename where paraview file is written |
numPoints_for_eachCurve | number of points used for sampling each curve |
vol_Num | ID of face(s), that should be written |
edgeThick | thickness of edges |
translate | "translate" vector, toward the volume is translated |
color_convex | Color, if face is convex and not eloop. |
color_nonconvex | Color, if face is not convex |
color_eloop | Color, if is in heSet and convex |
eloop | a vector of ID numbers of vertices, often for representing a segmenting loop |
Number of vertices and number of faces
Coordinates of vertices
Scalar field attached to each degenerate face on the "edge"
limit: for now, assign all scalars to 0
Which vertices belong to which faces
Space between edges
Number of vertices and number of faces
Coordinates of vertices
Scalar field attached to each degenerate face on the "edge"
limit: for now, assign all scalars to 0
Which vertices belong to which faces
Space between edges
void gismo::gsWriteParaview | ( | gsCurveLoop< T > const & | cloop, |
std::string const & | fn, | ||
unsigned | npts | ||
) |
Visualizing a gsCurveLoop.
cloop | the curve loop |
fn | filename where paraview file is written |
npts | number of points used for sampling each curve |
void gsWriteParaview | ( | gsPlanarDomain< T > const & | pdomain, |
std::string const & | fn, | ||
unsigned | npts = NS |
||
) |
Visualizing a gsPlanarDomain.
pdomain | the planar domain |
fn | filename where paraview file is written |
npts | number of points used for sampling |
void gsWriteParaview | ( | const gsVolumeBlock< T > & | volBlock, |
std::string const & | fn, | ||
unsigned | npts = NS |
||
) |
Export a volumeBlock.
Currently: output file shows boundary curves of this block.
volBlock | pointer to the volume block |
fn | filename where paraview file is written |
npts | number of points used for sampling of a curve |
void gsWriteParaview | ( | gsMultiPatch< T > const & | patches, |
typename gsBoundaryConditions< T >::bcContainer const & | bcs, | ||
std::string const & | fn, | ||
unsigned | npts = NS , |
||
bool | ctrlNet = false |
||
) |
Visualizing boundary conditions.
pdomain | the planar domain |
fn | filename where paraview file is written |
npts | number of points used for sampling |
void gismo::gsWriteParaview | ( | gsMesh< T > const & | sl, |
std::string const & | fn, | ||
bool | pvd | ||
) |
Visualizing a mesh.
Number of vertices and number of faces
Coordinates of vertices
Which vertices belong to which faces
void gsWriteParaview_basisFnct | ( | int | i, |
gsBasis< T > const & | basis, | ||
std::string const & | fn, | ||
unsigned | npts = NS |
||
) |
Export i-th Basis function to paraview file.
Export i-th Basis function.
i | index of a basis function |
basis | a basis object |
fn | filename where paraview file is written |
npts | number of points used for sampling each curve |
void gsWriteParaviewBdr | ( | gsMultiPatch< T > const & | patches, |
std::string const & | fn, | ||
unsigned | npts, | ||
bool | ctrlNet | ||
) |
Writes the boundaries of a multipatch to paraview.
patches | The patches | |
fn | The filename | |
[in] | npts | The number of sampling points per boundary |
[in] | ctrlNet | Plot the control net |
void gsWriteParaviewIfc | ( | gsMultiPatch< T > const & | patches, |
std::string const & | fn, | ||
unsigned | npts, | ||
bool | ctrlNet | ||
) |
Writes the interfaces of a multipatch to paraview.
patches | The patches | |
fn | The filename | |
[in] | npts | The number of sampling points per interface |
[in] | ctrlNet | Plot the control net |
void gsWriteParaviewMultiPhysics | ( | std::map< std::string, const gsField< T > * > | fields, |
std::string const & | fn, | ||
unsigned | npts = NS , |
||
bool | mesh = false , |
||
bool | ctrlNet = false |
||
) |
Write a file containing several fields defined on the same geometry to ONE paraview file.
fields | a map of field pointers |
fn | filename where paraview file is written |
npts | number of points used for sampling each patch |
mesh | if true, the parameter mesh is plotted as well |
void gsWriteParaviewMultiPhysicsSinglePatch | ( | std::map< std::string, const gsField< T > * > | fields, |
const unsigned | patchNum, | ||
std::string const & | fn, | ||
unsigned | npts | ||
) |
Extract and evaluate geometry and the fields for a single patch.
fields | a map of field pointers |
patchNum | a number of patch |
fn | filename where paraview file is written |
npts | number of points used for sampling each patch |
void gsWriteParaviewMultiPhysicsTimeStep | ( | std::map< std::string, const gsField< T > * > | fields, |
std::string const & | fn, | ||
gsParaviewCollection & | collection, | ||
int | time, | ||
unsigned | npts = NS |
||
) |
Write a file containing several fields defined on the same geometry to ONE paraview file and adds it as a timestep to a Paraview collection.
fields | a map of field pointers |
fn | filename where paraview file is written |
npts | number of points used for sampling each patch |
mesh | if true, the parameter mesh is plotted as well |
void gsWriteParaviewMultiTPgrid | ( | gsMatrix< T > const & | points, |
std::map< std::string, gsMatrix< T > > & | data, | ||
const gsVector< index_t > & | np, | ||
std::string const & | fn | ||
) |
Utility function to actually write prepaired matrices with data into Paraview file.
points | a matrix with space-points to plot |
data | a map of matrices with field evaluations to plotfilename where paraview file is written |
np | a vector containg the data range info |
fn | filename where paraview file is written |
void gsWriteParaviewPoints | ( | gsMatrix< T > const & | X, |
gsMatrix< T > const & | Y, | ||
std::string const & | fn | ||
) |
Export 2D Point set to Paraview file.
Export Point set to Paraview.
X | 1 times n matrix of values for x direction |
Y | 1 times n matrix of values for y direction |
fn | filename where paraview file is written |
void gsWriteParaviewPoints | ( | gsMatrix< T > const & | X, |
gsMatrix< T > const & | Y, | ||
gsMatrix< T > const & | Z, | ||
std::string const & | fn | ||
) |
Export 3D Point set to Paraview file.
X | 1 times n matrix of values for x direction |
Y | 1 times n matrix of values for y direction |
Z | 1 times n matrix of values for z-direction |
fn | filename where paraview file is written |
void gsWriteParaviewPoints | ( | gsMatrix< T > const & | points, |
std::string const & | fn | ||
) |
Export Point set to Paraview file.
points | matrix that contain 2D or 3D points, points are columns |
fn | filename where paraview file is written |
void gsWriteParaviewTrimmedCurve | ( | const gsTrimSurface< T > & | surf, |
const unsigned | idLoop, | ||
const unsigned | idCurve, | ||
const std::string | fn, | ||
unsigned | npts = NS |
||
) |
Export a boundary/hole curve in trimmed surface.
surf | trimmed surface |
idLoop | curve loop number of a curve (0 - boundary, > 0 - hole) |
idCurve | curve number in a curve loop |
fn | filename (output paraview file) |
npts | number of points used for sampling a curve |
gsVector<T> gismo::HornerEval | ( | gsMatrix< T > & | mat, |
T | num | ||
) |
in the input gsMatrix the polynomials are stored row by row with their coefficiens HornerEval returns a vector where the matrix is evaluated at position num
|
inline |
Check if all the entires if the matrix x are not INF (infinite)
See https://en.wikipedia.org/wiki/Floating_point#Special_values
|
inline |
Check if all the entires if the matrix x are not NAN (not a number)
See https://en.wikipedia.org/wiki/Floating_point#Special_values and https://en.wikipedia.org/wiki/NaN
|
inline |
Fast creation of a collection using base filename fn, extension ext. The collection will contain the files fn_0.ext, fn_1.ext,...,fn_{n-1}.ext In the special case of n=0, the collection is just fn.pvd and contains only the file fn.ext
bool gismo::makeHierarchicalMesh | ( | const gsBasis< T > & | basis, |
std::vector< gsMesh< T > > & | meshes, | ||
int | n = 0 |
||
) |
Constructs a series of meshes, each mesh presents on level in hierarchical basis.
basis | hierarchocal tensor basis |
meshes | we return meshes via reference to std::vector |
n | how many vertices is used in presentation of one element |
void gismo::makeMesh | ( | const gsBasis< T > & | basis, |
gsMesh< T > & | mesh, | ||
int | n = 0 |
||
) |
Returns the computational mesh of basis.
[in] | basis | |
mesh | ||
[in] | n | number of samples per element side |
bool gismo::operator!= | ( | gsVertex< T > const & | lhs, |
gsVertex< T > const & | rhs | ||
) |
|
inline |
Print (as string) an interface.
TODO: the information could be stored in a single vector of signed integers: the sign gives the orientation the problem is that it is necessary to shift the indices as there is no -0
bool gismo::operator== | ( | gsVertex< T > const & | lhs, |
gsVertex< T > const & | rhs | ||
) |
Compare LHS == RHS
T |
lhs | |
rhs |
bool gismo::operator> | ( | gsVertex< T > const & | lhs, |
gsVertex< T > const & | rhs | ||
) |
Compares LHS.x < RHS.X Compares first x, if equal y, if equal z.
T |
lhs | |
rhs |
gsMatrix<T> gismo::optQuadratic | ( | gsMatrix< T > const & | A1, |
gsMatrix< T > const & | b1, | ||
T const & | w1, | ||
gsMatrix< T > const & | A2, | ||
gsMatrix< T > const & | b2, | ||
T const & | w2, | ||
gsMatrix< T > const & | C, | ||
gsMatrix< T > const & | d, | ||
T const & | w3, | ||
gsMatrix< T > const & | Q | ||
) |
Find X which solves: min w_1 (A_1 X-b_1)^T (A_1 X-b_1) + w_2 (A_2 X-b_2)^T (A_2 X-b_2) + w3 X'QX, s.t. CX=d
|
inline |
Returns the parameter value (false=0=start, true=1=end) that corresponds to side s.
[in] | s | integer corresponding to a boundary side |
Example:
In 2D, let the parameter domain be defined by \((u,v)\in [0,1]^2\). Since the side with index 3 corresponds to "south", i.e. to \( \{ (u,v):\ v = 0 \} \), calling parameter(3) will return 0=false.
use boxSide struct instead of enumerated values
void plotDeformation | ( | const gsMultiPatch< T > & | initDomain, |
const std::vector< gsMultiPatch< T > > & | displacements, | ||
std::string | fileName, | ||
index_t | numSamplingPoints = 10000 |
||
) |
use all saved displacement fields to plot the all intermediate deformed configurations of the computational domain; always plots the deformed isoparametric mesh; plots the Jacobian determinant of the deformed configuration if numSamplingPoints > 0
gsMonomialPoly<T> gismo::PolyDerivWithSameDegree | ( | const gsMonomialPoly< T > & | poly | ) |
Returns the derivation of the input polynomial including a leading 0, s.t. the output polynomial is of the same degree as the input polynomial
gsMonomialPoly<T> gismo::PolyDivision | ( | const gsMonomialPoly< T > & | dividendPoly, |
const gsMonomialPoly< T > & | divisorPoly, | ||
int | num | ||
) |
Polynomial Division the input num dedicates if the quotient or the remainder is returned num = 1 returns the qoutient num = 2 returns the remainder
gsVector<T> gismo::ShiftRight | ( | const gsVector< T > & | vec, |
int | num | ||
) |
returns a gsVector where the elements are shifted "num"-spaces to the right the left side is filled with zeros
|
inline |
Computes the orientation of the boundary side s with respect to the interior of the parameter domain. The result is either +1 (counter-clockwise) or -1 (clock-wise).
s | integer corresponding to a boundary side |
gsMatrix<T> gismo::SortRoots | ( | gsMatrix< T > & | unsort | ) |
sorts the Matrix, where the roots are stored by their left bound and consolidates equal intervals
gsMatrix< T > uniformPointGrid | ( | const gsVector< T > & | lower, |
const gsVector< T > & | upper, | ||
int | numPoints = 1000 |
||
) |
Approximately uniformly spaced grid in every direction, with approximately numPoints total points
|
inline |
helper function to set optimizer options
helper function to verbose log