MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
gmpBar.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
26#ifndef _GEMA_PLUGIN_BAR_H_
27#define _GEMA_PLUGIN_BAR_H_
28
30#include <gmpFemPhysicsCommon.h>
31#include <gmMathUtils.h>
32
33class GmGaussAccessor;
34
38{
39public:
40
41 //constructor
42 GmpBar(const char* pluginType, GmSimulationData* simulation, QString id, QString description,
43 const GmpFemPhysicsCommonMaterialFactory* matFactory, const GmLogCategory& logger);
44
45 //destructor
46 virtual ~GmpBar();
47
50 {
52
53 // --- NO ADDING BELOW THIS LINE
55 };
56
57 // See comments on the base class
58 virtual const QVariantMap* physicsMetaDataMap();
59 // See comments on the base class
60 virtual double fillBuMatrix(const GmElement* e, const GmShape* shape, const GmVector& ncoord, const GmMatrix& X, const GmVector& N, const GmMatrix& J, GmMatrix& Bp);
61 // See comments on the base class
62 virtual FemResultType fillElementData(const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
63 // Recovers the derived results
64 virtual bool calcDerivedResults(bool nonLinearSolver);
68 virtual void updateNodalCoordinates(const GmElement* e, GmMatrix& Xe, const GmVector& ue) const;
69
70protected:
71 // See comments on the base class
72 virtual bool checkAndLoadAttributeAccessors(LuaTable& nodeTable, LuaTable& cellTable, LuaTable& gaussTable);
73
74private:
76
77};
78
79#endif
Basic class for the standard stress bar physics plugin object.
Definition gmpBar.h:38
virtual bool checkAndLoadAttributeAccessors(LuaTable &nodeTable, LuaTable &cellTable, LuaTable &gaussTable)
Reimplementation of the common function to init the _mechanicPoint structure.
Definition gmpBar.cpp:103
GmpBar(const char *pluginType, GmSimulationData *simulation, QString id, QString description, const GmpFemPhysicsCommonMaterialFactory *matFactory, const GmLogCategory &logger)
Constructor.
Definition gmpBar.cpp:53
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element internal force and stiffness.
Definition gmpBar.cpp:138
virtual double fillBuMatrix(const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmVector &N, const GmMatrix &J, GmMatrix &Bp)
Given a point 'ncood', the element coordinate matrix 'X', the point shape functions 'N' and the trans...
Definition gmpBar.cpp:315
virtual ~GmpBar()
Destructor.
Definition gmpBar.cpp:60
virtual void updateNodalCoordinates(const GmElement *e, GmMatrix &Xe, const GmVector &ue) const
Updates the nodal coordinates using nodal displacements Xen = Xe + ue.
Definition gmpBar.cpp:439
virtual bool calcDerivedResults(bool nonLinearSolver)
Recovers per element stresses for bar elements, storing the results in an element attribute.
Definition gmpBar.cpp:343
barPropertyIds
IDs for physics element properties.
Definition gmpBar.h:50
@ NUM_PROPER_IDS
The number of property ids above.
Definition gmpBar.h:54
@ AREA_ID
Id for retrieving the accessor of cross section area.
Definition gmpBar.h:51
double calcElementStress(GmElement *e)
Calculates the bar internal stress.
Definition gmpBar.cpp:394
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the single Hydraulics attribute map, built when the function is called for th...
Definition gmpBar.cpp:65
Basic class for the mechanical physics plugin object.
Definition gmpMechanicalPhysics.h:38
@ NUM_PROPER_IDS
The number of property ids above.
Definition gmpMechanicalPhysics.h:175
arma::mat GmMatrix
arma::vec GmVector
Declaration of the GmpMechanicalPhysics class.