diff --git a/dG3D/src/dG3DMaterialLaw.cpp b/dG3D/src/dG3DMaterialLaw.cpp index 630001205bd71a311f51535f053d04280ca3a7f3..d271db0cdc8300a0bc05106c0765dd62321c5910 100644 --- a/dG3D/src/dG3DMaterialLaw.cpp +++ b/dG3D/src/dG3DMaterialLaw.cpp @@ -1907,7 +1907,8 @@ torchANNBasedDG3DMaterialLaw::torchANNBasedDG3DMaterialLaw(const int num, const _EXXmean(EXXmean), _EXXstd(EXXstd), _EXYmean(EXYmean), _EXYstd(EXYstd), _EYYmean(EYYmean), _EYYstd(EYYstd), _EYZmean(EYZmean), _EYZstd(EYZstd), _EZZmean(EZZmean), _EZZstd(EZZstd), _EZXmean(EZXmean), _EZXstd(EZXstd), _SXXmean(SXXmean), _SXXstd(SXXstd), _SXYmean(SXYmean), _SXYstd(SXYstd), _SYYmean(SYYmean), _SYYstd(SYYstd), _SYZmean(SYZmean), _SYZstd(SYZstd), _SZZmean(SZZmean), _SZZstd(SZZstd), - _SZXmean(SZXmean), _SZXstd(SZXstd), _tangentByPerturbation(pert), _pertTol(tol), _kinematicInput(EGL) + _SZXmean(SZXmean), _SZXstd(SZXstd), _tangentByPerturbation(pert), _pertTol(tol), _kinematicInput(EGL), + _Radiusmean(-1.0), _Radiusstd(-1.0), _CellSizemean(-1.0), _CellSizestd(-1.0) // Constructor initializes these last 4 Class parameters, specific to Lattices on negative values @Mohib { #if defined(HAVE_TORCH) try{ @@ -1950,13 +1951,39 @@ torchANNBasedDG3DMaterialLaw::torchANNBasedDG3DMaterialLaw(const int num, const } +// Constructor definition for Lattice based torch (.pt) model @Mohib +torchANNBasedDG3DMaterialLaw::torchANNBasedDG3DMaterialLaw(const int num, const double rho, + const int numberOfInput, const int numInternalVars, const char* nameTorch, + const double Radiusmean, const double Radiusstd, + const double CellSizemean, const double CellSizestd, + const double EXXmean, const double EXXstd, const double EYYmean, const double EYYstd, const double EZZmean, const double EZZstd, + const double EXYmean, const double EXYstd, const double EYZmean, const double EYZstd, const double EXZmean, const double EXZstd, + const double SXXmean, const double SXXstd, const double SYYmean, const double SYYstd, const double SZZmean, const double SZZstd, + const double SXYmean, const double SXYstd, const double SYZmean, const double SYZstd, const double SXZmean, const double SXZstd, + bool pert, double tol): torchANNBasedDG3DMaterialLaw(num, rho, numberOfInput, numInternalVars, nameTorch, + EXXmean, EXXstd, EXYmean, EXYstd, EYYmean, EYYstd, + EYZmean, EYZstd, EZZmean, EZZstd, EXZmean,EXZstd, + SXXmean, SXXstd, SXYmean, SXYstd, SYYmean, SYYstd, + SYZmean, SYZstd, SZZmean, SZZstd, SXZmean,SXZstd, + pert, tol) +{ + + _Radiusmean = Radiusmean; + _Radiusstd = Radiusstd; + _CellSizemean = CellSizemean; + _CellSizestd = CellSizestd; + +} + + torchANNBasedDG3DMaterialLaw::torchANNBasedDG3DMaterialLaw(const torchANNBasedDG3DMaterialLaw& src): dG3DMaterialLaw(src), _numberOfInput(src._numberOfInput), _numberOfInternalVariables(src._numberOfInternalVariables), _EXXmean(src._EXXmean), _EXXstd(src._EXXstd), _EXYmean(src._EXYmean), _EXYstd(src._EXYstd), _EYYmean(src._EYYmean), _EYYstd(src._EYYstd), _EYZmean(src._EYZmean), _EYZstd(src._EYZstd), _EZZmean(src._EZZmean), _EZZstd(src._EZZstd), _EZXmean(src._EZXmean), _EZXstd(src._EZXstd), _SXXmean(src._SXXmean), _SXXstd(src._SXXstd), _SXYmean(src._SXYmean), _SXYstd(src._SXYstd), _SYYmean(src._SYYmean), _SYYstd(src._SYYstd), _SYZmean(src._SYZmean), _SYZstd(src._SYZstd), _SZZmean(src._SZZmean), _SZZstd(src._SZZstd), _SZXmean(src._SZXmean), _SZXstd(src._SZXstd), - _tangentByPerturbation(src._tangentByPerturbation),_pertTol(src._pertTol), _kinematicInput(src._kinematicInput) + _tangentByPerturbation(src._tangentByPerturbation),_pertTol(src._pertTol), _kinematicInput(src._kinematicInput), + _Radiusmean(src._Radiusmean), _Radiusstd(src._Radiusstd), _CellSizemean(src._CellSizemean), _CellSizestd(src._CellSizestd) // Constructor initializes these last 4 Class parameters, specific to Lattice based torch model @Mohib { #if defined(HAVE_TORCH) module = src.module; diff --git a/dG3D/src/dG3DMaterialLaw.h b/dG3D/src/dG3DMaterialLaw.h index 234321640135c11b24053a1687bf9c35e0bb1a8a..b327c39a32956434bfb50b77a2f95afae4965df4 100644 --- a/dG3D/src/dG3DMaterialLaw.h +++ b/dG3D/src/dG3DMaterialLaw.h @@ -502,6 +502,13 @@ class torchANNBasedDG3DMaterialLaw : public dG3DMaterialLaw{ double _SZXmean; double _SZXstd; + // Lattice Parameter inside of torch (.pt) model @ Mohib + double _Radiusmean; + double _Radiusstd; + + double _CellSizemean; + double _CellSizestd; + bool _tangentByPerturbation; double _pertTol; #if defined(HAVE_TORCH) @@ -527,6 +534,17 @@ class torchANNBasedDG3DMaterialLaw : public dG3DMaterialLaw{ const double SXYstd, const double SYYmean, const double SYYstd, const double SYZmean, const double SYZstd, const double SZZmean, const double SZZstd, const double SZXmean, const double SZXstd, bool pert=false, double tol = 1e-5); + // Constructor declaration for Lattice based torch model @Mohib + torchANNBasedDG3DMaterialLaw(const int num, const double rho, + const int numberOfInput, const int numInternalVars, const char* nameTorch, + const double Radiusmean, const double Radiusstd, + const double CellSizemean, const double CellSizestd, + const double EXXmean, const double EXXstd, const double EYYmean, const double EYYstd, const double EZZmean, const double EZZstd, + const double EXYmean, const double EXYstd, const double EYZmean, const double EYZstd, const double EXZmean, const double EXZstd, + const double SXXmean, const double SXXstd, const double SYYmean, const double SYYstd, const double SZZmean, const double SZZstd, + const double SXYmean, const double SXYstd, const double SYZmean, const double SYZstd, const double SXZmean, const double SXZstd, + bool pert=false, double tol = 1e-5); + void setKinematicInput(const int i); #ifndef SWIG torchANNBasedDG3DMaterialLaw(const torchANNBasedDG3DMaterialLaw& src);