OOFEM 3.0
Loading...
Searching...
No Matches
boundaryload.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 boundaryload_h
36#define boundaryload_h
37
38#include "load.h"
39#include "bctype.h"
40#include "valuemodetype.h"
41#include "dictionary.h"
42#include "scalarfunction.h"
43
45
46#define _IFT_BoundaryLoad_loadtype "loadtype"
47#define _IFT_BoundaryLoad_cstype "cstype"
48#define _IFT_BoundaryLoad_properties "properties"
49#define _IFT_BoundaryLoad_propertyTimeFunctions "propertytf"
50#define _IFT_BoundaryLoad_propertyMultExpr "propertymultexpr"
51#define _IFT_BoundaryLoad_temperOffset "temperoffset"
53
54namespace oofem {
55class TimeStep;
56
111{
112public:
124
125protected:
136
137public:
143 BoundaryLoad(int i, Domain * d);
144
145 void computeValueAt(FloatArray &answer, TimeStep *tStep, const FloatArray &coords, ValueModeType mode) override;
149 int giveApproxOrder() override = 0;
150
157 void initializeFrom(InputRecord &ir) override;
158 void giveInputRecord(DynamicInputRecord &input) override;
166 bcType giveType() const override { return lType; }
167 virtual double giveProperty(int aProperty, TimeStep *tStep, const std :: map< std :: string, FunctionArgument > &valDict) const;
168 double giveProperty(int aProperty, TimeStep *tStep) const override;
170 virtual double giveTemperOffset(void);
173
174protected:
182 virtual void computeNArray(FloatArray &answer, const FloatArray &coords) const = 0;
189 void computeComponentArrayAt(FloatArray &answer, TimeStep *tStep, ValueModeType mode) override;
190
191 void saveContext(DataStream &stream, ContextMode mode) override;
192 void restoreContext(DataStream &stream, ContextMode mode) override;
193};
194
195
204{
205public:
211 EdgeLoad(int i, Domain * d) : BoundaryLoad (i, d) {}
212};
213
222{
223public:
229 SurfaceLoad(int i, Domain * d) : BoundaryLoad (i, d) {}
230};
231
232} // end namespace oofem
233#endif // boundaryload_h
virtual void computeNArray(FloatArray &answer, const FloatArray &coords) const =0
bcType lType
Load type (its physical meaning).
void saveContext(DataStream &stream, ContextMode mode) override
Dictionary propertyTimeFunctDictionary
Optional time-functions for properties.
void restoreContext(DataStream &stream, ContextMode mode) override
bcType giveType() const override
void computeValueAt(FloatArray &answer, TimeStep *tStep, const FloatArray &coords, ValueModeType mode) override
CoordSystType CST_UpdatedGlobal
void computeComponentArrayAt(FloatArray &answer, TimeStep *tStep, ValueModeType mode) override
@ BL_GlobalMode
Global mode i.e. load is specified in global c.s.
@ BL_LocalMode
Local entity (edge or surface) coordinate system.
@ BL_UpdatedGlobalMode
Load is specified in global c.s. and follows the deformation (only supported on el....
Dictionary propertyDictionary
Additional b.c properties.
CoordSystType coordSystemType
Load coordinate system.
ScalarFunction propertyMultExpr
Expression to multiply all properties.
int giveApproxOrder() override=0
CoordSystType giveCoordSystMode() override
double temperOffset
Temperature offset with regards to Kelvin. Default is 273.15.
BoundaryLoad(int i, Domain *d)
EdgeLoad(int i, Domain *d)
Load(int n, Domain *d)
Definition load.C:44
CoordSystType
Definition load.h:70
SurfaceLoad(int i, Domain *d)
long ContextMode
Definition contextmode.h:43
bcType
Type representing the type of bc.
Definition bctype.h:40
#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