OOFEM 3.0
Loading...
Searching...
No Matches
latticeviscoelastic.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 latticeviscoelastic_h
37#define latticeviscoelastic_h
38
40#include "latticematstatus.h"
42
44
45#define _IFT_LatticeViscoelastic_Name "latticeviscoelastic"
46#define _IFT_LatticeViscoelastic_viscoMat "viscomat"
47
49
50namespace oofem {
55
56{
57protected:
58 std :: unique_ptr< GaussPoint >slaveGpVisco;
59
60public:
61
64
66 void printOutputAt(FILE *file, TimeStep *tStep) const override;
67
68
69 const char *giveClassName() const override { return "LatticeViscoelasticStatus"; }
70
71 void initTempStatus() override;
72
73 void updateYourself(TimeStep *) override;
74
75
76 void saveContext(DataStream &stream, ContextMode mode) override;
77
78 void restoreContext(DataStream &stream, ContextMode mode) override;
79
80 GaussPoint *giveSlaveGaussPointVisco() const { return this->slaveGpVisco.get(); }
81};
82
83
84
85
86
91
92{
93protected:
95 int viscoMat = 0;
96
97
98public:
99
101 LatticeViscoelastic(int n, Domain *d);
102
103
104 const char *giveInputRecordName() const override { return _IFT_LatticeViscoelastic_Name; }
105 const char *giveClassName() const override { return "LatticeViscoelastic"; }
106
107 void initializeFrom(InputRecord &ir) override;
108
110 GaussPoint *gp,
111 TimeStep *atTime) const override;
112
114 GaussPoint *gp,
115 TimeStep *atTime) const override;
116
117
119 GaussPoint *gp,
120 TimeStep *tStep) override;
121
122
123 std::unique_ptr<MaterialStatus> CreateStatus(GaussPoint *gp) const override;
124
125protected:
126
127 int giveIPValue(FloatArray &answer,
128 GaussPoint *gp,
130 TimeStep *atTime) override;
131
132 int checkConsistency(void) override;
133};
134} // end namespace oofem
135
136
137#endif
LatticeViscoelasticStatus(GaussPoint *g)
Constructor.
void updateYourself(TimeStep *) override
void restoreContext(DataStream &stream, ContextMode mode) override
const char * giveClassName() const override
void printOutputAt(FILE *file, TimeStep *tStep) const override
Prints the receiver state to given stream.
void saveContext(DataStream &stream, ContextMode mode) override
std ::unique_ptr< GaussPoint > slaveGpVisco
GaussPoint * giveSlaveGaussPointVisco() const
FloatMatrixF< 6, 6 > give3dLatticeStiffnessMatrix(MatResponseMode rmode, GaussPoint *gp, TimeStep *atTime) const override
int viscoMat
'slave' material model number.
void initializeFrom(InputRecord &ir) override
LatticeViscoelastic(int n, Domain *d)
Constructor.
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *atTime) override
FloatMatrixF< 3, 3 > give2dLatticeStiffnessMatrix(MatResponseMode rmode, GaussPoint *gp, TimeStep *atTime) const override
int checkConsistency(void) override
FloatArrayF< 6 > giveLatticeStress3d(const FloatArrayF< 6 > &totalStrain, GaussPoint *gp, TimeStep *tStep) override
const char * giveClassName() const override
const char * giveInputRecordName() const override
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
#define _IFT_LatticeViscoelastic_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