G+Smo
24.08.0
Geometry + Simulation Modules
|
Class defining a gsFunction that reads from the precice::SolverInterface.
T | Number format |
Public Types | |
typedef memory::shared_ptr < gsPreCICEFunction > | Ptr |
Shared pointer for gsPreCICEFunction. | |
typedef memory::unique_ptr < gsPreCICEFunction > | uPtr |
Unique pointer for gsPreCICEFunction. | |
Public Member Functions | |
gsMatrix< index_t > | active (const gsMatrix< T > &u) const |
Returns the indices of active (nonzero) functions at points u, as a list of indices. More... | |
void | active_into (const gsMatrix< T > &u, gsMatrix< index_t > &result) const |
Indices of active (non-zero) function(s) for each point. More... | |
const gsBasis< T > & | basis (const index_t k) const |
Helper which casts and returns the k-th piece of this function set as a gsBasis. | |
uPtr | clone () |
Clone methode. Produceds a deep copy inside a uPtr. | |
virtual void | compute (const gsMatrix< T > &in, gsFuncData< T > &out) const |
Computes function data. More... | |
virtual void | computeMap (gsMapData< T > &InOut) const |
Computes map function data. More... | |
gsFuncCoordinate< T > | coord (const index_t c) const |
Returns the scalar function giving the i-th coordinate of this function. | |
gsMatrix< T > | deriv (const gsMatrix< T > &u) const |
Evaluate the derivatives,. More... | |
gsMatrix< T > | deriv2 (const gsMatrix< T > &u) const |
Evaluates the second derivatives of active (i.e., non-zero) functions at points u. More... | |
virtual void | deriv2_into (const gsMatrix< T > &u, gsMatrix< T > &result) const |
See gsFunction. | |
virtual void | deriv_into (const gsMatrix< T > &u, gsMatrix< T > &result) const |
See gsFunction. | |
virtual T | distanceL2 (gsFunction< T > const &) const |
Computes the L2-distance between this function and the field and a function func. | |
virtual short_t | domainDim () const |
See gsFunction. | |
gsMatrix< T > | eval (const gsMatrix< T > &u) const |
Evaluate the function,. More... | |
virtual void | eval_into (const gsMatrix< T > &u, gsMatrix< T > &result) const |
See gsFunction. | |
std::vector< gsMatrix< T > > | evalAllDers (const gsMatrix< T > &u, int n, bool sameElement=false) const |
Evaluate all derivatives upto order n,. More... | |
void | evalAllDers_into (const gsMatrix< T > &u, int n, std::vector< gsMatrix< T > > &result) const |
See gsFunction. | |
virtual void | evalAllDers_into (const gsMatrix< T > &u, int n, std::vector< gsMatrix< T > > &result, bool sameElement=false) const |
Evaluate the nonzero functions and their derivatives up to order n at points u into result. More... | |
const gsFunction< T > & | function (const index_t k) const |
Helper which casts and returns the k-th piece of this function set as a gsFunction. | |
gsPreCICEFunction () | |
Default constructor. | |
gsPreCICEFunction (gsPreCICE< T > *interface, const index_t &meshID, const index_t &dataID, const gsMultiPatch< T > &patches, const bool parametric=false) | |
Constructs a new instance of the gsPreCICEFunction. More... | |
virtual void | invertPoints (const gsMatrix< T > &points, gsMatrix< T > &result, const T accuracy=1e-6, const bool useInitialPoint=false) const |
int | newtonRaphson (const gsVector< T > &value, gsVector< T > &arg, bool withSupport=true, const T accuracy=1e-6, int max_loop=100, T damping_factor=1) const |
virtual index_t | nPieces () const |
Number of pieces in the domain of definition. | |
virtual gsMatrix< T > | parameterCenter () const |
Returns a "central" point inside inside the parameter domain. | |
gsMatrix< T > | parameterCenter (const boxCorner &bc) const |
Get coordinates of the boxCorner bc in the parameter domain. | |
gsMatrix< T > | parameterCenter (const boxSide &bs) const |
Get coordinates of the midpoint of the boxSide bs in the parameter domain. | |
const gsPreCICEFunction< T > & | piece (const index_t) const |
Access a piece. | |
virtual std::ostream & | print (std::ostream &os) const |
See gsFunction. | |
void | recoverPoints (gsMatrix< T > &xyz, gsMatrix< T > &uv, index_t k, const T accuracy=1e-6) const |
index_t | size () const |
size More... | |
virtual short_t | targetDim () const |
Gives the targetDomain, currently only scalar functions (todo) | |
Evaluation functions | |
These functions allow one to evaluate the function as well as its derivatives at one or more points in the parameter space. See also Evaluation members. | |
virtual void | eval_component_into (const gsMatrix< T > &u, const index_t comp, gsMatrix< T > &result) const |
Evaluate the function for component comp in the target dimension at points u into result. | |
virtual void | jacobian_into (const gsMatrix< T > &u, gsMatrix< T > &result) const |
Computes for each point u a block of result containing the Jacobian matrix. | |
void | div_into (const gsMatrix< T > &u, gsMatrix< T > &result) const |
Computes for each point u a block of result containing the divergence matrix. | |
gsMatrix< T > | jacobian (const gsMatrix< T > &u) const |
virtual void | hessian_into (const gsMatrix< T > &u, gsMatrix< T > &result, index_t coord=0) const |
virtual gsMatrix< T > | hessian (const gsMatrix< T > &u, index_t coord=0) const |
virtual gsMatrix< T > | laplacian (const gsMatrix< T > &u) const |
Evaluate the Laplacian at points u. More... | |
Static Public Member Functions | |
static uPtr | make (const gsPreCICE< T > *interface, const index_t &meshID, const index_t &dataID, const gsMultiPatch< T > &patches, const bool parametric=false) |
Constructs a function pointer. | |
|
inline |
Constructs a new instance of the gsPreCICEFunction.
interface | The precice::SolverInterface (see gsPreCICE) | |
[in] | meshID | The ID of the mesh on which the data is located |
[in] | dataID | The ID of the data |
[in] | patches | The geometry |
[in] | parametric | Specifies whether the data is defined on the parametric domain or not |
Returns the indices of active (nonzero) functions at points u, as a list of indices.
|
inlinevirtualinherited |
Indices of active (non-zero) function(s) for each point.
The columns are sorted in increasing order, if on a point there are less active then the number of rows in the result matrix (some other point has more actives) then the rest of the column is filled with 0s.
u | |
result |
Reimplemented from gsFunctionSet< T >.
|
virtualinherited |
Computes function data.
This function evaluates the functions and their derivatives at the points in and writes them in the corresponding fields of out. Which field to write (and what to compute) is controlled by the out.flags (see also gsFuncData).
The input points in are expected to be compatible with the implementation/representation of the function, i.e. they should be points inside the domain of definitition of the function
[in] | in | |
[out] | out |
Reimplemented in gsGeometry< T >, and gsConstantFunction< T >.
|
virtualinherited |
Computes map function data.
This function evaluates the functions and their derivatives at the points InOut.points and writes them in the corresponding fields of InOut. Which field to write (and what to compute) is controlled by the InOut.flags (see also gsMapData). This is intended for parametrizations only and it works on functions sets of cardinality 1 only.
[in,out] | InOut |
Evaluate the derivatives,.
Evaluates the second derivatives of active (i.e., non-zero) functions at points u.
See documentation for deriv2_into() (the one without input parameter coefs) for details.
[in] | u | Evaluation points in columns. |
Evaluate the function,.
|
inherited |
Evaluate all derivatives upto order n,.
|
virtualinherited |
Evaluate the nonzero functions and their derivatives up to order n at points u into result.
The derivatives (the 0-th derivative is the function value) are stored in a result. result is a std::vector, where result[i] is a gsMatrix which contains the i-th derivatives.
The entries in result[0], result[1], and result[2] are ordered as in eval_into(), deriv_into(), and deriv2_into(), respectively. For i > 2, the derivatives are stored in lexicographical order, e.g. for order i = 3 and dimension 2 the derivatives are stored as follows: \( \partial_{xxx}, \, \partial_{xxy}, \, \partial_{xyy}, \, \partial_{yyy}.\, \)
[in] | u | Evaluation points, each column corresponds to one evaluation point. |
[in] | n | All derivatives up to order n are computed and stored in result. |
[in,out] | result | See above for format. |
Reimplemented in gsTensorBSplineBasis< 1, T >, gsTensorBasis< d, T >, gsTensorBasis< 1, T >, gsGeometry< T >, gsMappedSingleBasis< d, T >, gsConstantFunction< T >, gsTHBSplineBasis< d, T >, gsMappedSingleSpline< d, T >, and gsSquaredDistance< T >.
|
inlinevirtualinherited |
Evaluates the Hessian (matrix of second partial derivatives) of coordinate coord at points u.
|
virtualinherited |
Takes the physical points and computes the corresponding parameter values. If the point cannot be inverted (eg. is not part of the geometry) the corresponding parameter values will be undefined
Evaluate the Laplacian at points u.
By default uses central finite differences with h=0.00001
Reimplemented in gsFunctionExpr< T >.
|
inherited |
Newton-Raphson method to find a solution of the equation f(arg) = value with starting vector arg. If the point cannot be inverted the corresponding parameter values will be undefined
|
inherited |
Recovers a point on the (geometry) together with its parameters uv, assuming that the k-th coordinate of the point xyz is not known (and has a random value as input argument).
|
inlinevirtualinherited |
size
Reimplemented from gsFunctionSet< T >.
Reimplemented in gsPiecewiseFunction< T >.