OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
generalboundarycondition.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 generalbc_h
36 #define generalbc_h
37 
38 #include "femcmpnn.h"
39 #include "intarray.h"
40 #include "bcvaltype.h"
41 #include "bcgeomtype.h"
42 #include "bctype.h"
43 
45 
46 #define _IFT_GeneralBoundaryCondition_timeFunct "loadtimefunction"
47 #define _IFT_GeneralBoundaryCondition_valType "valtype"
48 #define _IFT_GeneralBoundaryCondition_dofs "dofs"
49 #define _IFT_GeneralBoundaryCondition_isImposedTimeFunct "isimposedtimefunction"
50 #define _IFT_GeneralBoundaryCondition_set "set"
51 
52 
53 namespace oofem {
54 
55 class Function;
56 class DofManager;
57 
81 class OOFEM_EXPORT GeneralBoundaryCondition : public FEMComponent
82 {
83 protected:
96  int set;
97 
98 public:
104  GeneralBoundaryCondition(int n, Domain * d);
107 
111  int giveSetNumber() { return set; }
112 
114  virtual int giveNumberOfInternalDofManagers() { return 0; }
116  virtual DofManager *giveInternalDofManager(int i) { return NULL; }
117 
118 
122  Function *giveTimeFunction();
123 
130  virtual bcValType giveBCValType() const { return this->valType; }
131 
137  virtual bool isImposed(TimeStep *tStep);
138 
143  virtual const IntArray &giveDofIDs() const { return dofs; }
148  virtual bcType giveType() const { return UnknownBT; }
153  virtual bcGeomType giveBCGeoType() const { return UnknownBGT; }
154 
159  virtual void scale(double s) { }
160 
162  virtual void postInitialize() { }
163 
164  // Overloaded methods:
165  virtual IRResultType initializeFrom(InputRecord *ir);
166  virtual void giveInputRecord(DynamicInputRecord &input);
167 
168  virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj = NULL);
169  virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj = NULL);
170 };
171 } // end namespace oofem
172 #endif // generalbc_h
Class and object Domain.
Definition: domain.h:115
bcValType
Type determining the type of general boundary condition.
Definition: bcvaltype.h:40
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
Definition: datastream.h:54
Unknown type.
Definition: bcgeomtype.h:41
bcGeomType
Type representing the geometric character of loading.
Definition: bcgeomtype.h:40
Unknown.
Definition: bctype.h:41
virtual const IntArray & giveDofIDs() const
Array with default dofs which b.c.
virtual DofManager * giveInternalDofManager(int i)
Gives an internal dof manager from receiver.
Base class for dof managers.
Definition: dofmanager.h:113
Class implementing an array of integers.
Definition: intarray.h:61
virtual int giveNumberOfInternalDofManagers()
Gives the number of internal dof managers.
bcType
Type representing the type of bc.
Definition: bctype.h:40
int giveSetNumber()
Gives the set number which boundary condition is applied to.
bcValType valType
Physical meaning of BC value.
int timeFunction
Associated load time function.
IntArray dofs
Dofs that b.c. is applied to (relevant for Dirichlet type b.c.s).
Abstract base class for all boundary conditions of problem.
virtual void scale(double s)
Scales the receiver according to given value.
virtual void postInitialize()
Performs post initialization steps.
Abstract base class representing a function with vector input and output.
Definition: function.h:88
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
int isImposedTimeFunction
Zero by default - the BC is than always imposed.
Class representing the general Input Record.
Definition: inputrecord.h:101
virtual bcGeomType giveBCGeoType() const
Returns geometry character of boundary condition.
Class representing the a dynamic Input Record.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
Definition: contextmode.h:43
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual bcValType giveBCValType() const
Returns receiver load type.
virtual ~GeneralBoundaryCondition()
Destructor.
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