Skip to content
Snippets Groups Projects
Commit 489b1066 authored by Ujwal Kishore Jinaga's avatar Ujwal Kishore Jinaga :clown:
Browse files

[MINOR PATCH] Minor correction to a StochTMDMN euler angle function. Changed...

[MINOR PATCH] Minor correction to a StochTMDMN euler angle function. Changed TMDMNIPvariable to ThermoMechanicsDG3DIPVariableBase to get tangents.
parent 673ba880
No related branches found
No related tags found
No related merge requests found
...@@ -432,7 +432,7 @@ void computeMaterialLaw::getTangent_dPdF(fullMatrix<double>& _dPdF){ ...@@ -432,7 +432,7 @@ void computeMaterialLaw::getTangent_dPdF(fullMatrix<double>& _dPdF){
_dPdF.resize(9,9); _dPdF.setAll(0.); _dPdF.resize(9,9); _dPdF.setAll(0.);
IPVariable* ipv = _ips->getState(IPStateBase::current); IPVariable* ipv = _ips->getState(IPStateBase::current);
StochDMNDG3DIPVariable* ipvcur = dynamic_cast<StochDMNDG3DIPVariable*>(ipv); ThermoMechanicsDG3DIPVariableBase* ipvcur = dynamic_cast<ThermoMechanicsDG3DIPVariableBase*>(ipv);
const STensor43& dPdF = ipvcur->getConstRefToTangentModuli(); const STensor43& dPdF = ipvcur->getConstRefToTangentModuli();
for(int i=0; i<3; i++) for(int i=0; i<3; i++)
...@@ -453,7 +453,7 @@ void computeMaterialLaw::getTangents_dPdT_dQdT_dQdF_dQdH_dPdH(fullVector<double> ...@@ -453,7 +453,7 @@ void computeMaterialLaw::getTangents_dPdT_dQdT_dQdF_dQdH_dPdH(fullVector<double>
_dPdH.resize(9,3); _dPdH.setAll(0.); _dPdH.resize(9,3); _dPdH.setAll(0.);
IPVariable* ipv = _ips->getState(IPStateBase::current); IPVariable* ipv = _ips->getState(IPStateBase::current);
StochTMDMNDG3DIPVariable* ipvcur = dynamic_cast<StochTMDMNDG3DIPVariable*>(ipv); ThermoMechanicsDG3DIPVariableBase* ipvcur = dynamic_cast<ThermoMechanicsDG3DIPVariableBase*>(ipv);
const STensor3& dPdT = ipvcur->getConstRefTodPdT(); const STensor3& dPdT = ipvcur->getConstRefTodPdT();
const SVector3& dQdT = ipvcur->getConstRefTodThermalFluxdT(); const SVector3& dQdT = ipvcur->getConstRefTodThermalFluxdT();
...@@ -485,7 +485,7 @@ void computeMaterialLaw::getCombinedTangents_dPQdFHT_dPQdFH(fullMatrix<double>& ...@@ -485,7 +485,7 @@ void computeMaterialLaw::getCombinedTangents_dPQdFHT_dPQdFH(fullMatrix<double>&
_dPQdFH.resize(12,12); _dPQdFH.setAll(0.); _dPQdFH.resize(12,12); _dPQdFH.setAll(0.);
IPVariable* ipv = _ips->getState(IPStateBase::current); IPVariable* ipv = _ips->getState(IPStateBase::current);
StochTMDMNDG3DIPVariable* ipvcur = dynamic_cast<StochTMDMNDG3DIPVariable*>(ipv); ThermoMechanicsDG3DIPVariableBase* ipvcur = dynamic_cast<ThermoMechanicsDG3DIPVariableBase*>(ipv);
const STensor43& dPdF = ipvcur->getConstRefToTangentModuli(); const STensor43& dPdF = ipvcur->getConstRefToTangentModuli();
const STensor3& dPdT = ipvcur->getConstRefTodPdT(); const STensor3& dPdT = ipvcur->getConstRefTodPdT();
...@@ -553,7 +553,7 @@ double computeMaterialLaw::get3rdDependentVariable(){ ...@@ -553,7 +553,7 @@ double computeMaterialLaw::get3rdDependentVariable(){
double computeMaterialLaw::getSpecificHeat(){ double computeMaterialLaw::getSpecificHeat(){
if(!_flag_isothermal){ if(!_flag_isothermal){
IPVariable* ipv = _ips->getState(IPStateBase::current); IPVariable* ipv = _ips->getState(IPStateBase::current);
StochTMDMNDG3DIPVariable* ipvcur = dynamic_cast<StochTMDMNDG3DIPVariable*>(ipv); ThermoMechanicsDG3DIPVariableBase* ipvcur = dynamic_cast<ThermoMechanicsDG3DIPVariableBase*>(ipv);
return ipvcur->getConstRefToExtraDofFieldCapacityPerUnitField()(0); return ipvcur->getConstRefToExtraDofFieldCapacityPerUnitField()(0);
} }
else{ else{
......
...@@ -784,7 +784,12 @@ class StochDMNDG3DMaterialLaw : public dG3DMaterialLaw{ ...@@ -784,7 +784,12 @@ class StochDMNDG3DMaterialLaw : public dG3DMaterialLaw{
virtual void reset_Parameter(const char* Para); virtual void reset_Parameter(const char* Para);
virtual void reset_Parameter(std::vector<double>& Para_EulerAngles); virtual void reset_Parameter(std::vector<double>& Para_EulerAngles);
virtual void set_flag_DMN_response_rotation(const bool flag_rotation, const int type_of_R){_flag_rotation = flag_rotation; _type_of_R = type_of_R;}; virtual void set_flag_DMN_response_rotation(const bool flag_rotation, const int type_of_R){_flag_rotation = flag_rotation; _type_of_R = type_of_R;};
virtual void set_euler_angles_user_input(const double alpha, const double beta, const double gamma){_alpha = alpha; _beta = beta; _gamma = gamma;}; virtual void set_euler_angles_user_input(const double alpha, const double beta, const double gamma){
if(_type_of_R == 2){_alpha = alpha; _beta = beta; _gamma = gamma;}
else{
Msg::Error("Use set_flag_DMN_response_rotation to set_type_of_R == 2 to use this feature.");
}
};
}; };
// FLE // FLE
...@@ -837,7 +842,12 @@ class StochTMDMNDG3DMaterialLaw : public StochDMNDG3DMaterialLaw{ ...@@ -837,7 +842,12 @@ class StochTMDMNDG3DMaterialLaw : public StochDMNDG3DMaterialLaw{
virtual void reset_Parameter(const char* Para); virtual void reset_Parameter(const char* Para);
virtual void set_flag_DMN_response_rotation(const bool flag_rotation, const int type_of_R){_flag_rotation = flag_rotation; _type_of_R = type_of_R;}; virtual void set_flag_DMN_response_rotation(const bool flag_rotation, const int type_of_R){_flag_rotation = flag_rotation; _type_of_R = type_of_R;};
virtual void writeMatrixToCSV(const fullMatrix<double>& matrix, const double& nrows, const double& ncols, const std::string& filename); virtual void writeMatrixToCSV(const fullMatrix<double>& matrix, const double& nrows, const double& ncols, const std::string& filename);
virtual void set_euler_angles_user_input(const double alpha, const double beta, const double gamma){_alpha = alpha; _beta = beta; _gamma = gamma;}; virtual void set_euler_angles_user_input(const double alpha, const double beta, const double gamma){
if(_type_of_R == 2){_alpha = alpha; _beta = beta; _gamma = gamma;}
else{
Msg::Error("Use set_flag_DMN_response_rotation to set_type_of_R == 2 to use this feature.");
}
};
}; };
// FLE // FLE
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment