OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
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 - 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 variablecrosssection_h
36 #define variablecrosssection_h
37 
38 #include "../sm/CrossSections/simplecrosssection.h"
39 #include "../sm/CrossSections/layeredcrosssection.h"
40 #include "../sm/Materials/structuralmaterial.h"
41 #include "floatarray.h"
42 #include "floatmatrix.h"
43 #include "scalarfunction.h"
44 
46 
47 #define _IFT_VariableCrossSection_Name "variablecs"
48 
49 
50 namespace oofem {
62 class OOFEM_EXPORT VariableCrossSection : public SimpleCrossSection
63 {
64 protected:
93 
96 
97 public:
104  localFormulationFlag = false;
105  }
106 
119  virtual IRResultType initializeFrom(InputRecord *ir);
120  virtual void giveInputRecord(DynamicInputRecord &input);
121 
122  // identification and auxiliary functions
123  virtual const char *giveClassName() const { return "VariableCrossSection"; }
124  virtual const char *giveInputRecordName() const { return _IFT_VariableCrossSection_Name; }
125 
126  virtual double give(CrossSectionProperty a, GaussPoint *gp);
127  virtual double give(CrossSectionProperty a, const FloatArray &coords, Element *elem, bool local);
128 
129 protected:
130  void giveExpression(const ScalarFunction **expr, CrossSectionProperty aProperty) const;
131 
132 protected:
133  std :: string giveExpression(CrossSectionProperty aProperty);
134 };
135 } // end namespace oofem
136 #endif // variablecrosssection_h
virtual const char * giveClassName() const
#define _IFT_VariableCrossSection_Name
Class and object Domain.
Definition: domain.h:115
ScalarFunction iyExpr
Expression for cross section inertia moment $I_y$.
ScalarFunction directoryExpr
Expression for director vector component in y-axis.
ScalarFunction shearAreayExpr
Expression for cross section beam shear area $A_y$.
ScalarFunction thicknessExpr
Expression for cross section thickness.
Abstract base class for all finite elements.
Definition: element.h:145
CrossSectionProperty
List of properties possibly stored in a cross section.
Definition: crosssection.h:58
Class implementing cross section model in finite element problem.
ScalarFunction widthExpr
Expression for cross section width.
VariableCrossSection(int n, Domain *d)
Constructor.
ScalarFunction ixExpr
Expression for cross section torsion moment $I_x$.
ScalarFunction directorzExpr
Expression for director vector component in z-axis.
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 ...
ScalarFunction relDrillingStiffnessExpr
Expression for cross section relative drilling stiffness.
Class representing vector of real numbers.
Definition: floatarray.h:82
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
Implementation of Scalar function.
Class implementing "simple" cross section model in finite element problem.
Class representing the general Input Record.
Definition: inputrecord.h:101
ScalarFunction drillingTypeExpr
Expression for type of artificially added stiffness.
Class representing the a dynamic Input Record.
ScalarFunction directorxExpr
Expression for director vector component in x-axis.
ScalarFunction areaExpr
Expression for cross section area.
ScalarFunction izExpr
Expression for cross section inertia moment $I_z$.
the oofem namespace is to define a context or scope in which all oofem names are defined.
ScalarFunction drillingStiffnessExpr
Expression for cross section beam drilling stiffness.
Class representing integration point in finite element program.
Definition: gausspoint.h:93
virtual const char * giveInputRecordName() const

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:32 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011