| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mesh2D_t), | intent(inout) | :: | me | |||
| real(kind=dp), | intent(in) | :: | dt |
subroutine source_from_SS_src_ports_self_mesh2D(me,dt) type(mesh2D_t), intent(inout) :: me real(dp), intent(in) :: dt real(dp) :: VarcentS,DerVarcentS,dt_Vi integer :: ii,idx_prev,nb_e,elem if(me%M2D_Prop%Nb_labelMC>0) then idx_prev=0 do ii=1,me%M2D_Prop%Nb_labelMC do nb_e=1,me%label%MC_Arr(ii)%NbElem elem=me%label%MC_Arr(ii)%array(nb_e) dt_Vi=dt/me%M2D_Prop%elem(elem)%surface VarcentS=1.0_dp/(me%M2D_Prop%thermS(idx_prev+nb_e)%p%rhoS*me%M2D_Prop%thermS(idx_prev+nb_e)%p%cpS) DerVarcentS=-me%M2D_Prop%thermS(idx_prev+nb_e)%p%dcpSdT/& (me%M2D_Prop%thermS(idx_prev+nb_e)%p%rhoS*me%M2D_Prop%thermS(idx_prev+nb_e)%p%cpS*& me%M2D_Prop%thermS(idx_prev+nb_e)%p%cpS) me%big%bmx(elem)=me%big%bmx(elem)+dt_Vi*DerVarcentS*me%M2D_Prop%thermS(idx_prev+nb_e)%p%Flx+ & dt_Vi*VarcentS*me%M2D_Prop%thermS(idx_prev+nb_e)%p%derFlx_derCon me%big%bvx(elem)=me%big%bvx(elem)-dt_Vi*VarcentS*me%M2D_Prop%thermS(idx_prev+nb_e)%p%Flx enddo idx_prev=idx_prev+me%label%MC_Arr(ii)%NbElem enddo endif end subroutine source_from_SS_src_ports_self_mesh2D