Skip to content
Snippets Groups Projects
Commit 4e6928a2 authored by Vinayak Gholap's avatar Vinayak Gholap
Browse files

Evaluate thermal flux q or jy depending on je in TM problem: yet to confirm this change

parent a74b17af
No related branches found
No related tags found
1 merge request!386Major update: Computing average IPVar over time period, rewriting last time...
......@@ -206,16 +206,16 @@ if(evaluateCurlField)
STensorOperation::zero(dkdT);
STensorOperation::zero(dseebeckdT);
STensorOperation::zero(djedV);
STensorOperation::zero(dqdV);
STensorOperation::zero(dqdF); // dependency of flux with deformation gradient
//STensorOperation::zero(dqdV);
//STensorOperation::zero(dqdF); // dependency of flux with deformation gradient
STensorOperation::zero(djedF);
STensorOperation::zero(dPdV);
STensorOperation::zero(fluxjy);
/*STensorOperation::zero(fluxjy);
STensorOperation::zero(djydgradT);STensorOperation::zero(djydgradV); STensorOperation::zero(djydV); STensorOperation::zero(djydT);
// STensorOperation::zero(jy1);STensorOperation::zero(djy1dT);STensorOperation::zero(djy1dV);
STensorOperation::zero(djydgradVdT);STensorOperation::zero(djydgradVdV);STensorOperation::zero(djydgradVdF);
STensorOperation::zero(djydgradTdT);STensorOperation::zero(djydgradTdV);STensorOperation::zero(djydgradTdF);
STensorOperation::zero(djydgradTdT);STensorOperation::zero(djydgradTdV);STensorOperation::zero(djydgradTdF);*/
// STensorOperation::zero(dPdT);
......@@ -257,7 +257,7 @@ if(evaluateCurlField)
for(int i=0;i<3;i++)
/*for(int i=0;i<3;i++)
{
fluxT(i)=0.;
for(int j=0;j<3;j++)
......@@ -265,7 +265,7 @@ if(evaluateCurlField)
fluxT(i)+=(_k(i,j)+_l0(i,j)*_seebeck*_seebeck*T)*gradT(j)+_l0(i,j)*_seebeck*T*gradV(j);
fluxjy(i)+=(_k(i,j)+_l0(i,j)*_seebeck*_seebeck*T+_l0(i,j)*_seebeck*V)*gradT(j)+(_l0(i,j)*V+_l0(i,j)*_seebeck*T)*gradV(j);
}
}
}*/
for(int i=0;i<3;i++)
{
......@@ -319,7 +319,7 @@ if(evaluateCurlField)
djedgradV =_l0;
for(int i=0;i<3;i++)
/*for(int i=0;i<3;i++)
{
dqdT(i)=0.;
for(int j=0;j<3;j++)
......@@ -347,7 +347,7 @@ if(evaluateCurlField)
djydgradTdT(i,k)+=_l0(i,k)*_seebeck*_seebeck;
djydgradTdV(i,k)+=_l0(i,k)*_seebeck;
}
}
}*/
double dh;
double dcpdt=0.;
dh = getTimeStep();
......@@ -370,6 +370,65 @@ if(evaluateCurlField)
q1->_elasticEnergy=deformationEnergy(Fn,gradV,gradT,T,V);
}
// to evaluate q or jy depending on je
// in TM problem with EM coupling
{
double dseebeckdT;
static STensor3 dldT,dkdT;//,k1,k2,l10,l20;
STensorOperation::zero(dldT);
STensorOperation::zero(dkdT);
STensorOperation::zero(dseebeckdT);
STensorOperation::zero(fluxjy);
STensorOperation::zero(djydgradT);STensorOperation::zero(djydgradV); STensorOperation::zero(djydV); STensorOperation::zero(djydT);
// STensorOperation::zero(jy1);STensorOperation::zero(djy1dT);STensorOperation::zero(djy1dV);
STensorOperation::zero(djydgradVdT);STensorOperation::zero(djydgradVdV);STensorOperation::zero(djydgradVdF);
STensorOperation::zero(djydgradTdT);STensorOperation::zero(djydgradTdV);STensorOperation::zero(djydgradTdF);
STensorOperation::zero(dqdV);
STensorOperation::zero(dqdF);
for(int i=0;i<3;i++)
{
fluxT(i)=0.;
for(int j=0;j<3;j++)
{
fluxT(i)+=(_k(i,j)+_l0(i,j)*_seebeck*_seebeck*T)*gradT(j)+_l0(i,j)*_seebeck*T*gradV(j);
fluxjy(i)+=(_k(i,j)+_l0(i,j)*_seebeck*_seebeck*T+_l0(i,j)*_seebeck*V)*gradT(j)+(_l0(i,j)*V+_l0(i,j)*_seebeck*T)*gradV(j);
}
}
for(int i=0;i<3;i++)
{
dqdT(i)=0.;
for(int j=0;j<3;j++)
{
dqdT(i)+=dkdT(i,j)*gradT(j)+2*_seebeck*dseebeckdT*_l0(i,j)*T*gradT(j)+_seebeck*_seebeck*dldT(i,j)*T*gradT(j)+_seebeck*_seebeck*_l0(i,j)*gradT(j)
+dseebeckdT*_l0(i,j)*T*gradV(j)+_seebeck*dldT(i,j)*T*gradV(j)+_seebeck*_l0(i,j)*gradV(j);
djydT(i)+=_seebeck*_seebeck*_l0(i,j)*gradT(j)+_seebeck*_l0(i,j)*gradV(j);
djydV(i)+=_seebeck*_l0(i,j)*gradT(j)+_l0(i,j)*gradV(j);
}
}
STensorOperation::zero(dqdgradT);
STensorOperation::zero(dqdgradV);
for(int i=0;i<3;i++)
{
for(int k=0;k<3;k++)
{
dqdgradT(i,k)=(_k(i,k)+_l0(i,k)*_seebeck*_seebeck*T);
dqdgradV(i,k)=_l0(i,k)*_seebeck*T;
djydgradT(i,k)+=_k(i,k)+_l0(i,k)*_seebeck*_seebeck*T+_l0(i,k)*_seebeck*V;
djydgradV(i,k) =_l0(i,k)*_seebeck*T+_l0(i,k)*V;
djydgradVdT(i,k) =_l0(i,k)*_seebeck;
djydgradVdV(i,k) =_l0(i,k);
djydgradTdT(i,k)+=_l0(i,k)*_seebeck*_seebeck;
djydgradTdV(i,k)+=_l0(i,k)*_seebeck;
}
}
}
}
double mlawLinearElecTherMech::deformationEnergy(STensor3 defo,const SVector3 &gradV,const SVector3 &gradT,const double T, const double V) const
......
  • Author Developer

    Note: Yet to confirm the correctness of this change.

    Before this commit: q/jy were not updated in TM problem thus not accounting for EM contributions. Since q = - k * gradT + alpha * T * je.

    With this commit, now q/jy are updated in both EM and TM problem.

  • Vinayak Gholap @vinugholap

    mentioned in commit bcd19b2f

    ·

    mentioned in commit bcd19b2f

    Toggle commit list
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment