46 double characteristic_length = -1.;
63 const double tolerance = 1
E-14;
64 const double density = 0.;
103 const bool initialized =
false;
104 const bool symmetric =
false;
105 const bool support_couple =
false;
125 int initialize_base(
const shared_ptr<DomainBase>&);
127 virtual int initialize(
const shared_ptr<DomainBase>&) = 0;
128 virtual void initialize_couple(
const shared_ptr<DomainBase>&);
130 virtual void initialize_history(
unsigned);
131 virtual void set_initial_history(
const vec&);
133 void set_initialized(
bool)
const;
134 void set_symmetric(
bool)
const;
135 void set_support_couple(
bool)
const;
136 [[nodiscard]]
bool is_initialized()
const;
137 [[nodiscard]]
bool is_symmetric()
const;
138 [[nodiscard]]
bool is_support_couple()
const;
140 void set_characteristic_length(
double);
141 [[nodiscard]]
double get_characteristic_length()
const;
145 [[nodiscard]]
virtual double get_parameter(
ParameterType)
const;
147 virtual const vec& get_trial_strain();
148 virtual const vec& get_trial_strain_rate();
149 virtual const vec& get_trial_strain_acc();
150 virtual const vec& get_trial_stress();
151 virtual const mat& get_trial_stiffness();
152 virtual const mat& get_trial_secant();
153 virtual const mat& get_trial_damping();
154 virtual const mat& get_trial_inertial();
156 virtual const vec& get_current_strain();
157 virtual const vec& get_current_strain_rate();
158 virtual const vec& get_current_strain_acc();
159 virtual const vec& get_current_stress();
160 virtual const mat& get_current_stiffness();
161 virtual const mat& get_current_secant();
162 virtual const mat& get_current_damping();
163 virtual const mat& get_current_inertial();
165 [[nodiscard]]
virtual const vec& get_initial_history()
const;
166 [[nodiscard]]
virtual const mat& get_initial_stiffness()
const;
167 [[nodiscard]]
virtual const mat& get_initial_damping()
const;
168 [[nodiscard]]
virtual const mat& get_initial_inertial()
const;
170 virtual const vec& get_trial_curvature();
171 virtual const vec& get_trial_couple_stress();
172 virtual const mat& get_trial_couple_stiffness();
174 virtual const vec& get_current_curvature();
175 virtual const vec& get_current_couple_stress();
176 virtual const mat& get_current_couple_stiffness();
178 [[nodiscard]]
virtual const mat& get_initial_couple_stiffness()
const;
180 virtual unique_ptr<Material> get_copy() = 0;
182 int update_incre_status(
double);
183 int update_incre_status(
double,
double);
184 int update_incre_status(
double,
double,
double);
185 int update_trial_status(
double);
186 int update_trial_status(
double,
double);
187 int update_trial_status(
double,
double,
double);
189 virtual int update_incre_status(
const vec&);
190 virtual int update_incre_status(
const vec&,
const vec&);
191 virtual int update_incre_status(
const vec&,
const vec&,
const vec&);
192 virtual int update_trial_status(
const vec&);
193 virtual int update_trial_status(
const vec&,
const vec&);
194 virtual int update_trial_status(
const vec&,
const vec&,
const vec&);
196 int update_couple_incre_status(
double);
197 int update_couple_incre_status(
double,
double);
198 int update_couple_incre_status(
double,
double,
double);
199 int update_couple_trial_status(
double);
200 int update_couple_trial_status(
double,
double);
201 int update_couple_trial_status(
double,
double,
double);
203 virtual int update_couple_incre_status(
const vec&);
204 virtual int update_couple_incre_status(
const vec&,
const vec&);
205 virtual int update_couple_incre_status(
const vec&,
const vec&,
const vec&);
206 virtual int update_couple_trial_status(
const vec&);
207 virtual int update_couple_trial_status(
const vec&,
const vec&);
208 virtual int update_couple_trial_status(
const vec&,
const vec&,
const vec&);
210 virtual int clear_status() = 0;
211 virtual int commit_status() = 0;
212 virtual int reset_status() = 0;
214 virtual int clear_couple_status();
215 virtual int commit_couple_status();
216 virtual int reset_couple_status();
222 unique_ptr<Material>
make_copy(
const shared_ptr<Material>&);
223 unique_ptr<Material>
make_copy(
const unique_ptr<Material>&);
vec trial_stress
Definition: Material.h:76
vec initial_history
Definition: Material.h:85
void ConstantDamping(DataElement *E)
Definition: Element.cpp:584
vec trial_curvature
Definition: Material.h:51
mat initial_stiffness
Definition: Material.h:89
The DomainBase class is a template.
Definition: DomainBase.h:90
void ConstantInertial(DataMaterial *M)
Definition: Material.cpp:303
mat trial_inertial
Definition: Material.h:99
vec incre_stress
Definition: Material.h:82
unique_ptr< Material > initialized_material_copy(const shared_ptr< DomainBase > &, uword)
This function checks if the corresponding material model exists, if yes make a copy and ensure all in...
Definition: Material.cpp:369
vec incre_curvature
Definition: Material.h:54
mat trial_stiffness
Definition: Material.h:91
OutputType
Definition: OutputType.h:21
mat current_damping
Definition: Material.h:94
vec trial_strain_acc
Definition: Material.h:75
vec current_curvature
Definition: Material.h:48
vec incre_strain_rate
Definition: Material.h:80
vec current_strain
Definition: Material.h:67
mat initial_inertial
Definition: Material.h:97
vec incre_couple_stress
Definition: Material.h:55
Definition: MatrixModifier.hpp:36
MaterialType
Definition: Material.h:34
A Material abstract base class.
Definition: Material.h:102
void ConstantCoupleStiffness(DataCoupleMaterial *M)
Definition: Material.cpp:308
mat initial_damping
Definition: Material.h:93
vec current_couple_stress
Definition: Material.h:49
mat current_stiffness
Definition: Material.h:90
vec current_strain_rate
Definition: Material.h:68
vec current_strain_acc
Definition: Material.h:69
mat initial_couple_stiffness
Definition: Material.h:57
mat current_couple_stiffness
Definition: Material.h:58
vec incre_strain
Definition: Material.h:79
Definition: Material.h:62
unique_ptr< Material > make_copy(const unique_ptr< Material > &)
Definition: Material.cpp:361
A base Tag class.
Definition: Tag.h:38
vec trial_history
Definition: Material.h:87
mat current_inertial
Definition: Material.h:98
void ConstantStiffness(DataElement *E)
Definition: Element.cpp:590
vec trial_strain
Definition: Material.h:73
vec incre_strain_acc
Definition: Material.h:81
mat trial_couple_stiffness
Definition: Material.h:59
vec trial_couple_stress
Definition: Material.h:52
mat trial_damping
Definition: Material.h:95
vec current_stress
Definition: Material.h:70
vec trial_strain_rate
Definition: Material.h:74
ParameterType
Definition: ParameterType.h:21
vec current_history
Definition: Material.h:86
void PureWrapper(Material *M)
Definition: Material.cpp:313
Definition: Material.h:45