NetDEM v1.0
Loading...
Searching...
No Matches
peridigm_damage_model.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "utils_io.hpp"
4#include "utils_math.hpp"
5#include <fstream>
6#include <sstream>
7#include <string>
8
9namespace netdem {
10
19public:
24
29
33 double critical_stretch{1.0e-2};
34
46 void InitFromEnergyReleaseRate(double youngs_modulus, double poissons_ratio,
47 double horizon, double energy_release_rate);
48
62 static double GetStretchFromEnergyReleaseRate(double youngs_modulus,
63 double poissons_ratio,
64 double horizon,
65 double energy_release_rate);
66
75 void WriteInputFile(std::ostream &os, int damage_model_id);
76};
77
78} // namespace netdem
A class representing a damage model.
Definition peridigm_damage_model.hpp:18
double critical_stretch
The critical stretch value.
Definition peridigm_damage_model.hpp:33
static double GetStretchFromEnergyReleaseRate(double youngs_modulus, double poissons_ratio, double horizon, double energy_release_rate)
Computes the stretch value from an energy release rate.
Definition peridigm_damage_model.cpp:13
void WriteInputFile(std::ostream &os, int damage_model_id)
Writes the damage model to an input file.
Definition peridigm_damage_model.cpp:25
void InitFromEnergyReleaseRate(double youngs_modulus, double poissons_ratio, double horizon, double energy_release_rate)
Initializes the damage model from an energy release rate.
Definition peridigm_damage_model.cpp:6
Type type
The type of the damage model.
Definition peridigm_damage_model.hpp:28
Type
An enumeration defining the types of damage models.
Definition peridigm_damage_model.hpp:23
@ Critical_Stretch
Definition peridigm_damage_model.hpp:23
Definition bond_entry.hpp:7