42 double d,
double w = 0.0,
ASMbase* p =
nullptr,
int c = 0);
51 double d,
double w = 0.0,
ASMbase* p =
nullptr,
int c = 0);
59 ASMbase* p =
nullptr,
double eps = 0.0,
int c = 0);
77 double ecc(
const Vec3& X,
int i)
const {
return X(i) -
X0(i); }
83 double value(
const Vec3& X,
bool ignoreDomain =
false)
const;
128 double d,
double w = 0.0,
ASMbase* p =
nullptr);
137 double d,
double w = 0.0,
ASMbase* p =
nullptr);
145 ASMbase* p =
nullptr,
double eps = 0.0);
General functions with arbitrary argument and value type.
Representation of points in 3D space with coordinates and parameters.
std::pair< Vec3, Vec3 > Vec3Pair
A pair of two point vectors.
Definition: Vec3.h:316
Base class for spline-based finite element (FE) assembly drivers.
Definition: ASMbase.h:70
Class representing a dual field for goal-oriented error estimation.
Definition: DualField.h:29
Vec3 z() const
Returns the local Z (2nd tangent) direction of the cross section.
Definition: DualField.h:74
const Vec3 & y() const
Returns the local Y (tangent) direction of the cross section.
Definition: DualField.h:72
bool isPointExtraction() const
Returns true, if the dual field is for extracting point values.
Definition: DualField.h:85
const Vec3 & x() const
Returns the local X (normal) direction of the cross section.
Definition: DualField.h:70
virtual bool initPatch(size_t idx)
Returns true if current patch is affected by this function.
Definition: DualField.C:60
Vec3 normal
Outward-directed normal vector of the cross section.
Definition: DualField.h:98
Vec3 Xur
Upper-right corner of box domain for point extraction.
Definition: DualField.h:103
std::set< int > Delem
List of elements in domain.
Definition: DualField.h:106
ASMbase * patch
The patch that this field is defined on.
Definition: DualField.h:105
double width
Width of the the dual function domain (0=infinite)
Definition: DualField.h:101
double value(const Vec3 &X, bool ignoreDomain=false) const
Returns the function value at the given point.
Definition: DualField.C:142
DualRealFunc(const Vec3 &o, const Vec3 &n, const Vec3 &XZp, double d, double w=0.0, ASMbase *p=nullptr, int c=0)
Constructor for 3D problems.
Definition: DualField.C:19
virtual bool inDomain(const Vec3 &X) const
Checks if the point X is within the function domain.
Definition: DualField.C:102
virtual ~DualRealFunc()
Empty destructor.
Definition: DualField.h:61
utl::Point X0
Coordinates of cross section origin or reference point.
Definition: DualField.h:96
virtual unsigned char getType() const
Returns the function type flag.
Definition: DualField.h:64
virtual double evaluate(const Vec3 &X) const
Evaluates the dual field function.
Definition: DualField.h:93
Vec3 tangent
Vector defining the local y-direction of the cross section.
Definition: DualField.h:99
double ecc(const Vec3 &X, int i) const
Returns the offset from the cross section origin \ b X0.
Definition: DualField.h:77
double depth
Depth of the the dual function domain (0=point extraction)
Definition: DualField.h:100
Vec3 Xll
Lower-left corner of box domain for point extraction.
Definition: DualField.h:102
short int comp
Result component to extract for (0 if used as weight)
Definition: DualField.h:30
Class representing a dual vector field.
Definition: DualField.h:115
const RealFunc & getW() const
Returns a const reference to the scalar dual field.
Definition: DualField.h:158
virtual Vec3 evaluate(const Vec3 &X) const
Evaluates the dual field function.
Definition: DualField.C:185
DualVecFunc(int c, const Vec3 &o, const Vec3 &n, const Vec3 &XZp, double d, double w=0.0, ASMbase *p=nullptr)
Constructor for 3D problems.
Definition: DualField.C:156
DualRealFunc W
The scalar dual field.
Definition: DualField.h:169
int comp
Which result component to extract for.
Definition: DualField.h:116
virtual double getScalarValue(const Vec3 &X) const
Returns a representative scalar equivalent of the function value.
Definition: DualField.h:161
virtual bool initPatch(size_t idx)
Returns true if current patch is affected by this function.
Definition: DualField.h:155
virtual ~DualVecFunc()
Empty destructor.
Definition: DualField.h:147
virtual bool inDomain(const Vec3 &X) const
Checks if the point X is within the function domain.
Definition: DualField.h:153
virtual unsigned char getType() const
Returns the function type flag.
Definition: DualField.h:150
Scalar-valued unary function of a spatial point.
Definition: Function.h:193
Simple class for representing a point in 3D space.
Definition: Vec3.h:27
Vector-valued unary function of a spatial point.
Definition: Function.h:242
Class for representing points in 3D space.
Definition: Point.h:29