OOFEM 3.0
Loading...
Searching...
No Matches
latticematstatus.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 latticematstatus_h
36#define latticematstatus_h
37
38
39#include "../structuralms.h"
40#include "randommaterialext.h"
41#include "floatarrayf.h"
42
43namespace oofem {
44class GaussPoint;
45class Dictionary;
46class Domain;
47class NonlocalMaterialStatusExtension;
48
55{
56protected:
57
60
63
66
69
80
81
84
87
88
91
94
96 double dissipation = 0.;
97
99 double tempDissipation = 0.;
100
102 double deltaDissipation = 0.;
103
106
108 double le = 0.;
109
115 int crackFlag = 0;
116
119
121 double tempCrackWidth = 0.;
122
124 double crackWidth = 0.;
125
126
127 int updateFlag = 0;
128
129public:
131
132 const char *giveClassName() const override { return "LatticeMaterialStatus"; }
133
134 void initTempStatus() override;
135
136 void updateYourself(TimeStep *) override;
137
138 void printOutputAt(FILE *file, TimeStep *tStep) const override;
139
141 const FloatArrayF< 6 > &giveLatticeStrain() const { return this->latticeStrain; }
143 const FloatArrayF< 6 > &giveTempLatticeStrain() const { return this->tempLatticeStress; }
144
147
150
152 const FloatArrayF< 6 > &givePlasticLatticeStrain() const { return this->plasticLatticeStrain; }
153
155 const FloatArrayF< 6 > &giveTempPlasticLatticeStrain() const { return this->tempPlasticLatticeStrain; }
156
158 const FloatArrayF< 6 > &giveOldPlasticLatticeStrain() const { return this->oldPlasticLatticeStrain; }
159
161 const FloatArrayF< 6 > &giveLatticeStress() const { return this->latticeStress; }
163 const FloatArrayF< 6 > &giveTempLatticeStress() const { return this->tempLatticeStress; }
164
166 const FloatArrayF< 6 > &giveTempDamageLatticeStrain() const { return this->tempDamageLatticeStrain; }
167
169 void letTempLatticeStrainBe(const FloatArrayF< 6 > &v) { this->tempLatticeStrain = v; }
170
172 void letTempReducedLatticeStrainBe(const FloatArrayF< 6 > &v) { this->tempReducedLatticeStrain = v; }
173
175 void letTempPlasticLatticeStrainBe(const FloatArrayF< 6 > &v) { this->tempPlasticLatticeStrain = v; }
176
178 void letTempLatticeStressBe(const FloatArrayF< 6 > &v) { this->tempLatticeStress = v; }
179
181 void letTempDamageLatticeStrainBe(const FloatArrayF< 6 > &v) { this->tempDamageLatticeStrain = v; }
182
183
185 void setTempNormalLatticeStress(double val) { this->tempNormalLatticeStress = val; }
186
188 double giveNormalLatticeStress() const { return this->normalLatticeStress; }
189
191 double giveTempNormalLatticeStress() const { return this->tempNormalLatticeStress; }
192
193
195 void setTempCrackFlag(int val) { tempCrackFlag = val; }
196
198 void setTempCrackWidth(double val) { tempCrackWidth = val; }
199
204 virtual int giveCrackFlag() const { return this->crackFlag; }
205
209 virtual double giveCrackWidth() const { return this->crackWidth; }
210
211
213 double giveLe() const { return le; }
214
216 void setLe(double ls) { le = ls; }
217
218 virtual int hasBeenUpdated() const { return this->updateFlag; }
219
225 virtual double giveDissipation() const { return dissipation; }
226 double giveTempDissipation() const { return tempDissipation; }
227 void setTempDissipation(double newDiss) { tempDissipation = newDiss; }
228
234 virtual double giveDeltaDissipation() const { return deltaDissipation; }
236 void setTempDeltaDissipation(double newDiss) { tempDeltaDissipation = newDiss; }
237
239
240 void saveContext(DataStream &stream, ContextMode mode) override;
241
242 void restoreContext(DataStream &stream, ContextMode mode) override;
243};
244} // end namespace oofem
245#endif // matstatus_h
const FloatArrayF< 6 > & giveLatticeStress() const
Returns lattice stress.
FloatArrayF< 6 > latticeStrain
Equilibriated lattice strain.
double tempNormalLatticeStress
Non-equilibrated normal stress.
void saveContext(DataStream &stream, ContextMode mode) override
FloatArrayF< 6 > plasticLatticeStrain
Equilibriated plastic lattice strain.
const FloatArrayF< 6 > & giveTempPlasticLatticeStrain() const
Returns temp plastic lattice strain.
void setTempNormalLatticeStress(double val)
Sets the temp normalStress.
double le
Characteristic length.
const FloatArrayF< 6 > & giveTempLatticeStrain() const
Returns lattice strain.
const FloatArrayF< 6 > & giveTempReducedLatticeStrain() const
Returns temp reduced lattice strain.
const FloatArrayF< 6 > & giveReducedLatticeStrain() const
Returns reduced lattice strain.
FloatArrayF< 6 > tempPlasticLatticeStrain
Non-equilibrated plastic lattice strain.
void setLe(double ls)
Sets characteristic length to given value.
int tempCrackFlag
Non-equilibrated temp flag.
FloatArrayF< 6 > tempDamageLatticeStrain
Non-equilibriated damage lattice strain.
FloatArrayF< 6 > tempLatticeStress
Non-equilibriated lattice stress.
const FloatArrayF< 6 > & giveTempLatticeStress() const
Returns temp lattice stress.
const FloatArrayF< 6 > & giveOldPlasticLatticeStrain() const
Returns plastic lattice strain.
void setTempCrackFlag(int val)
Sets the temp_crack_flag.
FloatArrayF< 6 > tempReducedLatticeStrain
Non-equilibrated reduced lattice strain, which is free of thermal strain.
double tempDeltaDissipation
Non-equilibrated increment of dissipation.
virtual double giveCrackWidth() const
const char * giveClassName() const override
double deltaDissipation
Increment of dissipation.
void setTempDeltaDissipation(double newDiss)
virtual int giveCrackFlag() const
virtual double giveDissipation() const
void updateYourself(TimeStep *) override
double giveLe() const
Returns characteristic length stored in receiver.
FloatArrayF< 6 > reducedLatticeStrain
Equilibriated reduced lattice strain, which is free of thermal strain.
double tempDissipation
Non-equilibrated increment of dissipation.
FloatArrayF< 6 > tempLatticeStrain
Non-equilibriated lattice strain.
void restoreContext(DataStream &stream, ContextMode mode) override
Interface * giveInterface(InterfaceType) override
const FloatArrayF< 6 > & givePlasticLatticeStrain() const
Returns plastic lattice strain.
void letTempLatticeStrainBe(const FloatArrayF< 6 > &v)
Assigns the temp value of lattice strain.
const FloatArrayF< 6 > & giveLatticeStrain() const
Returns lattice strain.
double giveTempNormalLatticeStress() const
Gives the last equilibrated normal stress.
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
const FloatArrayF< 6 > & giveTempDamageLatticeStrain() const
Returns temp damage lattice strain.
void setTempCrackWidth(double val)
Sets the temp_crack_width.
virtual int hasBeenUpdated() const
void letTempReducedLatticeStrainBe(const FloatArrayF< 6 > &v)
Assigns the temp value of lattice strain.
FloatArrayF< 6 > damageLatticeStrain
Equilibriated damage lattice strain.
FloatArrayF< 6 > latticeStress
Equilibriated lattice stress.
double normalLatticeStress
Equilibrated normal stress.
void setTempDissipation(double newDiss)
virtual double giveDeltaDissipation() const
double giveNormalLatticeStress() const
Gives the last equilibrated normal stress.
void letTempDamageLatticeStrainBe(const FloatArrayF< 6 > &v)
Assigns the temp value of damage lattice strain.
double tempCrackWidth
Non-equilibrated crack width.
void letTempPlasticLatticeStrainBe(const FloatArrayF< 6 > &v)
Assigns the temp value of lattice strain.
FloatArrayF< 6 > oldPlasticLatticeStrain
Non-equilibrated plastic lattice strain.
void letTempLatticeStressBe(const FloatArrayF< 6 > &v)
Assigns the temp value of lattice stress.
MaterialStatus(GaussPoint *g)
Definition matstatus.h:91
long ContextMode
Definition contextmode.h:43

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