IFEM  90A354
ASMs2DTri.h
Go to the documentation of this file.
1 // $Id$
2 //==============================================================================
12 //==============================================================================
13 
14 #ifndef _ASM_S2D_TRI_H
15 #define _ASM_S2D_TRI_H
16 
17 #include "ASMs2DLag.h"
18 
19 
25 class ASMs2DTri : public ASMs2DLag
26 {
27 public:
29  ASMs2DTri(unsigned char n = 2, unsigned char n_f = 2) : ASMs2DLag(n,n_f) {}
31  ASMs2DTri(const ASMs2DTri& patch, unsigned char n_f) : ASMs2DLag(patch,n_f) {}
33  ASMs2DTri(const ASMs2DTri& patch) : ASMs2DLag(patch) {}
35  virtual ~ASMs2DTri() {}
36 
37 
38  // Methods for model generation
39  // ============================
40 
42  virtual bool write(std::ostream& os, int = 0) const;
43 
47  virtual bool generateFEMTopology();
48 
54  virtual bool addXElms(short int dim, short int item,
55  size_t nXn, IntVec& nodes);
56 
58  virtual void getNoBouPoints(size_t& nPt, char ldim, char lindx);
59 
60 
61  // Methods for integration of finite element quantities.
62  // These are the main computational methods of the ASM class hierarchy.
63  // ====================================================================
64 
69  virtual bool integrate(Integrand& integrand,
70  GlobalIntegral& glbInt, const TimeDomain& time);
71 
77  virtual bool integrate(Integrand& integrand, int lIndex,
78  GlobalIntegral& glbInt, const TimeDomain& time);
79 
80 
81  // Post-processing methods
82  // =======================
83 
86  virtual bool tesselate(ElementBlock& grid, const int*) const;
87 
92  virtual bool evalSolution(Matrix& sField, const IntegrandBase& integrand,
93  const int*, char = 0) const;
94 
96  virtual bool evalSolution(Matrix&, const IntegrandBase&,
97  const RealArray*, bool = false) const;
98 
101  virtual void generateThreadGroups(const Integrand&, bool, bool);
102 };
103 
104 #endif
std::vector< int > IntVec
General integer vector.
Definition: ASMbase.h:25
Driver for assembly of structured 2D Lagrange FE models.
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition: ImmersedBoundaries.h:29
Driver for assembly of structured 2D Lagrange FE models.
Definition: ASMs2DLag.h:27
virtual bool evalSolution(Matrix &sField, const Vector &locSol, const int *npe, int n_f, bool piola) const
Evaluates the primary solution field at all visualization points.
Definition: ASMs2D.C:2678
virtual void generateThreadGroups(const Integrand &integrand, bool silence, bool ignoreGlobalLM)
Generates element groups for multi-threading of interior integrals.
Definition: ASMs2D.C:3021
Driver for assembly of structured 2D triangle-based FE models.
Definition: ASMs2DTri.h:26
virtual bool integrate(Integrand &integrand, GlobalIntegral &glbInt, const TimeDomain &time)
Evaluates an integral over the interior patch domain.
Definition: ASMs2DTri.C:143
virtual bool generateFEMTopology()
Generates the finite element topology data for the patch.
Definition: ASMs2DTri.C:30
virtual bool write(std::ostream &os, int=0) const
Writes the FEM basis to given stream.
Definition: ASMs2DTri.C:616
virtual void getNoBouPoints(size_t &nPt, char ldim, char lindx)
Computes the number of boundary integration points in this patch.
Definition: ASMs2DTri.C:85
virtual ~ASMs2DTri()
Empty destructor.
Definition: ASMs2DTri.h:35
virtual void generateThreadGroups(const Integrand &, bool, bool)
Generates element groups for multi-threading of interior integrals.
Definition: ASMs2DLag.C:932
ASMs2DTri(const ASMs2DTri &patch)
Default copy constructor copying everything.
Definition: ASMs2DTri.h:33
virtual bool tesselate(ElementBlock &grid, const int *) const
Creates a triangle element model of this patch for visualization.
Definition: ASMs2DTri.C:509
virtual bool addXElms(short int dim, short int item, size_t nXn, IntVec &nodes)
Adds extraordinary elements associated with a patch boundary.
Definition: ASMs2DTri.C:95
ASMs2DTri(unsigned char n=2, unsigned char n_f=2)
Default constructor.
Definition: ASMs2DTri.h:29
ASMs2DTri(const ASMs2DTri &patch, unsigned char n_f)
Special copy constructor for sharing of FE data.
Definition: ASMs2DTri.h:31
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
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
Struct representing the time domain.
Definition: TimeDomain.h:23