OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
mmaleastsquareprojection.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 mmaleastsquareprojection_h
36 #define mmaleastsquareprojection_h
37 
39 #include "interface.h"
40 
41 #include <list>
42 
44 
45 #define _IFT_MMALeastSquareProjection_Name "leastsquare"
46 #define _IFT_MMALeastSquareProjection_statefilter "mmalsp_statefilter"
47 #define _IFT_MMALeastSquareProjection_regionfilter "mmalsp_regionfilter"
48 
49 
50 namespace oofem {
51 class Domain;
52 class Element;
53 class TimeStep;
54 class DynamicInputRecord;
55 
57 /*
58  * Defines, whether only the necessary number of closest points will be used
59  * to fit a polynomial. If not defined, more points from gp neighborhood will
60  * be used, based on element connectivity.
61  */
62 //#define MMALSP_ONLY_CLOSEST_POINTS
63 
79 {
80 protected:
86  std :: list< GaussPoint * >patchGPList;
91 public:
95  virtual ~MMALeastSquareProjection();
96 
97  virtual void __init(Domain *dold, IntArray &type, const FloatArray &coords, Set &sourceElemSet, TimeStep *tStep, bool iCohesiveZoneGP = false);
98 
99  virtual void finish(TimeStep *tStep);
100 
101  virtual int __mapVariable(FloatArray &answer, const FloatArray &coords, InternalStateType type, TimeStep *tStep);
102 
103  virtual int mapStatus(MaterialStatus &oStatus) const;
104 
105  virtual IRResultType initializeFrom(InputRecord *ir);
106  virtual void giveInputRecord(DynamicInputRecord &input);
107 
108  virtual const char *giveClassName() const { return "MMALeastSquareProjectionPatchType"; }
109 
110 protected:
111  void computePolynomialTerms(FloatArray &P, const FloatArray &coords, MMALeastSquareProjectionPatchType type);
112  int giveNumberOfUnknownPolynomialCoefficients(MMALeastSquareProjectionPatchType regType);
113 };
114 } // end namespace oofem
115 #endif // mmaleastsquareprojection_h
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
The class implements the transfer of state variables based on Least square fit over old mesh integrat...
Class and object Domain.
Definition: domain.h:115
std::list< GaussPoint * > patchGPList
List of Gp participating in patch.
virtual const char * giveClassName() const
Returns class name of the receiver.
The class representing the general material model mapping algorithm.
Class implementing an array of integers.
Definition: intarray.h:61
int regionFilter
If set, then only IP in the same region are taken into account.
Set of elements, boundaries, edges and/or nodes.
Definition: set.h:66
int stateFilter
If set, then only IP in the neighbourhood with same state can be used to interpolate the values...
Abstract base class representing a material status information.
Definition: matstatus.h:84
Class representing vector of real numbers.
Definition: floatarray.h:82
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
Class representing the general Input Record.
Definition: inputrecord.h:101
Class representing the a dynamic Input Record.
MMALeastSquareProjectionPatchType patchType
Type of patch.
the oofem namespace is to define a context or scope in which all oofem names are defined.
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