OOFEM 3.0
Loading...
Searching...
No Matches
latticedamageviscoelastic.h
Go to the documentation of this file.
1
2/*
3 *
4 * ##### ##### ###### ###### ### ###
5 * ## ## ## ## ## ## ## ### ##
6 * ## ## ## ## #### #### ## # ##
7 * ## ## ## ## ## ## ## ##
8 * ## ## ## ## ## ## ## ##
9 * ##### ##### ## ###### ## ##
10 *
11 *
12 * OOFEM : Object Oriented Finite Element Code
13 *
14 * Copyright (C) 1993 - 2025 Borek Patzak
15 *
16 *
17 *
18 * Czech Technical University, Faculty of Civil Engineering,
19 * Department of Structural Mechanics, 166 29 Prague, Czech Republic
20 *
21 * This program is free software; you can redistribute it and/or modify
22 * it under the terms of the GNU General Public License as published by
23 * the Free Software Foundation; either version 2 of the License, or
24 * (at your option) any later version.
25 *
26 * This program is distributed in the hope that it will be useful,
27 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 * GNU General Public License for more details.
30 *
31 * You should have received a copy of the GNU General Public License
32 * along with this program; if not, write to the Free Software
33 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
34 */
35
36#ifndef latticedamageviscoelastic_h
37#define latticedamageviscoelastic_h
38
39#include "latticedamage.h"
41
43
44#define _IFT_LatticeDamageViscoelastic_Name "latticedamageviscoelastic"
45#define _IFT_LatticeDamageViscoelastic_viscoMat "viscomat"
46#define _IFT_LatticeDamageViscoelastic_timeFactor "timefactor"
47
49
50namespace oofem {
56
57{
58protected:
59 std :: unique_ptr< GaussPoint >slaveGpVisco;
60
61public:
62
65
67 void printOutputAt(FILE *file, TimeStep *tStep) const override;
68
69
70 const char *giveClassName() const override { return "LatticeDamageViscoelasticStatus"; }
71
72 void initTempStatus() override;
73
74 void updateYourself(TimeStep *) override; // update after new equilibrium state reached
75
76
77 void saveContext(DataStream &stream, ContextMode mode) override;
78
79 void restoreContext(DataStream &stream, ContextMode mode) override;
80
81 GaussPoint *giveSlaveGaussPointVisco() const { return this->slaveGpVisco.get(); }
82};
83
84
90
91{
92protected:
94 int viscoMat = 0;
95
96
97public:
98
101
102 const char *giveInputRecordName() const override { return _IFT_LatticeDamageViscoelastic_Name; }
103 const char *giveClassName() const override { return "LatticeDamageViscoelastic"; }
104
105 void initializeFrom(InputRecord &ir) override;
106
107
109 GaussPoint *gp,
110 TimeStep *atTime) const override;
111
112 FloatMatrixF< 3, 3 >give2dLatticeStiffnessMatrix(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const override;
113
114
116 GaussPoint *gp,
117 TimeStep *tStep) override;
118
119
120 std::unique_ptr<MaterialStatus> CreateStatus(GaussPoint *gp) const override;
121
123
124protected:
125
126 int giveIPValue(FloatArray &answer,
127 GaussPoint *gp,
129 TimeStep *atTime) override;
130
131 int checkConsistency(void) override;
132};
133} // end namespace oofem
134
135
136#endif
LatticeDamageStatus(GaussPoint *g)
LatticeDamageViscoelasticStatus(GaussPoint *g)
Constructor.
void printOutputAt(FILE *file, TimeStep *tStep) const override
Prints the receiver state to given stream.
void saveContext(DataStream &stream, ContextMode mode) override
void restoreContext(DataStream &stream, ContextMode mode) override
const char * giveClassName() const override
int viscoMat
'slave' (= viscoelastic) material model number.
RheoChainMaterial * giveViscoelasticMaterial()
FloatArrayF< 6 > giveLatticeStress3d(const FloatArrayF< 6 > &totalStrain, GaussPoint *gp, TimeStep *tStep) override
void initializeFrom(InputRecord &ir) override
FloatMatrixF< 3, 3 > give2dLatticeStiffnessMatrix(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const override
const char * giveInputRecordName() const override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *atTime) override
LatticeDamageViscoelastic(int n, Domain *d)
Constructor.
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
FloatMatrixF< 6, 6 > give3dLatticeStiffnessMatrix(MatResponseMode rmode, GaussPoint *gp, TimeStep *atTime) const override
LatticeDamage(int n, Domain *d)
#define _IFT_LatticeDamageViscoelastic_Name
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