OOFEM 3.0
Loading...
Searching...
No Matches
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 - 2025 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"
52
53namespace oofem {
54
55class Function;
56class DofManager;
57
82{
83protected:
96 int set;
97
98public:
107
111 int giveSetNumber() const { return set; }
112
114 virtual int giveNumberOfInternalDofManagers() { return 0; }
116 virtual DofManager *giveInternalDofManager(int i) { return nullptr; }
117
118
122 Function *giveTimeFunction();
123
127 int getIsImposedTimeFunctionNumber() const { return this->isImposedTimeFunction; }
128
129
134 void setIsImposedTimeFunctionNumber(int funcIndx){ this->isImposedTimeFunction = funcIndx; }
135
142 virtual bcValType giveBCValType() const { return this->valType; }
143
149 virtual bool isImposed(TimeStep *tStep);
150
155 virtual const IntArray &giveDofIDs() const { return dofs; }
160 virtual bcType giveType() const { return UnknownBT; }
165 virtual bcGeomType giveBCGeoType() const { return UnknownBGT; }
166
171 virtual void scale(double s) { }
172
179 virtual double giveProperty(int aProperty, TimeStep *tStep) const {
180 OOFEM_ERROR("Not supported for this boundary condition.");
181 }
182
183 // Overloaded methods:
184 void initializeFrom(InputRecord &ir) override;
185 void giveInputRecord(DynamicInputRecord &input) override;
186
187 void saveContext(DataStream &stream, ContextMode mode) override;
188 void restoreContext(DataStream &stream, ContextMode mode) override;
189
190 virtual void updateYourself(TimeStep *tStep){;}
191
192};
193} // end namespace oofem
194#endif // generalbc_h
FEMComponent(int n, Domain *d)
Definition femcmpnn.h:88
bcValType valType
Physical meaning of BC value.
int set
Set number for boundary condition to be applied to.
virtual int giveNumberOfInternalDofManagers()
Gives the number of internal dof managers.
virtual double giveProperty(int aProperty, TimeStep *tStep) const
virtual bcGeomType giveBCGeoType() const
virtual const IntArray & giveDofIDs() const
virtual void updateYourself(TimeStep *tStep)
IntArray dofs
Dofs that b.c. is applied to (relevant for Dirichlet type b.c.s).
virtual DofManager * giveInternalDofManager(int i)
Gives an internal dof manager from receiver.
int timeFunction
Associated load time function.
#define OOFEM_ERROR(...)
Definition error.h:79
long ContextMode
Definition contextmode.h:43
bcGeomType
Type representing the geometric character of loading.
Definition bcgeomtype.h:40
@ UnknownBGT
Unknown type.
Definition bcgeomtype.h:41
bcValType
Type determining the type of general boundary condition.
Definition bcvaltype.h:40
bcType
Type representing the type of bc.
Definition bctype.h:40
@ UnknownBT
Unknown.
Definition bctype.h:41
#define OOFEM_EXPORT
Definition oofemcfg.h:7

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011