9 #ifndef MATERIAL_PD_BASEMATERIAL_H
10 #define MATERIAL_PD_BASEMATERIAL_H
15 #include "util/point.h"
57 virtual std::pair<util::Point3,double>
getBondEF(
size_t i ,
size_t j){
80 virtual double getS(
size_t i,
size_t j) {
return 0.; };
87 virtual double getSc(
const double &r) {
return 0.; };
96 virtual double getSc(
size_t i ,
size_t j) {
return 0.; };
142 virtual double getInfFn(
const double &r)
const {
return 0.; };
168 virtual std::string
printStr(
int nt = 0,
int lvl = 0)
const {
170 return "BaseMaterial";
180 virtual void print(
int nt = 0,
int lvl = 0)
const { std::cout <<
printStr(nt,
A base class providing methods to compute energy density and force.
Definition: baseMaterial.h:26
double getHorizon() const
Returns horizon.
Definition: baseMaterial.h:149
size_t d_dimension
Dimension.
Definition: baseMaterial.h:189
virtual util::Matrix33 getStress(size_t i)
Returns stress tensor.
Definition: baseMaterial.h:125
virtual void print(int nt=0, int lvl=0) const
Prints the information about the instance of the object.
Definition: baseMaterial.h:180
virtual double getSc(size_t i, size_t j)
Returns critical bond strain.
Definition: baseMaterial.h:96
double d_density
Density.
Definition: baseMaterial.h:195
bool d_stateActive
Flag indicating if peridynamic state potential is active.
Definition: baseMaterial.h:192
virtual void update()
Let the material class in the quasi-static case know that there is a new loading step.
Definition: baseMaterial.h:134
double d_horizon
Horizon.
Definition: baseMaterial.h:181
double getDensity() const
Returns the density of the material.
Definition: baseMaterial.h:157
virtual util::Point3 getBondForceDirection(const util::Point3 &dx, const util::Point3 &du) const
Get direction of bond force.
Definition: baseMaterial.h:104
virtual std::pair< util::Point3, double > getBondEF(size_t i, size_t j)
Returns energy and force between bond.
Definition: baseMaterial.h:57
std::string d_name
Name of material.
Definition: baseMaterial.h:198
std::string name() const
Returns name of the material.
Definition: baseMaterial.h:48
virtual std::string printStr(int nt=0, int lvl=0) const
Returns the string containing information about the instance of the object.
Definition: baseMaterial.h:168
bool isStateActive() const
Returns true if state-based potential is active.
Definition: baseMaterial.h:42
virtual util::Matrix33 getStrain(size_t i)
Returns strain tensor.
Definition: baseMaterial.h:114
virtual double getInfFn(const double &r) const
Returns the value of influence function.
Definition: baseMaterial.h:142
BaseMaterial(const size_t &dim, const double &horizon)
Constructor.
Definition: baseMaterial.h:34
virtual double getSc(const double &r)
Returns critical bond strain.
Definition: baseMaterial.h:87
virtual double getS(size_t i, size_t j)
Returns the bond strain.
Definition: baseMaterial.h:80
virtual double getS(const util::Point3 &dx, const util::Point3 &du)
Returns the bond strain.
Definition: baseMaterial.h:69
blaze::StaticMatrix< double, 3UL, 3UL > Matrix33
Blaze: Definition of 3 x 3 matrix.
Definition: matrixBlaze.h:23
A structure to represent 3d vectors.
Definition: point.h:29