module setup_template use sktk_fortran implicit none integer,parameter :: Vax(3)=(/3,4,5/),Bax(3)=(/6,7,8/),Sax(2)=(/1,2/) contains function U2eth(U8) implicit none real(DP) :: U8(8),U2eth U2eth=U8(Sax(2))-.5_DP*(sum(U8(Vax)*U8(Vax))/U8(Sax(1))& +sum(U8(Bax)*U8(Bax))) end function U2eth function U2p(U8,gamma1i) implicit none real(DP),intent(IN) :: gamma1i,U8(8) real(DP) :: U2p U2p=U2eth(U8)/gamma1i end function U2p function CT_preprocess(U0,xi,yj,zk) implicit none real(DP),dimension(:,:,:,:),intent(IN)::U0 integer,intent(IN) :: xi,yj,zk real(DP),dimension(8) :: CT_preprocess integer s1,axis,kdlt(3) CT_preprocess=U0(xi,yj,zk,:) do axis=1,3 kdlt=0**abs(axis-(/1,2,3/)) CT_preprocess(Bax(axis))=.5_DP*(CT_preprocess(Bax(axis))& +U0(xi-kdlt(1),yj-kdlt(2),zk-kdlt(3),Bax(axis))) end do end function CT_preprocess function iflux_damp(time) implicit none real(DP),intent(IN) :: time real(DP) :: iflux_damp iflux_damp=1._DP end function iflux_damp function eq_state(pre,rho,tmp) implicit none real(DP) :: pre,rho,tmp real(DP) :: g_mol=1._DP,eq_state eq_state=le0(pre)*rho*tmp/g_mol+le0(rho)*pre*g_mol/tmp+& le0(tmp)*pre*g_mol/rho end function eq_state function eforce(xi,yj,zk,axis,U0) implicit none real(DP) :: eforce real(DP),dimension(:,:,:,:),intent(IN):: U0 integer,intent(IN) :: xi,yj,zk,axis eforce=0._DP end function eforce function eheat(xi,yj,zk,U0) implicit none real(DP) :: eheat integer,intent(IN) :: xi,yj,zk real(DP),dimension(:,:,:,:),intent(IN):: U0 eheat=0._DP end function eheat function heat_conductivity(temperature) implicit none real(DP) :: heat_conductivity real(DP) :: temperature heat_conductivity=0._DP end function heat_conductivity function Ohm(xi,yj,zk,axis,U0) implicit none integer,intent(IN) :: xi,yj,zk,axis real(DP),dimension(:,:,:,:),intent(IN):: U0 integer :: axis2,axis3,d2(3),d3(3) real(DP) :: Ohm,eta,dB2,dB3,delta2,delta3 Ohm=0._DP end function Ohm end module setup_template