1#ifndef MODEL_INTERFACE_CRACK_H
2#define MODEL_INTERFACE_CRACK_H
5#include <AMReX_AmrCore.H>
29 case WSQUARE:
return (1.-c)*(1.-c);
31 case WMULTIWELL2:
return (1.+c)*(1.+c)*(1.-c)*(1.-c);
32 case WPHI4C3:
return 1. - 4.*c*c*c + 3.*c*c*c*c;
34 default:
return (1.-c)*(1.-c);
44 case GPHI4C3:
return 4.*c*c*c - 3.*c*c*c*c;
45 case GSQUAREP:
return std::pow(c,2.*p);
57 case WSQUARE:
return -2.*(1.-c);
58 case WMULTIWELL:
return 4.*c*c*c - 6.*c*c + 2.*c;
60 case WPHI4C3:
return 12.*(c-1.)*c*c;
62 default:
return -2.*(1.-c);
71 case GMULTIWELL:
return 4.*c*c*c - 12.*c*c + 8.*c;
72 case GPHI4C3:
return 12.*(1.-c)*c*c;
73 case GSQUAREP:
return 2.*p*std::pow(c,2*p -1.);
90 std::ofstream outFile;
91 outFile.open(filename);
93 for(amrex::Real theta=0; theta<2*
pi; theta=theta+dTheta)
95 outFile << theta <<
" " <<
Gc(theta) << std::endl;
116 static constexpr amrex::Real
pi = 3.14159265359;
virtual AMREX_FORCE_INLINE Set::Scalar Dw_phi(Set::Scalar c, Set::Scalar)
virtual AMREX_FORCE_INLINE Set::Scalar Dg_phi(Set::Scalar c, Set::Scalar p=0.)
void SetWType(const WType a_type)
virtual Set::Scalar Gc(Set::Scalar theta)=0
static constexpr amrex::Real pi
void SetDuctileExponent(const Set::Scalar m)
void ExportToFile(std::string filename, amrex::Real dTheta)
virtual Set::Scalar Mobility(Set::Scalar theta)=0
virtual AMREX_FORCE_INLINE Set::Scalar w_phi(Set::Scalar c, Set::Scalar)
void SetGType(const GType a_type)
virtual Set::Scalar DDGc(Set::Scalar theta)=0
virtual Set::Scalar DrivingForceThreshold(Set::Scalar theta)=0
virtual Set::Scalar DGc(Set::Scalar theta)=0
virtual AMREX_FORCE_INLINE Set::Scalar g_phi(Set::Scalar c, Set::Scalar p=0.)
virtual Set::Scalar Zeta(Set::Scalar theta)=0