OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
structengngmodel.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 structengngmodel_h
36
#define structengngmodel_h
37
38
#include "
engngm.h
"
39
#include "
statecountertype.h
"
40
#include "
floatarray.h
"
41
42
namespace
oofem
{
43
class
StructuralElement;
44
47
class
LastEquilibratedInternalForceAssembler
:
public
InternalForceAssembler
48
{
49
virtual
void
vectorFromElement
(
FloatArray
&vec,
Element
&element,
TimeStep
*tStep,
ValueModeType
mode)
const
;
50
};
51
56
class
LinearizedDilationForceAssembler
:
public
VectorAssembler
57
{
58
public
:
59
virtual
void
vectorFromElement
(
FloatArray
&vec,
Element
&element,
TimeStep
*tStep,
ValueModeType
mode)
const
;
60
};
61
66
class
InitialStressMatrixAssembler
:
public
MatrixAssembler
67
{
68
public
:
69
virtual
void
matrixFromElement(
FloatMatrix
&mat,
Element
&element,
TimeStep
*tStep)
const
;
70
};
71
72
77
class
StructuralEngngModel
:
public
EngngModel
78
{
79
protected
:
85
StateCounterType
internalVarUpdateStamp
;
86
88
FloatArray
internalForcesEBENorm
;
99
void
printReactionForces(
TimeStep
*tStep,
int
id
, FILE *out);
100
108
virtual
void
computeExternalLoadReactionContribution(
FloatArray
&reactions,
TimeStep
*tStep,
int
di);
116
virtual
void
giveInternalForces(
FloatArray
&answer,
bool
normFlag,
int
di,
TimeStep
*tStep);
117
125
void
updateInternalState(
TimeStep
*tStep);
126
127
virtual
void
printOutputAt(FILE *file,
TimeStep
*tStep);
128
129
public
:
131
StructuralEngngModel
(
int
i,
EngngModel
* _master = NULL);
133
virtual
~
StructuralEngngModel
();
134
135
virtual
void
updateYourself(
TimeStep
*tStep);
136
137
virtual
int
checkConsistency();
138
149
void
computeReaction(
FloatArray
&answer,
TimeStep
*tStep,
int
di);
150
155
virtual
void
terminate(
TimeStep
*tStep);
156
168
void
buildReactionTable(
IntArray
&restrDofMans,
IntArray
&restrDofs,
IntArray
&eqn,
TimeStep
*tStep,
int
di);
169
170
#ifdef __OOFEG
171
174
virtual
void
showSparseMtrxStructure(
int
type,
oofegGraphicContext
&
gc
,
TimeStep
*tStep);
175
#endif
176
};
177
}
// end namespace oofem
178
#endif // structengngmodel_h
engngm.h
oofem::LastEquilibratedInternalForceAssembler::vectorFromElement
virtual void vectorFromElement(FloatArray &vec, Element &element, TimeStep *tStep, ValueModeType mode) const
Definition:
structengngmodel.C:53
oofem::InternalForceAssembler
Implementation for assembling internal forces vectors in standard monolithic, nonlinear FE-problems...
Definition:
assemblercallback.h:101
oofem::ValueModeType
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
Definition:
valuemodetype.h:78
oofem::StateCounterType
long StateCounterType
StateCounterType type used to indicate solution state.
Definition:
statecountertype.h:40
gc
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
oofem::Element
Abstract base class for all finite elements.
Definition:
element.h:145
oofem::StructuralEngngModel::internalVarUpdateStamp
StateCounterType internalVarUpdateStamp
Contains last time stamp of internal variable update.
Definition:
structengngmodel.h:85
oofem::IntArray
Class implementing an array of integers.
Definition:
intarray.h:61
oofem::VectorAssembler
Callback class for assembling specific types of vectors.
Definition:
assemblercallback.h:63
oofem::MatrixAssembler
Callback class for assembling specific types of matrices.
Definition:
assemblercallback.h:83
statecountertype.h
oofem::FloatArray
Class representing vector of real numbers.
Definition:
floatarray.h:82
oofem::FloatMatrix
Implementation of matrix containing floating point numbers.
Definition:
floatmatrix.h:94
floatarray.h
oofem::StructuralEngngModel
This class implements extension of EngngModel for structural models.
Definition:
structengngmodel.h:77
oofem::StructuralEngngModel::internalForcesEBENorm
FloatArray internalForcesEBENorm
Norm of nodal internal forces evaluated on element by element basis (squared)
Definition:
structengngmodel.h:88
oofem::InitialStressMatrixAssembler
Callback class for assembling initial stress matrices.
Definition:
structengngmodel.h:66
oofem::EngngModel
Abstract base class representing the "problem" under consideration.
Definition:
engngm.h:181
oofem::oofegGraphicContext
Definition:
oofeggraphiccontext.h:126
oofem
the oofem namespace is to define a context or scope in which all oofem names are defined.
oofem::LastEquilibratedInternalForceAssembler
Assembles the internal forces, without updating the strain.
Definition:
structengngmodel.h:47
oofem::TimeStep
Class representing solution step.
Definition:
timestep.h:80
oofem::LinearizedDilationForceAssembler
Callback class for assembling linearized thermal "loads", useful for computing initial guesses...
Definition:
structengngmodel.h:56
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:31 for OOFEM by
doxygen
1.8.11 written by
Dimitri van Heesch
, © 1997-2011