14 #ifndef _SIM_GENERIC_H_
15 #define _SIM_GENERIC_H_
48 int deriv = 0,
int patch = 1)
const;
57 int evalPoint(
const double* xi,
Vec3& X,
double* param =
nullptr,
58 int patch = 1,
bool global =
false)
const;
66 const RealArray& weights,
int code)
const;
74 int patch = 1,
bool global =
false)
const;
91 const std::string&)
const {}
103 size_t idx,
size_t inorm)
const;
std::vector< RealArray > Real2DMat
A real-valued two-dimensional array without algebraic operations.
Definition: ImmersedBoundaries.h:34
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition: ImmersedBoundaries.h:29
std::vector< Vector > Vectors
An array of real-valued vectors with algebraic operations.
Definition: MatVec.h:37
Sub-class with functionality for result output to VTF and terminal.
Base class for spline-based finite element (FE) assembly drivers.
Definition: ASMbase.h:70
Base class representing a system level integrated quantity.
Definition: IntegrandBase.h:42
Generic SIM class with some added functionalities.
Definition: SIMgeneric.h:28
bool revertSqrt(Vectors &gNorm, Matrix *eNorm)
Reverts the square-root operation on some norm quantities.
Definition: SIMgeneric.C:217
RealArray getSolution(const Vector &psol, const double *par, int deriv=0, int patch=1) const
Evaluates the primary solution at the given point.
Definition: SIMgeneric.C:39
size_t getVCPindex(size_t idx=1) const
Returns the norm index for the a VCP-recovered quantity.
Definition: SIMgeneric.C:152
virtual ~SIMgeneric()
Empty destructor.
Definition: SIMgeneric.h:35
virtual size_t getVolumeIndex() const
Returns the norm index for the integrated volume (3D) or area (2D).
Definition: SIMgeneric.h:82
virtual void printNormGroup(const Vector &, const Vector &, const std::string &) const
Prints a norm group to the log stream (app-specific).
Definition: SIMgeneric.h:90
RealArray getInterfaceForces(const RealArray &sf, const RealArray &weights, int code) const
Extracts the force resultant on a specified interface.
Definition: SIMgeneric.C:70
virtual bool calcBouForces(Real2DMat &, const Vectors &)
Calculates surface traction resultants.
Definition: SIMgeneric.h:77
SIMgeneric(IntegrandBase *itg=nullptr)
Default constructor.
Definition: SIMgeneric.h:31
int findElementContaining(const double *param, int patch=1, bool global=false) const
Returns the element that contains a specified spatial point.
Definition: SIMgeneric.C:118
virtual double getEffectivityIndex(const Vectors &gNorm, size_t idx, size_t inorm) const
Returns the global effectivity index.
Definition: SIMgeneric.C:145
virtual bool staticCondensation(Matrix &, Vector &)
Interface for static condensation of the linear equation system.
Definition: SIMgeneric.h:106
virtual void dumpSupernodes(std::ostream &) const
Interface for dumping supernode coordinates to file.
Definition: SIMgeneric.h:112
int evalPoint(const double *xi, Vec3 &X, double *param=nullptr, int patch=1, bool global=false) const
Evaluates the mapping of the geometry at the given point.
Definition: SIMgeneric.C:106
virtual double getReferenceNorm(const Vectors &gNorm, size_t adaptor) const
Returns the reference norm to base mesh adaptation upon.
Definition: SIMgeneric.C:129
virtual std::string getSupelName() const
Interface for returning the superelement file name, if any.
Definition: SIMgeneric.h:110
virtual void printNorms(const Vectors &gNorm, size_t w=36) const
Prints integrated solution norms to the log stream.
Definition: SIMgeneric.C:167
virtual bool recoverInternals(const Vector &, Vector &)
Interface for recovery of internal DOFs from static condensation.
Definition: SIMgeneric.h:108
ASMbase * createDefaultModel()
Creates a model with the default geometry (line, plane, cube).
Definition: SIMgeneric.C:24
Sub-class with additional functionality for result output.
Definition: SIMoutput.h:33
Simple class for representing a point in 3D space.
Definition: Vec3.h:27
A vector class with some added algebraic operations.
Definition: matrix.h:64