Lem
The Lem Plugin
lemMechanicalTBeam.h
Go to the documentation of this file.
1 /************************************************************************
2 **
3 ** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4 ** All rights reserved.
5 **
6 ** This file is part of the "GeMA" software. It's use should respect
7 ** the terms in the license agreement that can be found together
8 ** with this source code.
9 ** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10 ** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11 ** A PARTICULAR PURPOSE.
12 **
13 ************************************************************************/
14 
24 #ifndef _GEMA_LEM_MECHANICAL_TBEAM_H_
25 #define _GEMA_LEM_MECHANICAL_TBEAM_H_
26 
27 #include <gmpFemPhysicsCommon.h>
28 #include <gmTrace.h>
29 
30 #include "lemMechanicalPhysics.h"
31 
35 {
36 public:
37 
38  // constructor
39  LemMechanicalTBeam(const char* pluginType, GmSimulationData* simulation, QString id, QString description,
40  const GmpFemPhysicsCommonMaterialFactory* matFactory, const GmLogCategory& logger);
41 
42  // destructor
43  virtual ~LemMechanicalTBeam();
44 
46  virtual const QVariantMap* physicsMetaDataMap();
47 
49  virtual bool beforeElementStiffnessLoop(const GmpFemMatrixSet& elemMatrices, const GmpFemVectorSet& elemVectors);
50 
52  virtual FemResultType fillElementData(const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
53 
55  virtual double fillBuMatrix(const GmElement* e, const GmShape* shape, const GmVector& ncoord, const GmMatrix& X, const GmVector& N, const GmMatrix& J, GmMatrix& Bp);
56 
58  virtual bool calcDerivedResults(bool nonLinearSolver);
59 
60 protected:
62  virtual bool checkAndLoadAttributeAccessors(LuaTable& nodeTable, LuaTable& gaussTable);
63 };
64 
65 #endif
Basic class for the mechanical physics plugin object.
Definition: lemMechanicalPhysics.h:35
virtual bool calcDerivedResults(bool nonLinearSolver)
Fills calculated results.
Definition: lemMechanicalTBeam.cpp:288
Declaration of the LemMechanicalPhysics class.
virtual double fillBuMatrix(const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmVector &N, const GmMatrix &J, GmMatrix &Bp)
Fills the Strain-Displacement matrix.
Definition: lemMechanicalTBeam.cpp:122
LemMechanicalTBeam(const char *pluginType, GmSimulationData *simulation, QString id, QString description, const GmpFemPhysicsCommonMaterialFactory *matFactory, const GmLogCategory &logger)
Constructor. Will be called by the plugin loading code.
Definition: lemMechanicalTBeam.cpp:39
Basic class for Timoshenko Beam plugin object.
Definition: lemMechanicalTBeam.h:34
virtual bool checkAndLoadAttributeAccessors(LuaTable &nodeTable, LuaTable &gaussTable)
Loads attribute accessors.
Definition: lemMechanicalTBeam.cpp:92
virtual const QVariantMap * physicsMetaDataMap()
Returns a map with physic associated properties.
Definition: lemMechanicalTBeam.cpp:56
virtual bool beforeElementStiffnessLoop(const GmpFemMatrixSet &elemMatrices, const GmpFemVectorSet &elemVectors)
See comments on the base class.
Definition: lemMechanicalTBeam.cpp:74
arma::vec GmVector
arma::mat GmMatrix
virtual ~LemMechanicalTBeam()
Destructor.
Definition: lemMechanicalTBeam.cpp:48
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills elemental matrices and vectors.
Definition: lemMechanicalTBeam.cpp:172