14#ifndef _ASM_S2D_MX_LAG_H
15#define _ASM_S2D_MX_LAG_H
78 virtual void clear(
bool retainGeometry);
94 virtual void initMADOF(
const int* sysMadof);
105 int basis,
bool coordCheck,
int thick);
140 const IntVec& nodes)
const;
150 const int*,
char = 0)
const;
171 unsigned char,
int basis)
const;
183 virtual bool getSize(
int& n1,
int& n2,
int basis)
const;
std::vector< int > IntVec
General integer vector.
Definition ASMbase.h:25
Base class for spline-based mixed finite element assembly drivers.
Driver for assembly of structured 2D Lagrange FE models.
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition ImmersedBoundaries.h:32
Abstract interface for 2D spline patches.
Definition ASM2D.h:33
std::vector< unsigned char > CharVec
Convenience type.
Definition ASM2D.h:42
unsigned char nf
Number of primary solution fields (1 or larger)
Definition ASMbase.h:1057
Base class for spline-based mixed finite element assembly drivers.
Definition ASMmxBase.h:35
Implementation of basis function cache.
Definition ASMs2DLag.h:31
Driver for assembly of structured 2D Lagrange FE models.
Definition ASMs2DLag.h:27
virtual bool getSize(int &n1, int &n2, int=0) const
Returns the number of nodal points in each parameter direction.
Definition ASMs2DLag.C:272
virtual bool evalSolution(Matrix &sField, const Vector &locSol, const int *, int n_f, bool) const
Evaluates the primary solution field at all visualization points.
Definition ASMs2DLag.C:730
Implementation of basis function cache.
Definition ASMs2D.h:60
Implementation of basis function cache.
Definition ASMs2DmxLag.h:34
BasisFunctionVals calculatePt(size_t, size_t gp, bool red) const override
Calculates basis function info in a single integration point.
Definition ASMs2DmxLag.C:636
virtual ~BasisFunctionCache()=default
Empty destructor.
void calculateAll() override
Calculates basis function info in all integration points.
Definition ASMs2DmxLag.C:653
Driver for assembly of structured 2D Lagrange mixed FE models.
Definition ASMs2DmxLag.h:30
std::vector< std::array< size_t, 2 > > elem_sizes
Size on each basis.
Definition ASMs2DmxLag.h:189
virtual unsigned char getNodalDOFs(size_t inod) const
Returns the number of DOFs per node.
Definition ASMs2DmxLag.C:66
virtual size_t getNoNodes(int basis) const
Returns the total number of nodes in this patch.
Definition ASMs2DmxLag.C:48
virtual void extractNodeVec(const RealArray &globVec, RealArray &nodeVec, unsigned char, int basis) const
Extracts nodal results for this patch from the global vector.
Definition ASMs2DmxLag.C:96
virtual size_t getNoBasis() const
Returns the number of bases.
Definition ASMs2DmxLag.h:81
virtual void closeBoundaries(int dir, int, int)
Makes two opposite boundary edges periodic.
Definition ASMs2DmxLag.C:216
virtual ~ASMs2DmxLag()
Empty destructor.
Definition ASMs2DmxLag.h:64
virtual void clear(bool retainGeometry)
Clears the contents of the patch, making it empty.
Definition ASMs2DmxLag.C:40
virtual void initMADOF(const int *sysMadof)
Initializes the patch level MADOF array for mixed problems.
Definition ASMs2DmxLag.C:90
std::vector< size_t > nyx
Basis dimensions in 2nd parameter direction.
Definition ASMs2DmxLag.h:187
virtual bool getSize(int &n1, int &n2, int basis) const
Returns the number of nodal points in each parameter direction.
Definition ASMs2DmxLag.C:224
virtual char getNodeType(size_t inod) const
Returns the classification of a node.
Definition ASMs2DmxLag.C:78
virtual bool connectPatch(int edge, ASM2D &neighbor, int nedge, bool revers, int basis, bool coordCheck, int thick)
Connects all matching nodes on two adjacent boundary edges.
Definition ASMs2DmxLag.C:195
std::vector< size_t > nxx
Basis dimensions in 1st parameter direction.
Definition ASMs2DmxLag.h:186
virtual bool evalSolution(Matrix &sField, const IntegrandBase &integrand, const int *, char=0) const
Evaluates the secondary solution field at all visualization points.
Definition ASMs2DmxLag.C:504
virtual unsigned char getNoFields(int basis) const
Returns the number of solution fields.
Definition ASMs2DmxLag.C:57
virtual bool getSolution(Matrix &sField, const Vector &locSol, const IntVec &nodes) const
Extract the primary solution field at the specified nodes.
Definition ASMs2DmxLag.C:103
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)
Evaluates an integral over the interior patch domain.
Definition ASMs2DmxLag.C:236
virtual bool generateFEMTopology()
Generates the finite element topology data for the patch.
Definition ASMs2DmxLag.C:110
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
A vector class with some added algebraic operations.
Definition matrix.h:64
Struct holding basis function values and derivatives.
Definition BasisFunctionVals.h:25
Struct representing the time domain.
Definition TimeDomain.h:23