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
25class ASMs2DTri : public ASMs2DLag
26{
27public:
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:32
Driver for assembly of structured 2D Lagrange FE models.
Definition ASMs2DLag.h:27
virtual void generateThreadGroups(const Integrand &, bool, bool)
Generates element groups for multi-threading of interior integrals.
Definition ASMs2DLag.C:932
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
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 bool evalSolution(Matrix &sField, const IntegrandBase &integrand, const int *, char=0) const
Evaluates the secondary solution field at the given points.
Definition ASMs2DTri.C:530
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
ASMs2DTri(const ASMs2DTri &patch)
Default copy constructor copying everything.
Definition ASMs2DTri.h:33
virtual void generateThreadGroups(const Integrand &, bool, bool)
Generates element groups for multi-threading of interior integrals.
Definition ASMs2DTri.C:582
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
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