OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
dofdistributedprimaryfield.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 dofdistributedprimaryfield_h
36 #define dofdistributedprimaryfield_h
37 
38 #include "primaryfield.h"
39 
40 namespace oofem {
49 class OOFEM_EXPORT DofDistributedPrimaryField : public PrimaryField
50 {
51 public:
62  DofDistributedPrimaryField(EngngModel * a, int idomain, FieldType ft, int nHist);
63  virtual ~DofDistributedPrimaryField();
64 
65  virtual void initialize(ValueModeType mode, TimeStep *tStep, FloatArray &answer, const UnknownNumberingScheme &s);
66 
67  virtual double giveUnknownValue(Dof *dof, ValueModeType mode, TimeStep *tStep);
68 
69  virtual void update(ValueModeType mode, TimeStep *tStep, const FloatArray &vectorToStore, const UnknownNumberingScheme &s);
70 
71  virtual void applyDefaultInitialCondition();
72  void applyInitialCondition(InitialCondition &ic);
73  virtual void applyBoundaryCondition(TimeStep *tStep);
74  virtual void applyBoundaryCondition(BoundaryCondition &bc, TimeStep *tStep);
75 
76  virtual FloatArray *giveSolutionVector(TimeStep *tStep);
77 
78  void setInitialGuess(DofManager &dman, TimeStep *tStep, TimeStep *prev);
79  virtual void advanceSolution(TimeStep *tStep);
80 
81  virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode);
82  virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode);
83 };
84 } // end namespace oofem
85 #endif // dofdistributedprimaryfield_h
FieldType
Physical type of field.
Definition: field.h:60
Class implementing general initial condition.
Abstract class representing field of primary variables (those, which are unknown and are typically as...
Definition: primaryfield.h:104
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
Definition: datastream.h:54
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
Definition: valuemodetype.h:78
Base class for dof managers.
Definition: dofmanager.h:113
Class representing field of primary variables, which are typically allocated on nodes.
Class implementing Dirichlet boundary condition on DOF (primary boundary condition).
Abstract base class allowing to control the way, how equations are assigned to individual DOFs...
Class representing vector of real numbers.
Definition: floatarray.h:82
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
Definition: contextmode.h:43
Abstract base class representing the "problem" under consideration.
Definition: engngm.h:181
the oofem namespace is to define a context or scope in which all oofem names are defined.
Abstract class Dof represents Degree Of Freedom in finite element mesh.
Definition: dof.h:93
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:28 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011