IFEM  90A354
ASMu1DLag.h
Go to the documentation of this file.
1 // $Id$
2 //==============================================================================
12 //==============================================================================
13 
14 #ifndef _ASM_U1D_LAG_H
15 #define _ASM_U1D_LAG_H
16 
17 #include "ASMs1DLag.h"
18 
19 
27 class ASMu1DLag : public ASMs1DLag
28 {
29 public:
31  ASMu1DLag(unsigned char n = 1, unsigned char n_f = 1, char fType = 'm');
33  ASMu1DLag(const ASMu1DLag& pch, unsigned char n_f);
35  ASMu1DLag(const ASMu1DLag& pch);
37  virtual ~ASMu1DLag() {}
38 
39  // Methods for model generation
40  // ============================
41 
43  virtual bool read(std::istream& is);
46  virtual bool generateOrientedFEModel(const Vec3& Zaxis);
48  virtual bool empty() const { return nel == 0; }
49 
51  virtual void shiftGlobalElmNums(int eshift);
52 
54  virtual int getElementSetIdx(const std::string& setName) const;
56  virtual const IntVec& getElementSet(int iset) const;
58  virtual bool getElementSet(int iset, std::string& name) const;
60  virtual bool isInElementSet(int iset, int iel) const;
62  virtual int parseElemSet(const std::string& setName, const char* cset);
63 
68  virtual void getBoundaryNodes(int lIndex, IntVec& nodes,
69  int, int, int, bool local) const;
70 
71  // Post-processing methods
72  // =======================
73 
77  virtual bool tesselate(ElementBlock& grid, const int*) const;
78 
79 protected:
80  std::vector<ASM::NodeSet> elemSets;
81 
82 private:
83  char fileType;
84 };
85 
86 #endif
std::vector< int > IntVec
General integer vector.
Definition: ASMbase.h:25
Driver for assembly of 1D Lagrange FE models.
size_t nel
Number of regular elements in this patch.
Definition: ASMbase.h:1035
Driver for assembly of 1D Lagrange FE models.
Definition: ASMs1DLag.h:27
Driver for assembly of unstructured 1D Lagrange FE models.
Definition: ASMu1DLag.h:28
virtual bool isInElementSet(int iset, int iel) const
Checks if element iel is within predefined element set iset.
Definition: ASMu1DLag.C:146
virtual int getElementSetIdx(const std::string &setName) const
Returns (1-based) index of a predefined element set in the patch.
Definition: ASMu1DLag.C:107
char fileType
Mesh file format.
Definition: ASMu1DLag.h:83
ASMu1DLag(unsigned char n=1, unsigned char n_f=1, char fType='m')
Default constructor.
Definition: ASMu1DLag.C:21
virtual int parseElemSet(const std::string &setName, const char *cset)
Defines an element set by parsing a list of element numbers.
Definition: ASMu1DLag.C:158
virtual void getBoundaryNodes(int lIndex, IntVec &nodes, int, int, int, bool local) const
Finds the global (or patch-local) node numbers on a patch boundary.
Definition: ASMu1DLag.C:196
virtual ~ASMu1DLag()
Empty destructor.
Definition: ASMu1DLag.h:37
virtual const IntVec & getElementSet(int iset) const
Returns an indexed predefined element set.
Definition: ASMu1DLag.C:120
virtual bool empty() const
Checks if this patch is empty.
Definition: ASMu1DLag.h:48
std::vector< ASM::NodeSet > elemSets
Element sets for properties.
Definition: ASMu1DLag.h:80
virtual bool tesselate(ElementBlock &grid, const int *) const
Creates a line element model of this patch for visualization.
Definition: ASMu1DLag.C:216
virtual bool generateOrientedFEModel(const Vec3 &Zaxis)
Generates a beam finite element model for the patch.
Definition: ASMu1DLag.C:56
virtual bool read(std::istream &is)
Creates an instance by reading the given input stream.
Definition: ASMu1DLag.C:40
virtual void shiftGlobalElmNums(int eshift)
Increase all global element numbers by eshift.
Definition: ASMu1DLag.C:206
Class for storage of a standard FE grid block.
Definition: ElementBlock.h:27
Simple class for representing a point in 3D space.
Definition: Vec3.h:27