AnalyticalProcess
The GeMA Analytical Process Plugin
Loading...
Searching...
No Matches
gmpAnalyticalSolver.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_ANALYTICAL_SOLVER_H_
25#define _GEMA_PLUGIN_ANALYTICAL_SOLVER_H_
26
28
29#include <gmVector.h>
30#include <unit.h>
31
32class GmMesh;
33class GmCellMesh;
34class GmSpatialIndex;
36class GmLogCategory;
37class GmValueAccessor;
38
40
41
43class GMP_ANALYTICAL_PROCESS_API_EXPORT GmpAnalyticalSolver
44{
45public:
46 GmpAnalyticalSolver(GmMesh* srcMesh, GmMesh* resultMesh, const GmpAnalyticalSolverOptions* options,
47 GmSimulationData* simulation, const GmLogCategory& logger);
49
50 bool init();
51 bool solve();
52
53private:
54 Q_DISABLE_COPY(GmpAnalyticalSolver)
55
56 bool setupBurialData();
57 bool buildProjectedSeaFloorMesh();
58 bool burialDepth(const GmVector& point, double* depth);
59
60 GmValueAccessor* getOrCreateNodeAttributeAccessor(GmMesh* mesh, QString stdAttributeName, QString msgDescription,
61 Unit desiredUnit, bool required, int type = -1, int nlin = -1,
62 int ncol = -1, int history = -1, bool canBeFunction = true,
63 bool create = false, QString createFormat = "", int createHistory = -1,
64 bool ignoreWarnings = false);
65
71
74
80
86};
87
88#endif
Basic class for the Analytical solving process.
Definition gmpAnalyticalSolver.h:44
GmValueAccessor * _eAc
A node data accessor for strain data from _dstMesh.
Definition gmpAnalyticalSolver.h:79
GmMesh * _srcMesh
Mesh with pressure and/or temperature node data.
Definition gmpAnalyticalSolver.h:67
GmValueAccessor * _seaFloorCoordAc
A node data accessor for the (unprojected) sea floor mesh node coordinates. Values in 'm'....
Definition gmpAnalyticalSolver.h:82
GmCellMesh * _seaFloorMesh
The optional mesh with the sea floor geometry. Can be NULL.
Definition gmpAnalyticalSolver.h:81
GmValueAccessor * _dstCoordAc
A node data accessor for _dstMesh node coordinates. Values in 'm'.
Definition gmpAnalyticalSolver.h:73
const GmpAnalyticalSolverOptions * _options
Solver options.
Definition gmpAnalyticalSolver.h:69
GmValueAccessor * _sAc
A node data accessor for stress data from _dstMesh. Values in 'kPa'.
Definition gmpAnalyticalSolver.h:78
GmValueAccessor * _uAc
A node data accessor for displacement data from _dstMesh. Values in 'm'.
Definition gmpAnalyticalSolver.h:77
GmSimulationData * _simulation
Simulation Data.
Definition gmpAnalyticalSolver.h:66
GmCellMesh * _projSeaFloorMesh
The auxiliar mesh with a x-y projection of the sea floor mesh. Exists only if _seaFloorMesh is not nu...
Definition gmpAnalyticalSolver.h:83
GmValueAccessor * _tAc
A node data accessor for temperature data from _srcMesh. Values in 'K'.
Definition gmpAnalyticalSolver.h:76
GmValueAccessor * _srcCoordAc
A node data accessor for _srcMesh node coordinates. Values in 'm'.
Definition gmpAnalyticalSolver.h:72
const GmLogCategory & _logger
Logger for eventual messages.
Definition gmpAnalyticalSolver.h:70
double _meanSeaLevelDepth
The mean sea level depth. Used when _seaFloorMesh is NULL. Value in 'm' (unlike the value in _options...
Definition gmpAnalyticalSolver.h:85
GmSpatialIndex * _projSeaFloorIndex
Spatial index for the projected sea floor mesh. Exists only if _seaFloorMesh is not null.
Definition gmpAnalyticalSolver.h:84
GmValueAccessor * _pAc
A node data accessor for pressure data from _srcMesh. Values in 'kPa'.
Definition gmpAnalyticalSolver.h:75
GmMesh * _dstMesh
Result mesh with displacement and/or stress node data to be filled.
Definition gmpAnalyticalSolver.h:68
arma::vec GmVector
Declaration of useful configuration definitions for the plugin library.
Basic class for storing the possible options for the analytical solver.
Definition gmpAnalyticalSolverOptions.h:36