Xfem
The Xfem Plugin
Loading...
Searching...
No Matches
xfemSolver.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_SOLVER_H_
25#define _GEMA_XFEM_SOLVER_H_
26
27#include <gmpFemTransientNonLinearSolver.h>
28#include <gmpFemStaticNonLinearSolver.h>
29#include "xfemOptions.h"
30
31class XfemMesh;
32
34 // public GmpFemNonLinearSolver
36{
37public:
38 XfemSolver(XfemMesh* mesh, GmSimulationData* simulation, const QVector<GmpFemPhysics*>& physics,
39 GmNumSolver* solver, const GmpFemSolverOptions& options, const XfemOptions& xfemOptions, const GmLogCategory& logger);
40 virtual ~XfemSolver(void);
41
42 virtual bool init();
43 virtual bool pre();
44 virtual bool preEmbedded();
45 virtual bool geostatic();
46 virtual bool pos();
47 virtual bool runStep(double dt, double* newt, bool* conv, double* err, int* niter, bool eval);
48
49 GmpFemPhysics* getPhysics() { return _physics[0]; }
50 virtual const QList<QPair<GmValueAccessor*, QList<GmValueAccessor*>>> enrichedAccessorPairs();
51
52protected:
53 //virtual bool step_static_nonlinear(double, double* newt, double* err, bool* conv, int* niter, bool eval);
54
55private:
56 GmpFemNonLinearSolver* _solver;
61};
62
63#endif
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
Extension of the FEM linear solver for the XFEM method.
Definition xfemSolver.h:36
XfemOptions _xfemOptions
The set of xfem options.
Definition xfemSolver.h:57
const GmLogCategory & _logger
Logger for eventual messages.
Definition xfemSolver.h:60
QVector< GmpFemPhysics * > _physics
physics data
Definition xfemSolver.h:59
virtual bool preEmbedded()
Runs the preprocessor .
Definition xfemSolver.cpp:162
virtual ~XfemSolver(void)
Destructor.
Definition xfemSolver.cpp:73
virtual bool runStep(double dt, double *newt, bool *conv, double *err, int *niter, bool eval)
Forwards the call for the runStep solver.
Definition xfemSolver.cpp:94
GmSimulationData * _SimulationData
Simulation data.
Definition xfemSolver.h:58
virtual bool pre()
Runs the preprocessor .
Definition xfemSolver.cpp:104
virtual bool init()
Forwards the call for the solver init.
Definition xfemSolver.cpp:80
GmpFemNonLinearSolver * _solver
Fem solver used to solve the analysis.
Definition xfemSolver.h:56
virtual bool geostatic()
Forwards the call for the solver geostatic.
Definition xfemSolver.cpp:87
Declaration of the xfemOptions class.