| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(c_ptr), | value | :: | c_pt | |||
| real(kind=dp), | value | :: | T | |||
| real(kind=dp), | value | :: | B |
function thermal_conductivity_nb3sn(c_pt,T,B) result(thermal_conductivity) bind(C) type(c_ptr), value :: c_pt real(dp), value :: T,B real(dp) :: thermal_conductivity real(dp) :: tmin,tmax,TT,T0,AA1,BB1,n1,m1,AA2,BB2,n2,m2 type(nb3sn_cfg_t), pointer :: nb3sn_ptr call c_f_pointer(c_pt,nb3sn_ptr) tmin=1.0d0 tmax=1000.0d0 TT=min(T,tmax) TT=max(TT,tmin) AA1=1.39049E+14_dp ; BB1=76.61272374_dp n1=3.663439606_dp ; m1=9.322084303_dp AA2=35.77281992_dp ; BB2=5.967307791_dp n2=2.766424235_dp ; m2=3.335767669_dp T0=20.92684715_dp if(TT <= T0) then thermal_conductivity = AA1*TT**n1/(BB1+TT)**m1 else thermal_conductivity = AA2*TT**n2/(BB2+TT)**m2 endif end function thermal_conductivity_nb3sn