Xfem
The Xfem Plugin
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 
31 struct lua_State;
32 class XfemMesh;
33 
36 class XfemProcess : public GmProcess
37 {
38 public:
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 
54 private:
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
int printSubElements(lua_State *L)
The xfem.printSubElements() process implementation.
Definition: xfemProcess.cpp:221
Definition: xfemOptions.h:29
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:445
virtual const GmLogCategory & logger() const
Declaration of the xfemOptions class.
XfemProcess(GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
Constructor. Will be called by the plugin loading code.
Definition: xfemProcess.cpp:47
int copyToElementMesh(lua_State *L)
The xfem.copyToElementMesh() process implementation.
Definition: xfemProcess.cpp:358
Basic class for a XFEM mesh. This is the basic mesh interface for xfem problems adding enrichment cap...
Definition: xfemMesh.h:49
int printSubElementsGaussData(lua_State *L)
The xfem.printSubElementsGaussData() process implementation.
Definition: xfemProcess.cpp:278
virtual ~XfemProcess()
Destructor.
Definition: xfemProcess.cpp:53
QString description() const
int init(lua_State *L)
The xfem.init() process implementation.
Definition: xfemProcess.cpp:86
Basic class for the XFEM Process plugin object.
Definition: xfemProcess.h:36
GmProcessMethodRedirector< XfemProcess >::MethodRegistry * processMethodTable() const
Returns the table storing the process exported function names / methods.
Definition: xfemProcess.cpp:58
int geostatic(lua_State *L)
Runs a Geostatic step to initialize the in-situ conditions.
Definition: xfemProcess.cpp:181