00001 subroutine calc_integrability_fnc_MHD(Aphi)
00002 use phys_constant, only : long
00003 use grid_parameter, only : nrf, ntf
00004 use def_matter_parameter, only : ome, ber
00005 use def_metric, only : alph, bvxu, bvyu, bvzu
00006 use def_emfield, only : va , vaxd, vayd, vazd
00007 use def_vector_phi, only : vec_phif
00008 use integrability_fnc_MHD
00009 use interface_interpo_gr2fl_type0
00010 implicit none
00011 real(long) :: Aphi, Aphi_max, Aphi_tmp, Ay, Aphi_max_NS, At0
00012 real(long) :: x, a, b, c, r, width, point
00013 real(long) :: stepfn, stepfn_int
00014 integer :: irf, itf, ipf
00015
00016 Aphi_max = Aphi_max_surf
00017 Aphi_max_NS = Aphi_max_vol
00018
00019
00020 MHDfnc_PSI = 0.0d0 ; MHDfnc_dPSI = 0.0d0 ; MHDfnc_d2PSI= 0.0d0
00021
00022
00023
00024
00025
00026
00027
00028
00029 MHDfnc_Lambda_phi = 0.0d0 ; MHDfnc_dLambda_phi= 0.0d0
00030
00031
00032
00033
00034
00035 width = 0.1d0 ; point = 0.5d0
00036 b = width*(Aphi_max_NS - Aphi_max)
00037 c = point*(Aphi_max_NS - Aphi_max)
00038 stepfn = 0.5d0*( tanh((Aphi - Aphi_max - c)/b) + 1.0d0)
00039 stepfn_int = 0.5d0*(log(cosh((Aphi - Aphi_max - c)/b))*b + Aphi )
00040
00041 MHDfnc_Lambda_phi = MHDpar_a*stepfn_int
00042 MHDfnc_dLambda_phi= MHDpar_a*stepfn
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057 MHDfnc_At = 0.0d0
00058 MHDfnc_dAt = 0.0d0
00059 MHDfnc_d2At= 0.0d0
00060
00061 MHDfnc_At = - ome*Aphi + MHDpar_charge
00062 MHDfnc_dAt = - ome
00063
00064
00065
00066
00067
00068
00069
00070
00071 MHDfnc_Lambda = - MHDpar_Lc*Aphi - ber
00072 MHDfnc_dLambda = - MHDpar_Lc
00073 if (MHDidx_s.eq.2.0d0) then
00074 MHDfnc_Lambda = - MHDpar_Lc*Aphi**MHDidx_s - ber
00075 MHDfnc_dLambda = - MHDpar_Lc*Aphi *MHDidx_s
00076 end if
00077
00078
00079 MHDfnc_Lambda_GS = - MHDpar_Lc*Aphi
00080 MHDfnc_dLambda_GS = - MHDpar_Lc
00081 if (MHDidx_s.eq.2.0d0) then
00082 MHDfnc_Lambda_GS = - MHDpar_Lc*Aphi**MHDidx_s
00083 MHDfnc_dLambda_GS = - MHDpar_Lc*Aphi *MHDidx_s
00084 end if
00085
00086
00087 MHDfnc_Lambda_t = 0.0d0
00088
00089 end subroutine calc_integrability_fnc_MHD