IFEM 90A354
ASMu2DIB.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _ASM_U2D_IB_H
15#define _ASM_U2D_IB_H
16
17#include "ASMu2D.h"
18
19namespace Immersed { class Geometry; }
20
21
26class ASMu2DIB : public ASMu2D
27{
28public:
30 ASMu2DIB(unsigned char n_s = 2, unsigned char n_f = 1, int max_depth = 5);
32 ASMu2DIB(const ASMu2DIB& patch, unsigned char n_f = 0);
34 virtual ~ASMu2DIB();
35
40 virtual void addHole(double R, double Xc, double Yc);
47 virtual void addHole(double R, double X1, double Y1, double X2, double Y2);
48
53 virtual bool setGeometry(RealFunc* f, double power, double threshold);
54
56 virtual ElementBlock* immersedGeometry(char* name) const;
57
59 virtual void getNoIntPoints(size_t& nPt, size_t& nIPt);
60
65 virtual bool generateFEMTopology();
66
72 virtual bool integrate(Integrand& integrand,
73 GlobalIntegral& glbInt, const TimeDomain& time);
74
78 virtual void filterResults(Matrix& field, const ElementBlock* grid) const;
79
80private:
82
85};
86
87#endif
Driver for assembly of unstructured 2D spline FE models.
std::vector< Real2DMat > Real3DMat
A real-valued three-dimensional array without algebraic operations.
Definition ImmersedBoundaries.h:36
Assembly of unstructured 2D spline FE models with immersed boundaries.
Definition ASMu2DIB.h:27
virtual void filterResults(Matrix &field, const ElementBlock *grid) const
Filters out result point values that are outside physical domain.
Definition ASMu2DIB.C:200
Immersed::Geometry * myGeometry
The physical geometry description.
Definition ASMu2DIB.h:81
virtual bool generateFEMTopology()
Generates the finite element topology data for the patch.
Definition ASMu2DIB.C:125
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)
Evaluates an integral over the interior patch domain.
Definition ASMu2DIB.C:190
virtual bool setGeometry(RealFunc *f, double power, double threshold)
Defines the immersed geometry from a scalar function.
Definition ASMu2DIB.C:90
int maxDepth
Maximum depth up to which to refine each element.
Definition ASMu2DIB.h:84
Real3DMat quadPoints
The Gauss quadrature points for this patch.
Definition ASMu2DIB.h:83
virtual ~ASMu2DIB()
The destructor deletes the dynamically allocated geometry object.
Definition ASMu2DIB.C:39
virtual void addHole(double R, double Xc, double Yc)
Adds a circular hole in the physical geometry.
Definition ASMu2DIB.C:45
virtual void getNoIntPoints(size_t &nPt, size_t &nIPt)
Computes the total number of integration points in this patch.
Definition ASMu2DIB.C:111
virtual ElementBlock * immersedGeometry(char *name) const
Returns an additional geometry to visualize (immersed boundaries).
Definition ASMu2DIB.C:100
Driver for assembly of unstructured 2D spline FE models.
Definition ASMu2D.h:50
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)
Evaluates an integral over the interior patch domain.
Definition ASMu2D.C:1108
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