xc
ProcSoluControl.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 //ProcSoluControl.h
28 
29 #ifndef PROCSOLUCONTROL_H
30 #define PROCSOLUCONTROL_H
31 
32 #include "xc_utils/src/kernel/CommandEntity.h"
33 #include "analysis/MapModelWrapper.h"
34 #include "AnalysisAggregationMap.h"
35 
36 namespace XC {
37 
38 class ProcSolu;
39 class Domain;
40 
44 class ProcSoluControl: public CommandEntity
45  {
46  private:
47  MapModelWrapper solu_models;
48  AnalysisAggregationMap solu_methods;
49 
50  ProcSolu *getProcSolu(void);
51  const ProcSolu *getProcSolu(void) const;
52  protected:
53 
54  public:
56 
57  Domain *getDomain(void);
58  const Domain *getDomain(void) const;
60  const Integrator *getIntegratorPtr(void) const;
61 
62  DataOutputHandler::map_output_handlers *getOutputHandlers(void) const;
63  const ModelWrapper *getModelWrapper(const std::string &) const;
64  ModelWrapper *getModelWrapper(const std::string &);
65  const AnalysisAggregation *getAnalysisAggregation(const std::string &) const;
66  AnalysisAggregation *getAnalysisAggregation(const std::string &);
67 
70 
71  void revertToStart(void);
72  void clearAll(void);
73  };
74 
75 } // end of XC namespace
76 
77 #endif
Integrator * getIntegratorPtr(void)
Return a pointer to the integrator.
Definition: ProcSoluControl.cc:69
Solution procedure for the finite element problem.
Definition: AnalysisAggregation.h:89
void revertToStart(void)
Revert to the initial state.
Definition: ProcSoluControl.cc:111
const AnalysisAggregation * getAnalysisAggregation(const std::string &) const
Return a const pointer to the solution method.
Definition: ProcSoluControl.cc:103
Wrapper for the finite element model "as seen" from the solver.
Definition: ModelWrapper.h:58
ProcSoluControl(ProcSolu *owr)
Default constructor.
Definition: ProcSoluControl.cc:40
Base class for the objects that performs the integration of physical properties over the domain to fo...
Definition: Integrator.h:99
const ModelWrapper * getModelWrapper(const std::string &) const
Return a pointer to the model wrapper with the identifier being passed as parameter.
Definition: ProcSoluControl.cc:94
Container for the objects that control the solution procedure.
Definition: ProcSoluControl.h:44
Solution procedure for the finite element problem.
Definition: ProcSolu.h:56
void clearAll(void)
Clear all.
Definition: ProcSoluControl.cc:118
MapModelWrapper & getModelWrapperContainer(void)
Return a reference to the model wrapper container.
Definition: ProcSoluControl.cc:85
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Solution methods container.
Definition: AnalysisAggregationMap.h:44
Domain * getDomain(void)
Return a pointer to the domain on which the solution algorithm operates.
Definition: ProcSoluControl.cc:52
Finite element model wrappers container.
Definition: MapModelWrapper.h:44
AnalysisAggregationMap & getAnalysisAggregationContainer(void)
Return a reference to the solution procedures container.
Definition: ProcSoluControl.cc:89
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116