OOFEM 3.0
Loading...
Searching...
No Matches
usrdefboundaryload.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 usrdefboundaryload_h
36#define usrdefboundaryload_h
37
38#include "boundaryload.h"
39
41
42#define _IFT_UsrDefBoundaryLoad_intensityfunction "intensityfunction"
43#define _IFT_UsrDefBoundaryLoad_Name "usrdefboundaryload"
44#define _IFT_UsrDefBoundaryLoad_GeomType "geomtype"
45#define _IFT_UsrDefBoundaryLoad_approxorder "approxorder"
47
48
49namespace oofem {
65{
66 protected:
72 int approxOrder = 0;
73public:
74 UsrDefBoundaryLoad(int i, Domain * d);
75
76 // Overloaded methods:
77 void computeValueAt(FloatArray &answer, TimeStep *tStep, const FloatArray &coords, ValueModeType mode) override;
78 virtual void computeComponentArrayAt(FloatArray &answer, TimeStep *tStep, ValueModeType mode) override;
79 int giveApproxOrder() override { return approxOrder; }
80
81 void initializeFrom(InputRecord &ir) override;
82 void giveInputRecord(DynamicInputRecord &input) override;
83 bcGeomType giveBCGeoType() const override { return myGeomType; }
85
86
87 const char *giveClassName() const override { return "UsrDefBoundaryLoad"; }
88 const char *giveInputRecordName() const override { return _IFT_UsrDefBoundaryLoad_Name; }
89
90private:
91 void saveContext(DataStream &stream, ContextMode mode) override;
92 void restoreContext(DataStream &stream, ContextMode mode) override;
93 void computeNArray(FloatArray &answer, const FloatArray &coords) const override { answer.clear(); }
94
95};
96} // end namespace oofem
97#endif // usrdefboundaryload_h
BoundaryLoad(int i, Domain *d)
FormulationType
Definition load.h:79
@ FT_Global
Definition load.h:81
virtual void computeComponentArrayAt(FloatArray &answer, TimeStep *tStep, ValueModeType mode) override
bcGeomType myGeomType
bcgeotype of the boundary load
bcGeomType giveBCGeoType() const override
UsrDefBoundaryLoad(int i, Domain *d)
void computeNArray(FloatArray &answer, const FloatArray &coords) const override
void computeValueAt(FloatArray &answer, TimeStep *tStep, const FloatArray &coords, ValueModeType mode) override
int intensityFunction
Reference to user defined function that computes the load intensity.
int approxOrder
approximation order to set up the appropriate integration rule
FormulationType giveFormulationType() override
const char * giveClassName() const override
const char * giveInputRecordName() const override
long ContextMode
Definition contextmode.h:43
bcGeomType
Type representing the geometric character of loading.
Definition bcgeomtype.h:40
@ SurfaceLoadBGT
Distributed surface load.
Definition bcgeomtype.h:45
#define OOFEM_EXPORT
Definition oofemcfg.h:7
#define _IFT_UsrDefBoundaryLoad_Name

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