MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
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
34class GMP_MECHANICAL_PHYSICS_API_EXPORT GmpInterfaceMaterial: public GmpFemPhysicsCommonMaterial
35{
36public:
38 GmpInterfaceMaterial(int typeIndex, QString typeName, const GmLogCategory& logger)
39 :GmpFemPhysicsCommonMaterial(typeIndex, typeName, logger){}
40
43
44 // Returns a map with material associated properties.
45 virtual const QVariantMap* materialMetaDataMap() = 0;
46
47 // Returns the effective displacement
48 virtual double getEffectiveDisplacement(const GmElement* e, const GmVector& S) const;
49
50 // Returns split/join stress tensor to interface
51 virtual bool splitJoinTensorToInterface(const GmElement*, GmVector& Tensor, GmVector& cohesive, bool type) const;
52
53 // Returns the stresses according to the material behavior adopted
54 virtual bool mechanicalConstitutiveModel(const GmElement* e, GmMatrix& Dep, const GmpMechanicPoint* mp, const GmVector* coord, unsigned nc) const = 0;
55
56 // Sets the initial conditions required by interface materials
57 virtual bool setInitialConditions(const GmElement* e, GmpMechanicPoint* mp, const GmVector* coord, unsigned nc) const;
58};
59#endif
Definition gmpInterfaceMaterial.h:35
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
Definition gmpMechanicPoint.h:33
arma::mat GmMatrix
arma::vec GmVector
Declaration of the GmpMechanicPoint class.