XC Open source finite element analysis program
ProblemaEF.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 //----------------------------------------------------------------------------
27 //ProblemaEF.h
28 
29 #ifndef PROBLEMAEF_H
30 #define PROBLEMAEF_H
31 
32 #include "xc_utils/src/nucleo/EntCmd.h"
33 #include "version.h"
34 #include "preprocessor/Preprocessor.h"
35 #include "solution/ProcSolu.h"
36 #include "post_process/MapFields.h"
37 #include "utility/handler/DataOutputHandler.h"
38 
40 namespace XC {
41 class Domain;
42 class FE_Datastore;
43 class FEM_ObjectBrokerAllClasses;
44 class MEDMesh;
45 class MEDMeshing;
46 
82 
84 class ProblemaEF: public EntCmd
85  {
86  mutable DataOutputHandler::map_output_handlers output_handlers; //Manejadores para salida de resultados.
87  Preprocessor preprocessor;
88  ProcSolu proc_solu;
89  MapFields fields;
90  FE_Datastore *dataBase;
91  static FEM_ObjectBrokerAllClasses theBroker;
92 
93  public:
94  static Domain *theActiveDomain;
95  ProblemaEF(void);
96  ~ProblemaEF(void);
97  static inline const std::string &getXCVersion(void)
98  { return gVERSION; }
99  static inline const std::string &getXCVersionShort(void)
100  { return gVERSION_SHORT; }
101  void clearAll(void);
102  FE_Datastore *defineDatabase(const std::string &tipo, const std::string &nombre);
103  inline FE_Datastore *getDataBase(void)
104  { return dataBase; }
105  inline const Preprocessor &getPreprocessor(void) const
106  { return preprocessor; }
107  inline Preprocessor &getPreprocessor(void)
108  { return preprocessor; }
109  inline Domain *getDomain(void)
110  { return preprocessor.getDomain(); }
111  inline const Domain *getDomain(void) const
112  { return preprocessor.getDomain(); }
113  inline const ProcSolu &getSoluProc(void) const
114  { return proc_solu; }
115  inline ProcSolu &getSoluProc(void)
116  { return proc_solu; }
117  inline const MapFields &getFields(void) const
118  { return fields; }
119  inline DataOutputHandler::map_output_handlers *getOutputHandlers(void) const
120  { return &output_handlers; }
121  };
122 
123 inline std::string getXCVersion(void)
124  { return ProblemaEF::getXCVersion(); }
125 inline std::string getXCVersionShort(void)
126  { return ProblemaEF::getXCVersionShort(); }
127 
128 } // end of XC namespace
129 
130 #endif
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:98
Container of field definitions.
Definition: MapFields.h:44
Definition: FE_Datastore.h:76
Solution procedure for the finite element problem.
Definition: ProcSolu.h:56
FE_Datastore * defineDatabase(const std::string &tipo, const std::string &nombre)
Database definition.
Definition: ProblemaEF.cc:61
Finite element model generation tools.
Definition: Preprocessor.h:58
void clearAll(void)
Delete all entities in the FE problem.
Definition: ProblemaEF.cc:90
Finite element problem.
Definition: ProblemaEF.h:84
The same as FEM_ObjectBroker?
Definition: FEM_ObjectBrokerAllClasses.h:71
ProblemaEF(void)
Default constructor.
Definition: ProblemaEF.cc:57
================================================================================
Definition: ContinuaReprComponent.h:34