52 ASMs2DIB(
unsigned char n_s = 2,
unsigned char n_f = 1,
int max_depth = 5);
62 virtual void addHole(
double R,
double Xc,
double Yc);
69 virtual void addHole(
double R,
double X1,
double Y1,
double X2,
double Y2);
92 bool isIntersected(
int iel,
bool checkIfInDomainOnly =
false)
const;
Driver for assembly of structured 2D spline FE models.
std::vector< Real2DMat > Real3DMat
A real-valued three-dimensional array without algebraic operations.
Definition: ImmersedBoundaries.h:36
Class that checks if an element has interface contributions.
Definition: ASMs2DIB.h:35
bool alsoSW
If true, consider south/west neighbors too.
Definition: ASMs2DIB.h:37
virtual short int hasContribution(int, int I, int J, int=-1) const
Returns non-zero if the specified element have contributions.
Definition: ASMs2DIB.C:238
Intersected(const ASMs2DIB &pch, bool all=false, bool sw=false)
The constructor initialises the reference to current patch.
Definition: ASMs2DIB.h:40
bool myAll
If true, consider all element interfaces.
Definition: ASMs2DIB.h:36
virtual ~Intersected()
Empty destructor.
Definition: ASMs2DIB.h:43
Assembly of structured 2D spline FE models with immersed boundaries.
Definition: ASMs2DIB.h:27
ASMs2DIB(unsigned char n_s=2, unsigned char n_f=1, int max_depth=5)
Default constructor.
Definition: ASMs2DIB.C:22
virtual bool generateFEMTopology()
Generates the finite element topology data for the patch.
Definition: ASMs2DIB.C:155
virtual void filterResults(Matrix &field, const ElementBlock *grid) const
Filters out result point values that are outside physical domain.
Definition: ASMs2DIB.C:292
virtual bool setGeometry(RealFunc *f, double power, double threshold)
Defines the immersed geometry from a scalar function.
Definition: ASMs2DIB.C:92
virtual void getNoIntPoints(size_t &nPt, size_t &nIPt)
Computes the total number of integration points in this patch.
Definition: ASMs2DIB.C:123
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)
Evaluates an integral over the interior patch domain.
Definition: ASMs2D.C:1696
ElementBlock * myLines
Sub-cell grid lines (for plotting)
Definition: ASMs2DIB.h:109
bool isIntersected(int iel, bool checkIfInDomainOnly=false) const
Returns true if the specified element has been sub-divided.
Definition: ASMs2DIB.C:142
Real3DMat quadPoints
The Gauss quadrature points for this patch.
Definition: ASMs2DIB.h:111
virtual ElementBlock * immersedGeometry(char *name) const
Returns an additional geometry to visualize (immersed boundaries).
Definition: ASMs2DIB.C:102
virtual void addHole(double R, double Xc, double Yc)
Adds a circular hole in the physical geometry.
Definition: ASMs2DIB.C:47
Immersed::Geometry * myGeometry
The physical geometry description.
Definition: ASMs2DIB.h:108
int maxDepth
Maximum depth up to which to refine each element.
Definition: ASMs2DIB.h:112
virtual ~ASMs2DIB()
The destructor deletes the dynamically allocated geometry object.
Definition: ASMs2DIB.C:40
Base class that checks if an element has interface contributions.
Definition: ASMs2D.h:157
Driver for assembly of structured 2D spline FE models.
Definition: ASMs2D.h:39
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)
Evaluates an integral over the interior patch domain.
Definition: ASMs2D.C:1696
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
Interface class representing a geometric object.
Definition: ImmersedBoundaries.h:45
Abstract base class representing a system level integrated quantity.
Definition: Integrand.h:44
Scalar-valued unary function of a spatial point.
Definition: Function.h:193
Utilities for immersed boundary calculations.
Definition: ASMs2DIB.h:19
Struct representing the time domain.
Definition: TimeDomain.h:23