IFEM 90A354
SIMsupel.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _SIM_SUPEL_H
15#define _SIM_SUPEL_H
16
17#include "SIMdummy.h"
18#include "SIMgeneric.h"
19
20
28class SIMsupel : public SIMdummy<SIMgeneric>
29{
30protected:
32 struct SuperElm
33 {
34 std::string id;
37
38 SIMgeneric* sim = nullptr;
39 };
40
41public:
45 explicit SIMsupel(const char* hd = nullptr, char nf = 6);
46
48 virtual bool createFEMmodel(char resetNumb);
49
51 virtual std::string getName() const { return "SIMsupel"; }
52
55 bool recoverInternalDOFs(const Vector& glbSol);
56
57protected:
61 virtual bool parse(const tinyxml2::XMLElement* elem);
62
67 virtual ASMbase* readPatch(std::istream& isp, int pchInd, const CharVec&,
68 const char* whiteSpace) const;
69
73 virtual bool recoverInternalDOFs(const ASMbase*, SuperElm& sup,
74 const Vector& supSol) const;
75
76private:
77 unsigned char ncmp;
78
79protected:
80 std::vector<SuperElm> mySups;
81};
82
83#endif
Dummy SIM template class for drivers not associated with a FE model.
Generic SIM class with some added functionalities.
Base class for spline-based finite element (FE) assembly drivers.
Definition ASMbase.h:72
Template SIM class with some dummy implementations.
Definition SIMdummy.h:35
Generic SIM class with some added functionalities.
Definition SIMgeneric.h:28
std::vector< unsigned char > CharVec
Convenience declaration.
Definition SIMinput.h:60
Solution driver for general superelement FEM analysis.
Definition SIMsupel.h:29
unsigned char ncmp
Number of primary solution components per node.
Definition SIMsupel.h:77
virtual bool createFEMmodel(char resetNumb)
Creates the FE topology of the superelement patches.
Definition SIMsupel.C:125
std::vector< SuperElm > mySups
Superelement data container.
Definition SIMsupel.h:80
virtual ASMbase * readPatch(std::istream &isp, int pchInd, const CharVec &, const char *whiteSpace) const
Reads a patch from given input stream.
Definition SIMsupel.C:102
virtual std::string getName() const
Returns the name of this simulator.
Definition SIMsupel.h:51
virtual bool parse(const tinyxml2::XMLElement *elem)
Parses a data section from an XML element.
Definition SIMsupel.C:38
bool recoverInternalDOFs(const Vector &glbSol)
Performs recovery of the internal DOFs for superelements.
Definition SIMsupel.C:131
A vector class with some added algebraic operations.
Definition matrix.h:64
Struct with superelement data.
Definition SIMsupel.h:33
Vector sol
Recovered primary solution on underlying FE model.
Definition SIMsupel.h:36
Matrix MVP
Local-to-global transformation matrix.
Definition SIMsupel.h:35
SIMgeneric * sim
Pointer to the underlying FE model.
Definition SIMsupel.h:38
std::string id
Superelement id.
Definition SIMsupel.h:34