| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(c_ptr), | value | :: | c_pt | |||
| real(kind=dp), | value | :: | T | |||
| real(kind=dp), | value | :: | B | |||
| real(kind=dp), | value | :: | TC | |||
| real(kind=dp), | value | :: | TCS | |||
| real(kind=dp), | value | :: | TC0 |
function heat_capacity_stainless_steel(c_pt,T,B,TC,TCS,TC0) result(heat_capacity) bind(C) type(c_ptr), value :: c_pt real(dp), value :: T,B,TC,TCS,TC0 real(dp) :: heat_capacity real(dp) :: tmin,tmax,TT,CpHigh,Cplow,gamma,beta type(stainless_steel_cfg_t), pointer :: stainless_steel_ptr call c_f_pointer(c_pt,stainless_steel_ptr) gamma=0.48_dp beta=0.00075_dp CpHigh=500.0_dp tmin=1.0_dp tmax=3.00e2_dp TT=T TT=min(TT,tmax) TT=max(TT,tmin) Cplow=gamma*TT+beta*TT**3 heat_capacity=1_dp/(1.0_dp/CpHigh+1.0_dp/Cplow) end function heat_capacity_stainless_steel