14 #ifndef _TRACTION_FIELD_H
15 #define _TRACTION_FIELD_H
48 virtual bool isZero()
const;
177 const Vec3& Xorig =
Vec3(),
bool v =
false)
General functions with arbitrary argument and value type.
#define Real
The floating point type to use.
Definition: ImmersedBoundaries.h:18
Representation of second-order tensors with some basic operations.
Traction field based on a given force resultant and orientation.
Definition: TractionField.h:151
const RealFunc * shape
Shape function for force distribution.
Definition: TractionField.h:160
ForceDirField(const ScalarFunc *f, const ScalarFunc *a, char x, const RealFunc *s, const Vec3 &Xaxis=Vec3(Real(1), Real(0), Real(0)), const Vec3 &Zaxis=Vec3(Real(0), Real(0), Real(1)), const Vec3 &Xorig=Vec3())
Alternative constructor for single-axis rotation.
Definition: TractionField.h:189
virtual bool isZero() const
Returns whether the function is identically zero or not.
Definition: TractionField.h:201
bool dirVec
If true, fdir is the force direction vector.
Definition: TractionField.h:162
const ScalarFunc * angle
Force angle about rotAxis.
Definition: TractionField.h:158
const ScalarFunc * force
Force resultant magnitude.
Definition: TractionField.h:157
virtual Vec3 evaluate(const Vec3 &x, const Vec3 &) const
Evaluates the traction field function at the specified point.
Definition: TractionField.C:127
ForceDirField(const ScalarFunc *f, const Vec3Func *d, const RealFunc *s, const Vec3 &Xaxis=Vec3(Real(1), Real(0), Real(0)), const Vec3 &Zaxis=Vec3(Real(0), Real(0), Real(1)), const Vec3 &Xorig=Vec3(), bool v=false)
The constructor initializes the function pointers.
Definition: TractionField.h:174
Vec3 X0
Local origin.
Definition: TractionField.h:154
utl::Function< Real, Vec3 > Vec3Func
Convenience type.
Definition: TractionField.h:152
Tensor Tlg
Local-to-global transformation.
Definition: TractionField.h:155
virtual ~ForceDirField()
The destructor frees the force functions.
Definition: TractionField.C:118
const Vec3Func * fdir
Force direction/angles.
Definition: TractionField.h:159
char rotAxis
Which local axis the angle is referring to.
Definition: TractionField.h:163
Traction field based on a given scalar pressure function.
Definition: TractionField.h:75
PressureField(Real p, int dir=0)
Constructor initializing a constant pressure field.
Definition: Functions.C:159
PressureField(const RealFunc *p, const VecFunc *dir)
Constructor initializing the scalar pressure field function.
Definition: TractionField.h:93
const VecFunc * pdfn
Varying global pressure direction.
Definition: TractionField.h:78
virtual bool isZero() const
Returns whether the function is identically zero or not.
Definition: TractionField.h:101
char pdir
The global pressure direction (0...3)
Definition: TractionField.h:77
const RealFunc * pressure
Scalar field to derive the traction field from.
Definition: TractionField.h:76
virtual bool isNormalPressure() const
Returns whether the traction is always normal to the face or not.
Definition: TractionField.h:99
virtual Vec3 evaluate(const Vec3 &x, const Vec3 &n) const
Evaluates the traction field function at the specified point.
Definition: TractionField.C:66
PressureField(const RealFunc *p, int dir=0)
Constructor initializing the scalar pressure field function.
Definition: TractionField.h:88
virtual ~PressureField()
The destructor frees the scalar and vector field functions.
Definition: TractionField.h:96
virtual Vec3 deriv(const Vec3 &x, const Vec3 &n) const
Returns the time-derivative of the function.
Definition: TractionField.C:93
Scalar-valued unary function of a spatial point.
Definition: Function.h:193
Symmetric tensor-valued unary function of a spatial point.
Definition: TensorFunction.h:71
Scalar-valued unary function of a scalar value.
Definition: Function.h:127
Tensor-valued unary function of a spatial point.
Definition: TensorFunction.h:27
Simple class for representing a non-symmetric second-order tensor.
Definition: Tensor.h:28
Traction field based on a given stress tensor function.
Definition: TractionField.h:35
const STensorFunc * sigma
Symmetric tensor field to derive tractions from.
Definition: TractionField.h:36
virtual bool isZero() const
Returns whether the function is identically zero or not.
Definition: TractionField.C:55
TractionField(const STensorFunc &field)
Constructor initializing the symmetric tensor function pointer.
Definition: TractionField.C:19
virtual Vec3 evaluate(const Vec3 &x, const Vec3 &n) const
Evaluates the traction field function at the specified point.
Definition: TractionField.C:33
virtual Vec3 deriv(const Vec3 &x, const Vec3 &n) const
Returns the time-derivative of the function.
Definition: TractionField.C:44
virtual ~TractionField()
Empty destructor.
Definition: TractionField.h:45
const TensorFunc * sigmaN
Tensor field to derive tractions from.
Definition: TractionField.h:37
Vector-valued binary function of a spatial point and normal vector.
Definition: Function.h:292
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
Base class for unary functions of arbitrary result and argument type.
Definition: Function.h:31
virtual bool isZero() const
Returns whether the function is identically zero or not.
Definition: Function.h:41