xc
SolutionProcedureControl.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // XC program; finite element analysis code
4 // for structural analysis and design.
5 //
6 // Copyright (C) Luis C. Pérez Tato
7 //
8 // This program derives from OpenSees <http://opensees.berkeley.edu>
9 // developed by the «Pacific earthquake engineering research center».
10 //
11 // Except for the restrictions that may arise from the copyright
12 // of the original program (see copyright_opensees.txt)
13 // XC is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU General Public License as published by
15 // the Free Software Foundation, either version 3 of the License, or
16 // (at your option) any later version.
17 //
18 // This software is distributed in the hope that it will be useful, but
19 // WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 // GNU General Public License for more details.
22 //
23 //
24 // You should have received a copy of the GNU General Public License
25 // along with this program.
26 // If not, see <http://www.gnu.org/licenses/>.
27 //----------------------------------------------------------------------------
28 //SolutionProcedureControl.h
29 
30 #ifndef PROCSOLUCONTROL_H
31 #define PROCSOLUCONTROL_H
32 
33 #include "utility/kernel/CommandEntity.h"
34 #include "analysis/MapModelWrapper.h"
35 #include "SolutionStrategyMap.h"
36 
37 namespace XC {
38 
39 class SolutionProcedure;
40 class Domain;
41 
46  {
47  private:
48  MapModelWrapper solu_models;
49  SolutionStrategyMap solu_methods;
50 
51  SolutionProcedure *getSolutionProcedure(void);
52  const SolutionProcedure *getSolutionProcedure(void) const;
53  public:
55 
56  Domain *getDomain(void);
57  const Domain *getDomain(void) const;
58  Analysis *getAnalysis(void);
59  const Analysis *getAnalysis(void) const;
61  const Integrator *getIntegratorPtr(void) const;
62 
63  DataOutputHandler::map_output_handlers *getOutputHandlers(void) const;
64  const ModelWrapper *getModelWrapper(const std::string &) const;
65  ModelWrapper *getModelWrapper(const std::string &);
66  const std::string &getModelWrapperName(const ModelWrapper *) const;
67  const SolutionStrategy *getSolutionStrategy(const std::string &) const;
68  SolutionStrategy *getSolutionStrategy(const std::string &);
69 
72 
73  void revertToStart(void);
74  void clearAll(void);
75  };
76 
77 } // end of XC namespace
78 
79 #endif
MapModelWrapper & getModelWrapperContainer(void)
Return a reference to the model wrapper container.
Definition: SolutionProcedureControl.cc:103
Solution strategies container.
Definition: SolutionStrategyMap.h:45
SolutionProcedureControl(SolutionProcedure *owr)
Default constructor.
Definition: SolutionProcedureControl.cc:40
Base class for the object that perform the analysis.
Definition: Analysis.h:117
const ModelWrapper * getModelWrapper(const std::string &) const
Return a pointer to the model wrapper with the identifier being passed as parameter.
Definition: SolutionProcedureControl.cc:112
Wrapper for the finite element model "as seen" from the solver.
Definition: ModelWrapper.h:59
Solution procedure for the finite element problem.
Definition: SolutionProcedure.h:57
void revertToStart(void)
Revert to the initial state.
Definition: SolutionProcedureControl.cc:134
Integrator * getIntegratorPtr(void)
Return a pointer to the integrator.
Definition: SolutionProcedureControl.cc:87
Objet that can execute python scripts.
Definition: CommandEntity.h:40
Base class for the objects that performs the integration of physical properties over the domain to fo...
Definition: Integrator.h:100
Container for the objects that control the solution procedure.
Definition: SolutionProcedureControl.h:45
SolutionStrategyMap & getSolutionStrategyContainer(void)
Return a reference to the solution procedures container.
Definition: SolutionProcedureControl.cc:107
Solution strategy for the finite element problem.
Definition: SolutionStrategy.h:94
const SolutionStrategy * getSolutionStrategy(const std::string &) const
Return a const pointer to the solution method.
Definition: SolutionProcedureControl.cc:126
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
const std::string & getModelWrapperName(const ModelWrapper *) const
Return the name of a model wrapper.
Definition: SolutionProcedureControl.cc:121
Finite element model wrappers container.
Definition: MapModelWrapper.h:45
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:117
Domain * getDomain(void)
Return a pointer to the domain on which the solution algorithm operates.
Definition: SolutionProcedureControl.cc:52
void clearAll(void)
Clear all.
Definition: SolutionProcedureControl.cc:141
Analysis * getAnalysis(void)
Return a pointer to the analysis on which the solution algorithm operates.
Definition: SolutionProcedureControl.cc:70