HydroFemPhysics
The GeMA Hydraulic FEM Physics Plugin
Loading...
Searching...
No Matches
gmpHydraulicNeuralNetwork.h
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_HYDRAULICS_NEURALNETWOK_H_
25#define _GEMA_PLUGIN_HYDRAULICS_NEURALNETWOK_H_
26
27
28#include "gmpHydraulicConfig.h"
29#include "gmpHydraulic.h"
30
31#include <gmpFemNeuralNetwork.h>
32#include <gmpFemPhysicsCommon.h>
33#include <gmGaussAccessor.h>
34#include <gmMathUtils.h>
35
36class GmGaussAccessor;
37
40class GMP_HYDRAULIC_PHYSICS_API_EXPORT GmpHydraulicNeuralNetwork : public GmpHydraulic
41{
42public:
43
44 // constructor
45 GmpHydraulicNeuralNetwork(const char* pluginType, GmSimulationData* simulation, QString id, QString description,
46 const GmpFemPhysicsCommonMaterialFactory* matFactory, const GmLogCategory& logger);
47 // destructor
49
50 // Fills physics metadata
51 virtual const QVariantMap* physicsMetaDataMap();
52
53 // Fills elemental data
54 virtual FemResultType fillElementData(const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
55
56 // Inverse trigonometric functions
57 double fast_acos(double x);
58 double fast_atan(double x);
59 double fast_atan2(double y, double x);
60
61protected:
62 virtual bool checkAndLoadPrivateData(LuaTable& table);
63
64private:
65 const char* _pluginType;
66 GmpFemNeuralNetwork* _netK;
67 GmpFemNeuralNetwork* _netC;
68};
69
70#endif
Basic class for the hydraulic physics plugin object.
Definition gmpHydraulic.h:39
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the single Hydraulics attribute map, built when the function is called for th...
Definition gmpHydraulic.cpp:62
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic element.
Definition gmpHydraulic.cpp:236
Basic class for the hydraulic physics plugin object.
Definition gmpHydraulicNeuralNetwork.h:41
const char * _pluginType
The plugin type name.
Definition gmpHydraulicNeuralNetwork.h:65
GmpFemNeuralNetwork * _netK
Neural Network data to evaluate K matrix.
Definition gmpHydraulicNeuralNetwork.h:66
GmpFemNeuralNetwork * _netC
Neural Network data to evaluate C matrix.
Definition gmpHydraulicNeuralNetwork.h:67
Declaration of the gmpHydraulic classes.
Declaration of useful configuration definitions for the plugin library.