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 
19 namespace Immersed { class Geometry; }
20 
21 
26 class ASMu2DIB : public ASMu2D
27 {
28 public:
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 
67  using ASMu2D::integrate;
72  virtual bool integrate(Integrand& integrand,
73  GlobalIntegral& glbInt, const TimeDomain& time);
74 
78  virtual void filterResults(Matrix& field, const ElementBlock* grid) const;
79 
80 private:
82 
84  int maxDepth;
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 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
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)
Evaluates an integral over the interior patch domain.
Definition: ASMu2D.C:1095
ASMu2DIB(unsigned char n_s=2, unsigned char n_f=1, int max_depth=5)
Default constructor.
Definition: ASMu2DIB.C:23
Driver for assembly of unstructured 2D spline FE models.
Definition: ASMu2D.h:50
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)=0
Evaluates an integral over the interior patch domain.
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