14 #ifndef _ASM_S1D_LAG_H
15 #define _ASM_S1D_LAG_H
30 explicit ASMs1DLag(
unsigned char n_s = 1,
unsigned char n_f = 1);
43 virtual bool write(std::ostream& os,
int = 0)
const;
52 virtual void clear(
bool retainGeometry =
false);
105 virtual int evalPoint(
const double* xi,
double* param,
Vec3& X)
const;
120 const int*,
int,
bool)
const;
135 const int*,
char)
const;
Common base class for Lagrange FE models.
std::vector< IntVec > IntMat
General 2D integer matrix.
Definition: ASMbase.h:26
Driver for assembly of structured 1D spline FE models.
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition: ImmersedBoundaries.h:29
Common base class for Lagrange FE models.
Definition: ASMLagBase.h:27
size_t nel
Number of regular elements in this patch.
Definition: ASMbase.h:1035
const IntMat & MNPC
Matrix of Nodal Point Correspondance.
Definition: ASMbase.h:1040
Driver for assembly of 1D Lagrange FE models.
Definition: ASMs1DLag.h:27
virtual IntMat getElmNodes(int) const
Returns the matrix of nodal point correspondance.
Definition: ASMs1DLag.C:578
virtual bool updateCoords(const Vector &displ)
Updates the nodal coordinates for this patch.
Definition: ASMs1DLag.C:176
virtual bool evalSolution(Matrix &sField, const Vector &locSol, const int *npe, int, bool) const
Evaluates the primary solution field at all visualization points.
Definition: ASMs1D.C:1565
virtual bool getElementCoordinates(Matrix &X, int iel, bool=true) const
Returns a matrix with nodal coordinates for an element.
Definition: ASMs1DLag.C:147
static void createMNPC(size_t nel, int p1, IntMat &MNPC)
Creates matrix of nodal point correspondance for a structured grid.
Definition: ASMs1DLag.C:586
virtual Vec3 getCoord(size_t inod) const
Returns the global coordinates for the given node.
Definition: ASMs1DLag.C:122
virtual int getSize(int=0) const
Returns the number of nodal points in the patch.
Definition: ASMs1DLag.h:147
virtual int evalPoint(const double *xi, double *param, Vec3 &X) const
Evaluates the geometry at a specified point.
Definition: ASMs1DLag.C:434
virtual void clear(bool retainGeometry=false)
Clears the contents of the patch, making it empty.
Definition: ASMs1DLag.C:53
int p1
Polynomial order of the basis.
Definition: ASMs1DLag.h:158
virtual Vec3 getElementCenter(int iel) const
Returns the geometric center of an element.
Definition: ASMs1DLag.C:131
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)
Evaluates an integral over the interior patch domain.
Definition: ASMs1DLag.C:199
virtual ~ASMs1DLag()
Empty destructor.
Definition: ASMs1DLag.h:36
virtual void getNodalCoordinates(Matrix &X, bool=false) const
Returns a matrix with all nodal coordinates within the patch.
Definition: ASMs1DLag.C:167
ASMs1DLag(unsigned char n_s=1, unsigned char n_f=1)
Default constructor.
Definition: ASMs1DLag.C:30
virtual bool generateOrientedFEModel(const Vec3 &Zaxis)
Generates a beam finite element model for the patch.
Definition: ASMs1DLag.C:63
virtual bool write(std::ostream &os, int=0) const
Writes the FEM basis to given stream.
Definition: ASMs1DLag.C:572
size_t nx
Number of nodes.
Definition: ASMs1DLag.h:157
virtual bool tesselate(ElementBlock &grid, const int *) const
Creates a line element model of this patch for visualization.
Definition: ASMs1DLag.C:453
Driver for assembly of structured 1D spline FE models.
Definition: ASMs1D.h:36
virtual int getSize(int=0) const
Returns the number of nodal points in the patch.
Definition: ASMs1D.C:983
virtual bool evalSolution(Matrix &sField, const Vector &locSol, const int *npe, int n_f=0, bool piola=false) const
Evaluates the primary solution field at all visualization points.
Definition: ASMbase.C:1735
Class for storage of a standard FE grid block.
Definition: ElementBlock.h:27
Abstract base class representing a system level integrated quantity.
Definition: GlobalIntegral.h:29
Base class representing a system level integrated quantity.
Definition: IntegrandBase.h:42
Abstract base class representing a system level integrated quantity.
Definition: Integrand.h:44
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
Struct representing the time domain.
Definition: TimeDomain.h:23