Xfem
The Xfem Plugin
Loading...
Searching...
No Matches
xfemProcess.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_XFEM_PROCESS_H_
25#define _GEMA_XFEM_PROCESS_H_
26
27#include <gmProcess.h>
28#include <gmpFemSolverOptions.h>
29#include "xfemOptions.h"
30
31struct lua_State;
32class XfemMesh;
33
36class XfemProcess : public GmProcess
37{
38public:
40 virtual ~XfemProcess();
41
42 // Comments on the base class
43 virtual const char* pluginName() const { return "Xfem"; }
44
45 // Comments on the base class
46 virtual const char* pluginType() const { return "xfem"; }
47
48 // Comments on the base class
49 virtual void loadFunctions(LuaTable& table) { registerFunctions<XfemProcess>(table, processMethodTable()); }
50
51 // Comments on the base class
52 virtual QStringList functionList() const { return buildFunctionList<XfemProcess>(processMethodTable()); }
53
54private:
56
57 void xfemParseParameters(lua_State* L, XfemOptions* xfemOptions);
58 bool parseAttributeTable(lua_State* L, int index, QString fname, QStringList& attrList);
59
60 int init (lua_State* L);
61 int step (lua_State* L);
62 int printSubElements (lua_State* L);
63 int printSubElementsGaussData(lua_State* L);
64 int copyToElementMesh (lua_State* L);
65 int geostatic (lua_State* L);
66};
67
68#endif
virtual const GmLogCategory & logger() const
QString description() const
void registerFunctions(LuaTable &table, typename GmProcessMethodRedirector< T >::MethodRegistry *methods, bool noProgressStats=false)
QStringList buildFunctionList(typename GmProcessMethodRedirector< T >::MethodRegistry *methods) const
Basic class for a XFEM mesh. This is the basic mesh interface for xfem problems adding enrichment cap...
Definition xfemMesh.h:50
Definition xfemOptions.h:30
Basic class for the XFEM Process plugin object.
Definition xfemProcess.h:37
int geostatic(lua_State *L)
Runs a Geostatic step to initialize the in-situ conditions.
Definition xfemProcess.cpp:182
virtual ~XfemProcess()
Destructor.
Definition xfemProcess.cpp:54
int printSubElementsGaussData(lua_State *L)
The xfem.printSubElementsGaussData() process implementation.
Definition xfemProcess.cpp:279
bool parseAttributeTable(lua_State *L, int index, QString fname, QStringList &attrList)
Auxilliary function used to parse a table parameter describing attribute names.
Definition xfemProcess.cpp:446
GmProcessMethodRedirector< XfemProcess >::MethodRegistry * processMethodTable() const
Returns the table storing the process exported function names / methods.
Definition xfemProcess.cpp:59
int printSubElements(lua_State *L)
The xfem.printSubElements() process implementation.
Definition xfemProcess.cpp:222
int copyToElementMesh(lua_State *L)
The xfem.copyToElementMesh() process implementation.
Definition xfemProcess.cpp:359
XfemProcess(GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
Constructor. Will be called by the plugin loading code.
Definition xfemProcess.cpp:48
int init(lua_State *L)
The xfem.init() process implementation.
Definition xfemProcess.cpp:87
Declaration of the xfemOptions class.