OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
nodalrecoverymodel.h
Go to the documentation of this file.
1 /*
2  *
3  * ##### ##### ###### ###### ### ###
4  * ## ## ## ## ## ## ## ### ##
5  * ## ## ## ## #### #### ## # ##
6  * ## ## ## ## ## ## ## ##
7  * ## ## ## ## ## ## ## ##
8  * ##### ##### ## ###### ## ##
9  *
10  *
11  * OOFEM : Object Oriented Finite Element Code
12  *
13  * Copyright (C) 1993 - 2013 Borek Patzak
14  *
15  *
16  *
17  * Czech Technical University, Faculty of Civil Engineering,
18  * Department of Structural Mechanics, 166 29 Prague, Czech Republic
19  *
20  * This library is free software; you can redistribute it and/or
21  * modify it under the terms of the GNU Lesser General Public
22  * License as published by the Free Software Foundation; either
23  * version 2.1 of the License, or (at your option) any later version.
24  *
25  * This program is distributed in the hope that it will be useful,
26  * but WITHOUT ANY WARRANTY; without even the implied warranty of
27  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28  * Lesser General Public License for more details.
29  *
30  * You should have received a copy of the GNU Lesser General Public
31  * License along with this library; if not, write to the Free Software
32  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33  */
34 
35 #ifndef nodalrecoverymodel_h
36 #define nodalrecoverymodel_h
37 
38 #include "oofemcfg.h"
39 #include "intarray.h"
40 #include "floatarray.h"
41 #include "interface.h"
42 #include "internalstatetype.h"
43 #include "statecountertype.h"
44 #include "set.h"
45 
46 #include <map>
47 #include <vector>
48 
49 namespace oofem {
50 class Domain;
51 class Element;
52 class CrossSection;
53 class TimeStep;
54 class CommunicatorBuff;
55 class ProblemCommunicator;
65 class OOFEM_EXPORT NodalRecoveryModel
66 {
67 public:
68  enum NodalRecoveryModelType { NRM_NodalAveraging = 0, NRM_ZienkiewiczZhu = 1, NRM_SPR = 2 };
69 
70 protected:
75  std :: map< int, FloatArray >nodalValList;
81 
82 #ifdef __PARALLEL_MODE
83  CommunicatorBuff *commBuff;
89 #endif
90 
91 public:
95  virtual ~NodalRecoveryModel();
96 
97  void setDomain(Domain *ipDomain) { domain = ipDomain; }
98 
104  virtual int recoverValues(Set elementSet, InternalStateType type, TimeStep *tStep) = 0;
109  virtual int clear();
116  int giveNodalVector(const FloatArray * &ptr, int node);
123  virtual int giveRegionRecordSize();
124 
125  virtual const char *giveClassName() const = 0;
126  std :: string errorInfo(const char *func) { return std :: string(this->giveClassName()) + func; }
127 
128 protected:
136  int initRegionNodeNumbering(IntArray &regionNodalNumbers, int &regionDofMans, Set &region);
137 
145  int updateRegionRecoveredValues(const IntArray &regionNodalNumbers,
146  int regionValSize, const FloatArray &rhs);
147 };
148 } // end namespace oofem
149 #endif // nodalrecoverymodel_h
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
Class and object Domain.
Definition: domain.h:115
void setDomain(Domain *ipDomain)
Class representing communicator for engng model.
Definition: problemcomm.h:50
long StateCounterType
StateCounterType type used to indicate solution state.
Class implementing an array of integers.
Definition: intarray.h:61
Set of elements, boundaries, edges and/or nodes.
Definition: set.h:66
ProblemCommunicator * communicator
Communicator.
StateCounterType stateCounter
Time stamp of recovered values.
Class representing vector of real numbers.
Definition: floatarray.h:82
std::string errorInfo(const char *func)
std::map< int, FloatArray > nodalValList
Map of nodal values.
The Communicator and corresponding buffers (represented by this class) are separated in order to allo...
Definition: communicator.h:60
the oofem namespace is to define a context or scope in which all oofem names are defined.
bool initCommMap
Communication init flag.
The base class for all recovery models, which perform nodal averaging or projection processes for int...
InternalStateType valType
Determines the type of recovered values.
Class representing solution step.
Definition: timestep.h:80

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:30 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011