OOFEM 3.0
Loading...
Searching...
No Matches
variablecrosssection.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 variablecrosssection_h
36#define variablecrosssection_h
37
41#include "floatarray.h"
42#include "floatmatrix.h"
43#include "scalarfunction.h"
44
46
47#define _IFT_VariableCrossSection_Name "variablecs"
49
50namespace oofem {
63{
64protected:
93
96
97public:
106
119 void initializeFrom(InputRecord &ir) override;
120 void giveInputRecord(DynamicInputRecord &input) override;
121
122 const char *giveClassName() const override { return "VariableCrossSection"; }
123 const char *giveInputRecordName() const override { return _IFT_VariableCrossSection_Name; }
124
125 double give(CrossSectionProperty a, GaussPoint *gp) const override;
126 double give(CrossSectionProperty a, const FloatArray &coords, Element *elem, bool local) const override;
127
128protected:
129 void giveExpression(const ScalarFunction **expr, CrossSectionProperty aProperty) const;
130
131protected:
132 std :: string giveExpression(CrossSectionProperty aProperty);
133};
134} // end namespace oofem
135#endif // variablecrosssection_h
SimpleCrossSection(int n, Domain *d)
std::string giveExpression(CrossSectionProperty aProperty)
ScalarFunction shearAreazExpr
Expression for cross section beam shear area $A_z$.
bool localFormulationFlag
if set to true, all expressions are in element local cs, otherwise are expressed in global cs
const char * giveInputRecordName() const override
ScalarFunction iyExpr
Expression for cross section inertia moment $I_y$.
ScalarFunction shearAreayExpr
Expression for cross section beam shear area $A_y$.
ScalarFunction izExpr
Expression for cross section inertia moment $I_z$.
ScalarFunction drillingTypeExpr
Expression for type of artificially added stiffness.
ScalarFunction relDrillingStiffnessExpr
Expression for cross section relative drilling stiffness.
ScalarFunction directorzExpr
Expression for director vector component in z-axis.
ScalarFunction directorxExpr
Expression for director vector component in x-axis.
const char * giveClassName() const override
ScalarFunction directoryExpr
Expression for director vector component in y-axis.
ScalarFunction areaExpr
Expression for cross section area.
ScalarFunction widthExpr
Expression for cross section width.
ScalarFunction thicknessExpr
Expression for cross section thickness.
ScalarFunction drillingStiffnessExpr
Expression for cross section beam drilling stiffness.
ScalarFunction ixExpr
Expression for cross section torsion moment $I_x$.
CrossSectionProperty
List of properties possibly stored in a cross section.
#define OOFEM_EXPORT
Definition oofemcfg.h:7
#define _IFT_VariableCrossSection_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