strands_SS_flux_port_comm Subroutine

public subroutine strands_SS_flux_port_comm(me)

Arguments

Type IntentOptional Attributes Name
type(strand_t), intent(inout) :: me

Calls

proc~~strands_ss_flux_port_comm~~CallsGraph proc~strands_ss_flux_port_comm strands_SS_flux_port_comm proc~material_critical_current_density material_t%material_critical_current_density proc~strands_ss_flux_port_comm->proc~material_critical_current_density proc~material_critical_field material_t%material_critical_field proc~strands_ss_flux_port_comm->proc~material_critical_field proc~material_critical_temperature material_t%material_critical_temperature proc~strands_ss_flux_port_comm->proc~material_critical_temperature proc~material_current_sharing_temperature material_t%material_current_sharing_temperature proc~strands_ss_flux_port_comm->proc~material_current_sharing_temperature proc~material_heat_capacity material_t%material_heat_capacity proc~strands_ss_flux_port_comm->proc~material_heat_capacity proc~material_strain material_t%material_strain proc~strands_ss_flux_port_comm->proc~material_strain proc~material_thermal_conductivity material_t%material_thermal_conductivity proc~strands_ss_flux_port_comm->proc~material_thermal_conductivity proc~material_thermal_conductivity_der material_t%material_thermal_conductivity_der proc~strands_ss_flux_port_comm->proc~material_thermal_conductivity_der

Called by

proc~~strands_ss_flux_port_comm~~CalledByGraph proc~strands_ss_flux_port_comm strands_SS_flux_port_comm proc~main_loop main_loop proc~main_loop->proc~strands_ss_flux_port_comm program~reims_p reims_p program~reims_p->proc~main_loop

Source Code

subroutine strands_SS_flux_port_comm(me)
  type(strand_t), intent(inout) :: me
  integer :: ii
  real(dp) :: lambdS, DerlambdS, cpMS
  real(dp) :: B,St,Tc,Tc0,Bc,Bc0,Jc0,Jop,TcS

  lambdS=0.0_dp
  DerlambdS=0.0_dp
  cpMS=0.0_dp

  lambdS=lambdS+me%ct(STAB)%area*me%mat_stab%thermal_conductivity(me%StVar%SCtemp(1),me%scen%Bfield(1))      
  lambdS=lambdS+me%ct(SUPC)%area*me%mat_supc%thermal_conductivity(me%StVar%SCtemp(1))      

  DerlambdS=DerlambdS+me%ct(STAB)%area*me%mat_stab%thermal_conductivity_der(me%StVar%SCtemp(1),me%scen%Bfield(1))
  DerlambdS=DerlambdS+me%ct(SUPC)%area*me%mat_supc%thermal_conductivity_der(me%StVar%SCtemp(1))

  cpMS=cpMS+me%ct(STAB)%area*me%mat_stab%density*me%mat_stab%heat_capacity(me%StVar%SCtemp(1))

  B   = me%scen%Bfield(1)
  St  = me%mat_supc%strain(B,me%scen%ElCur)
  TC  = me%mat_supc%critical_temperature(B,St)
  Tc0 = me%mat_supc%critical_temperature(0.0_dp,St)
  Bc  = me%mat_supc%critical_field(me%StVar%SCtemp(1),St)
  Bc0 = me%mat_supc%critical_field(0.0_dp,St)
  Jc0 = me%mat_supc%critical_current_density(0.0_dp,B,St,Tc0,Bc)
  Jop = abs(me%scen%ElCur)/me%ct(SUPC)%area
  TcS=me%mat_supc%current_sharing_temperature(B,St,Jop,Bc0,Jc0,Tc,Tc0,Bc)
  cpMS=cpMS+me%ct(SUPC)%area*me%mat_supc%density*me%mat_supc%heat_capacity(me%StVar%SCtemp(1),B,TC,TcS,Tc0)

  lambdS=lambdS/sum(me%ct(:)%area)
  DerlambdS=DerlambdS/sum(me%ct(:)%area)
  cpMS=cpMS/(me%ct(STAB)%area*me%mat_stab%density+me%ct(SUPC)%area*me%mat_supc%density)

  me%SC_Prop%in%lambdS    = lambdS
  me%SC_Prop%in%DerlambdS = DerlambdS
  me%SC_Prop%in%cpMS      = cpMS
  me%SC_Prop%in%TempS     = me%StVar%SCtemp(1)


  lambdS=0.0_dp
  DerlambdS=0.0_dp
  cpMS=0.0_dp

  lambdS=lambdS+me%ct(STAB)%area* &
         me%mat_stab%thermal_conductivity(me%StVar%SCtemp(me%SC_Prop%NbCells),me%scen%Bfield(me%SC_Prop%NbCells))
  lambdS=lambdS+me%ct(SUPC)%area* &
         me%mat_supc%thermal_conductivity(me%StVar%SCtemp(me%SC_Prop%NbCells))             

  DerlambdS=DerlambdS+me%ct(STAB)%area*&
            me%mat_stab%thermal_conductivity_der(me%StVar%SCtemp(me%SC_Prop%NbCells),me%scen%Bfield(me%SC_Prop%NbCells))
  DerlambdS=DerlambdS+me%ct(SUPC)%area*&
            me%mat_supc%thermal_conductivity_der(me%StVar%SCtemp(me%SC_Prop%NbCells))                

  cpMS=cpMS+me%ct(STAB)%area*me%mat_stab%density*me%mat_stab%heat_capacity(me%StVar%SCtemp(me%SC_Prop%NbCells))

  B   = me%scen%Bfield(me%SC_Prop%NbCells)
  St  = me%mat_supc%strain(B,me%scen%ElCur)
  TC  = me%mat_supc%critical_temperature(B,St)
  Tc0 = me%mat_supc%critical_temperature(0.0_dp,St)
  Bc  = me%mat_supc%critical_field(me%StVar%SCtemp(me%SC_Prop%NbCells),St)
  Bc0 = me%mat_supc%critical_field(0.0_dp,St)
  Jc0 = me%mat_supc%critical_current_density(0.0_dp,B,St,Tc0,Bc)
  Jop = abs(me%scen%ElCur)/me%ct(SUPC)%area
  TcS=me%mat_supc%current_sharing_temperature(B,St,Jop,Bc0,Jc0,Tc,Tc0,Bc)      
  cpMS=cpMS+me%ct(SUPC)%area*me%mat_supc%density*me%mat_supc%heat_capacity(me%StVar%SCtemp(me%SC_Prop%NbCells),B,TC,TcS,Tc0)

  lambdS=lambdS/sum(me%ct(:)%area)
  DerlambdS=DerlambdS/sum(me%ct(:)%area)
  cpMS=cpMS/(me%ct(STAB)%area*me%mat_stab%density+me%ct(SUPC)%area*me%mat_supc%density)

  me%SC_Prop%out%lambdS    = lambdS
  me%SC_Prop%out%DerlambdS = DerlambdS
  me%SC_Prop%out%cpMS      = cpMS
  me%SC_Prop%out%TempS     = me%StVar%SCtemp(me%SC_Prop%NbCells)

end subroutine strands_SS_flux_port_comm