58 typedef memory::shared_ptr< gsField > Ptr;
59 typedef memory::unique_ptr< gsField > uPtr;
134 return (
m_fields->piece(i).eval(u) );
138 T
distanceL2(gsField<T>
const & field,
int numEvals= 1000)
const;
142 bool isFunc_param =
false,
143 int numEvals=1000)
const;
148 gsMultiBasis<T>
const & B,
149 bool isFunc_param =
false,
150 int numEvals=1000)
const;
155 bool isFunc_param =
false,
161 gsMultiBasis<T>
const & B,
162 bool isFunc_param =
false,
168 bool isFunc_param =
false)
const;
173 bool isFunc_param =
false,
177 std::ostream &
print(std::ostream &os)
const
180 <<
"unction field.\n Defined on " <<
m_patches;
205 "No geometry in field. The domain is"<< *
m_patches);
213 "No patches in field. The field domain is "<< *
m_patches);
224 "gsField: Invalid patch index.");
226 "No geometry in field. The domain is"<<
m_patches->piece(i));
234 "No function in field. The domain is"<<
m_patches->piece(i));
242 "gsField: Invalid patch index.");
244 "Cannot get an IGA function from non-parametric field.");
246 "Cannot return an igaFunction from a function of type: "<<
m_fields->piece(i) );
304 std::ostream &operator<<(std::ostream &os, const gsField<T>& b)
305 {
return b.print(os); }
310 #ifndef GISMO_BUILD_LIB
311 #include GISMO_HPP_HEADER(gsField.hpp)
bool m_parametric
True iff this is an isogeometric field.
Definition: gsField.h:297
Abstract base class representing a geometry map.
Definition: gsGeometry.h:92
shared_ptr< T > make_shared_not_owned(const T *x)
Creates a shared pointer which does not eventually delete the underlying raw pointer. Usefull to refer to objects which should not be destroyed.
Definition: gsMemory.h:189
gsFunctionSet< T >::Ptr m_fields
Vector containing "local fields" for each patch/subdomain.
Definition: gsField.h:286
const gsMatrix< T > & coefficientVector(int i=0) const
Returns the coefficient vector (if it exists) corresponding to the function field for patch i...
Definition: gsField.h:268
A scalar of vector field defined on a m_parametric geometry.
Definition: gsField.h:54
#define short_t
Definition: gsConfig.h:35
Provides declaration of MultiBasis class.
short_t parDim() const
Returns the dimension of the parameter domain (e.g., if the domain is a surface in three-dimensional ...
Definition: gsField.h:186
T distanceH2(gsFunctionSet< T > const &func, bool isFunc_param=false) const
Definition: gsField.hpp:66
Provides declaration of Geometry abstract interface.
#define index_t
Definition: gsConfig.h:32
A function from a n-dimensional domain to an m-dimensional image.
Definition: gsFunction.h:59
const gsFunctionSet< T > * m_patches
The isogeometric field is defined on this multipatch domain.
Definition: gsField.h:277
const gsMultiPatch< T > & patches() const
Returns gsMultiPatch containing the geometric information on the domain.
Definition: gsField.h:210
bool isParametrized() const
Definition: gsField.h:257
short_t geoDim() const
Returns the dimension of the physical domain (e.g., if the domain is a surface in three-dimensional s...
Definition: gsField.h:190
T distanceDG(gsFunctionSet< T > const &func, bool isFunc_param=false, int=1000) const
Definition: gsField.hpp:122
GISMO_DEPRECATED index_t nPatches() const
Returns the number of patches.
Definition: gsField.h:197
#define GISMO_ASSERT(cond, message)
Definition: gsDebug.h:89
memory::shared_ptr< gsFunctionSet > Ptr
Shared pointer for gsFunctionSet.
Definition: gsFunctionSet.h:223
const gsFunctionSet< T > & fields() const
Returns the fields (defined per patch)
Definition: gsField.h:218
bool isParametric() const
Definition: gsField.h:252
gsMatrix< T > point(const gsMatrix< T > &u, int i=0) const
Maps points u from the parameter domain to the physical domain.
Definition: gsField.h:104
Provides declaration of the MultiPatch class.
Interface for the set of functions defined on a domain (the total number of functions in the set equa...
Definition: gsFuncData.h:23
Container class for a set of geometry patches and their topology, that is, the interface connections ...
Definition: gsMultiPatch.h:33
T distanceH1(gsFunctionSet< T > const &func, bool isFunc_param=false, int=1000) const
Definition: gsField.hpp:111
T distanceL2(gsField< T > const &field, int numEvals=1000) const
Computes the L2-distance between the two fields, on the physical domain.
Definition: gsField.hpp:94
Provides functions to generate structured point data.
gsMatrix< T > value(const gsMatrix< T > &u, int i=0) const
Evaluation of the field at points u.
Definition: gsField.h:122
int nPieces() const
Returns the number of pieces.
Definition: gsField.h:200
short_t dim() const
Returns the dimension of the physical domain (e.g., if the domain is a surface in three-dimensional s...
Definition: gsField.h:194
This is the interface of all objects that computes functions on points like gsBasis, gsGeometry and gsFunctions.
const gsGeometry< T > & patch(int i=0) const
Returns the gsGeometry of patch i.
Definition: gsField.h:221
std::ostream & print(std::ostream &os) const
Prints the object as a string.
Definition: gsField.h:177
const gsGeometry< T > & igaFunction(int i=0) const
Attempts to return an Isogeometric function for patch i.
Definition: gsField.h:239