OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
errorestimator.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 
36 // *****************************************
37 // *** CLASS ERROR ESTIMATOR (INDICATOR) ***
38 // *****************************************
39 
40 #ifndef errorestimator_h
41 #define errorestimator_h
42 
43 #include "femcmpnn.h"
44 #include "interface.h"
45 #include "errorestimatortype.h"
46 #include "intarray.h"
47 #include "internalstatetype.h"
48 #include "remeshingcrit.h"
49 
50 #include <memory>
51 
53 
54 #define _IFT_ErrorEstimator_regionskipmap "regionskipmap"
55 #define _IFT_ErrorEstimator_IStype "istype"
56 
57 
58 namespace oofem {
59 class Domain;
60 class Element;
61 class TimeStep;
62 class RemeshingCriteria;
63 
70 
71 
80 class OOFEM_EXPORT ErrorEstimator : public FEMComponent
81 {
82 protected:
84  std :: unique_ptr< RemeshingCriteria > rc;
96 
97 public:
99  ErrorEstimator(int n, Domain * d);
101  virtual ~ErrorEstimator();
103  void setDomain(Domain *d);
111  virtual double giveElementError(EE_ErrorType type, Element *elem, TimeStep *tStep) = 0;
120  virtual double giveValue(EE_ValueType type, TimeStep *tStep) = 0;
125  int giveNumberOfSkippedElements() { return skippedNelems; }
133  virtual int estimateError(EE_ErrorMode mode, TimeStep *tStep) = 0;
137  virtual RemeshingCriteria *giveRemeshingCrit() = 0;
138 
142  ErrorEstimatorType giveErrorEstimatorType() const { return eeType; }
143 
151  bool skipRegion(int reg);
152  virtual void reinitialize();
153 
154  virtual IRResultType initializeFrom(InputRecord *ir);
155 
156  virtual const char *giveInputRecordName() const { return NULL; }
157 };
158 } // end namespace oofem
159 #endif // errorestimator_h
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
The base class for all remeshing criteria.
Definition: remeshingcrit.h:61
Class and object Domain.
Definition: domain.h:115
std::unique_ptr< RemeshingCriteria > rc
virtual const char * giveInputRecordName() const
Abstract base class for all finite elements.
Definition: element.h:145
InternalStateType IStype
Internal state type of variable to get internal forces.
EE_ErrorType
Type characterizing different type of element errors.
Class implementing an array of integers.
Definition: intarray.h:61
ErrorEstimatorType
Determines the type of error estimator.
ErrorEstimatorType giveErrorEstimatorType() const
Returns error estimation type of receiver.
int skippedNelems
Number of skipped elements.
int giveNumberOfSkippedElements()
Returns number of elements skipped in error estimation.
The base class for all error estimation or error indicator algorithms.
EE_ErrorMode
Type determining whether temporary or equilibrated variables are used for error evaluation.
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
ErrorEstimatorType eeType
Class representing the general Input Record.
Definition: inputrecord.h:101
EE_ValueType
Type characterizing different type of errors.
the oofem namespace is to define a context or scope in which all oofem names are defined.
IntArray regionSkipMap
Map indicating regions to skip (region - cross section model).
Class representing solution step.
Definition: timestep.h:80
The top abstract class of all classes constituting the finite element mesh.
Definition: femcmpnn.h:76

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:28 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011