MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
gmpMechanicalReinforcedInterface.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_PLUGIN_MECHANICALREINFORCEDINTERFACE_H_
25 #define _GEMA_PLUGIN_MECHANICALREINFORCEDINTERFACE_H_
26 
27 
28 #include "gmpMechanicalPhysics.h"
29 #include "gmpMechanicalInterface.h"
30 #include <gmpFemPhysicsCommon.h>
31 #include <gmpFemPhysicsData.h>
32 #include <gmTrace.h>
33 
34 class GmGaussAccessor;
35 
38 class GMP_MECHANICAL_PHYSICS_API_EXPORT GmpMechanicalReinforcedInterface : public GmpMechanicalInterface
39 {
40 public:
41  // constructor
42  GmpMechanicalReinforcedInterface(const char* pluginType, GmSimulationData* simulation, QString id, QString description,
43  const GmpFemPhysicsCommonMaterialFactory* matFactory, const GmLogCategory& logger);
44 
45  // destructor
47 
48  // set physic map
49  virtual const QVariantMap* physicsMetaDataMap();
50  // See comments on the base class
51  virtual FemResultType fillElementData(const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
52 
53  // Returns the fiber property set
54  virtual GmPropertySet* fiberPropertySet(int id) const;
55 
56  // fill fiber stiffness
57  virtual FemResultType fillFiberData(const GmElement* e, GmMatrix& K, GmVector& Fi, bool needsK, bool needsFi);
58 
59  // Fills fiber coordinates
60  virtual bool fillCondensationMatrix(GmMatrix & Tg, GmMatrix& Xe, GmMatrix& Xf, const GmShape* eShape, int ne, int nf = 2);
61 
62  // Fills fiber nodal values
63  virtual bool fillFiberNodalValues(GmElement* e, GmValueAccessor* uAc);
64 
65  // calculate derived results
66  virtual bool calcDerivedResults(bool nonLinear);
67 
70  {
72 
73  // --- NO ADDING BELOW THIS LINE
75  };
76 
77 protected:
78  // See comments on the base class
79  virtual bool checkAndLoadPrivateData(LuaTable& table);
80 
83  //virtual bool setInitialConditions();
84 
85 private:
86  GmpFemPhysicsData _fiberData;
87 };
88 
89 #endif
The number of property ids above.
Definition: gmpMechanicalPhysics.h:171
Declaration of the GmpMechanicalPhysics class.
Declaration of the GmpMechanicalInterface classes.
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic Interface element.
Definition: gmpMechanicalInterface.cpp:207
reinforcedFracturePropertyIds
IDs for physics element properties.
Definition: gmpMechanicalReinforcedInterface.h:69
GmpFemPhysicsData _fiberData
Sets initial conditions.
Definition: gmpMechanicalReinforcedInterface.h:86
virtual bool calcDerivedResults(bool nonLinearSolver)
Calc stress component on nodes and/or Gauss points, ADDING the calculated value to the current result...
Definition: gmpMechanicalPhysics.cpp:931
Basic class for the mechanical interface element plugin object.
Definition: gmpMechanicalInterface.h:36
The number of property ids above.
Definition: gmpMechanicalReinforcedInterface.h:74
Basic class for the mechanical reinforced interface element plugin object.
Definition: gmpMechanicalReinforcedInterface.h:38
arma::vec GmVector
arma::mat GmMatrix
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the mechanical interface attribute map, built when the function is called for...
Definition: gmpMechanicalInterface.cpp:55