MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
gmpInterfaceMaterial.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_MECHANICALMATERIAL_INTERFACE_H_
25 #define _GEMA_PLUGIN_MECHANICALMATERIAL_INTERFACE_H_
26 
27 #include <gmpFemPhysicsCommonMaterial.h>
28 
29 #include "gmpFemPhysicsCommon.h"
30 #include "gmpFemPhysics.h"
31 #include "gmpMechanicPoint.h"
32 #include "gmMathUtils.h"
33 
34 class GMP_MECHANICAL_PHYSICS_API_EXPORT GmpInterfaceMaterial: public GmpFemPhysicsCommonMaterial
35 {
36 public:
38  GmpInterfaceMaterial(int typeIndex, QString typeName, const GmLogCategory& logger)
39  :GmpFemPhysicsCommonMaterial(typeIndex, typeName, logger){}
40 
42  virtual ~GmpInterfaceMaterial() {}
43 
44  // Returns a map with material associated properties.
45  virtual const QVariantMap* materialMetaDataMap() = 0;
46 
47  // Returns the Macaulay value
48  virtual double getMacaulayValue(const GmElement*, double x) const;
49 
50  // Returns the effective displacement
51  virtual double getEffectiveDisplacement(const GmElement* e, GmVector S) const;
52 
53  // Returns split/join stress tensor to interface
54  virtual bool splitJoinTensorToInterface(const GmElement*, GmVector& Tensor, GmVector& cohesive, bool type) const;
55 
56  // Returns the stresses according to the material behavior adopted
57  virtual bool mechanicalConstitutiveModel(const GmElement* e, GmMatrix& Dep, const GmpMechanicPoint* mp, const GmVector* coord, unsigned nc) const = 0;
58 
59  // Sets the initial conditions required by interface materials
60  virtual bool setInitialConditions(const GmElement* e, GmpMechanicPoint* mp, const GmVector* coord, unsigned nc) const;
61 };
62 #endif
Definition: gmpMechanicPoint.h:32
GmpInterfaceMaterial(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition: gmpInterfaceMaterial.h:38
virtual ~GmpInterfaceMaterial()
Virtual destructor.
Definition: gmpInterfaceMaterial.h:42
Declaration of the GmpMechanicPoint class.
Definition: gmpInterfaceMaterial.h:34
arma::vec GmVector
arma::mat GmMatrix