46IsotropicAsymmetric1DMaterial :: IsotropicAsymmetric1DMaterial(
int n,
Domain *d) :
50IsotropicAsymmetric1DMaterial :: IsotropicAsymmetric1DMaterial(
int n,
Domain *d,
51 double _Ec,
double _Et,
52 double _efc,
double _eft) :
64IsotropicAsymmetric1DMaterial :: initializeFrom(
InputRecord &ir)
66 StructuralMaterial :: initializeFrom(ir);
81 StructuralMaterial :: giveInputRecord(input);
95 StructuralMaterial :: saveContext(stream, mode);
122 StructuralMaterial :: restoreContext(stream, mode);
137 if ( !stream.
read(
a) ) {
140 if ( !stream.
read(
m) ) {
150IsotropicAsymmetric1DMaterial :: give(
int aProperty,
GaussPoint *gp)
const
152 return this->StructuralMaterial :: give(aProperty, gp);
167IsotropicAsymmetric1DMaterial :: give1dStressStiffMtrx(MatResponseMode mode,
175 if ((eps >0.0) && (this->
eft>0.) && (eps>this->
eft)) {
177 }
else if ((eps<0.0) && (this->
efc<0) && (eps <this->
efc)) {
181 E = this->
Ec+0.5*(1+tanh(this->
m*eps))*(this->
Et-this->
Ec);
193 double eps = reducedE.
at(1);
195 if ((eps >0.0) && (this->
eft>0.) && (eps>this->
eft)) {
197 }
else if ((eps<0.0) && (this->
efc<0) && (eps <this->
efc)) {
200 s=(0.5*this->
Et-0.5*this->
Ec)*((log(cosh(this->
m*eps)))/(this->
m))+eps*(0.5*this->
Ec+0.5*this->
Et);
#define REGISTER_Material(class)
virtual int read(int *data, std::size_t count)=0
Reads count integer values into array pointed by data.
virtual int write(const int *data, std::size_t count)=0
Writes count integer values from array pointed by data.
double & at(std::size_t i)
bool hasMaterialModeCapability(MaterialMode mode) const override
double m
Regularization parameter.
double Et
Young's modulus in tension.
virtual FloatArrayF< 1 > giveRealStressVector_1d(const FloatArrayF< 1 > &reducedE, GaussPoint *gp, TimeStep *tStep) const override
Default implementation relies on giveRealStressVector_StressControl.
double Ec
Young's modulus in compression.
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
const FloatArray & giveTempStrainVector() const
Returns the const pointer to receiver's temporary strain vector.
void letTempStressVectorBe(const FloatArray &v)
Assigns tempStressVector to given vector v.
void letTempStrainVectorBe(const FloatArray &v)
Assigns tempStrainVector to given vector v.
StructuralMaterial(int n, Domain *d)
#define _IFT_IsotropicAsymmetric1DMaterial_ec
#define _IFT_IsotropicAsymmetric1DMaterial_efc
#define _IFT_IsotropicAsymmetric1DMaterial_talpha
#define _IFT_IsotropicAsymmetric1DMaterial_et
#define _IFT_IsotropicAsymmetric1DMaterial_m
#define _IFT_IsotropicAsymmetric1DMaterial_eft
@ CIO_IOERR
General IO error.