MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
inc
gmpMaterialLua.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_LUA_H_
25
#define _GEMA_PLUGIN_MECHANICALMATERIAL_LUA_H_
26
27
#include "
gmpMechanicalMaterial.h
"
28
29
#include <gmpFemPhysicsCommonLuaMaterial.h>
30
32
class
GMP_MECHANICAL_PHYSICS_API_EXPORT
GmpMechanicalMaterialLua
33
:
public
GmpFemPhysicsCommonLuaMaterial<GmpMechanicalMaterial>
34
{
35
public
:
36
GmpMechanicalMaterialLua
(
const
GmPluginData
* pdata,
int
typeIndex,
QString
typeName,
const
GmLogCategory
& logger)
37
: GmpFemPhysicsCommonLuaMaterial<GmpMechanicalMaterial>(pdata, typeIndex, typeName, logger) { }
38
39
40
static
GmpFemPhysicsCommonMaterial* instance(
GmSimulationData
* simulation,
int
typeIndex,
QString
typeName,
const
GmLogCategory
& logger);
41
42
virtual
bool
mechanicalConstitutiveModel(
const
GmElement
* e,
GmMatrix
& Dep,
const
GmpMechanicPoint
* mp,
const
GmVector
* coord,
const
GmVector
& Time,
unsigned
nc,
bool
ips =
false
)
const
;
43
44
virtual
bool
isIsotropic()
const
;
45
46
virtual
bool
setInitialConditions(
const
GmElement
* e,
GmpMechanicPoint
* mp,
const
GmVector
* coord,
unsigned
sc)
const
;
47
48
virtual
bool
updateDeformationGradient(
GmMatrix
& F,
const
GmElement
* e,
const
GmVector
* coord,
int
ip,
bool
ips =
false
)
const
;
49
50
virtual
bool
calcDerivedResults(
const
GmElement
* e,
GmpMechanicPoint
* mp,
const
GmVector
* coord,
unsigned
sc)
const
;
51
52
private
:
53
static
QVariant
getMpValue(
QString
field,
const
void
* context,
const
GmElement
* e,
int
ip,
const
GmVector
* coord,
const
GmLogCategory
& logger);
54
static
bool
setMpValue(
QString
field,
const
void
* context,
const
GmElement
* e,
int
ip,
const
QVariant
& v);
55
56
static
QMap<QString, int>
_mpNameMap
;
57
};
58
59
#endif
GmElement
GmLogCategory
GmPluginData
GmSimulationData
GmpMechanicPoint
Definition
gmpMechanicPoint.h:33
GmpMechanicalMaterialLua
A Mechanical material whose behaviour is implemented through Lua functions.
Definition
gmpMaterialLua.h:34
GmpMechanicalMaterialLua::_mpNameMap
static QMap< QString, int > _mpNameMap
Maps mechanic point data names used in the user functions to their internal id.
Definition
gmpMaterialLua.h:44
GmMatrix
arma::mat GmMatrix
GmVector
arma::vec GmVector
gmpMechanicalMaterial.h
Declaration of the GmpMechanicalMaterial class.
QMap
QString
QVariant
Generated on Mon Aug 3 2026 09:56:24 for MechanicalFemPhysics by
1.12.0