00001 module def_physq_to_array
00002 use phys_constant, only : long
00003 use def_quantities
00004 use def_quantities_derived
00005 implicit none
00006 real(long) :: physq_array(100,0:100)
00007 contains
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065 subroutine physq_to_array(iseq,flag_restmass,num_physq)
00066 implicit none
00067 integer :: iseq, flag_restmass, num_physq, jj
00068
00069 jj = iseq
00070 physq_array( 1,jj) = dble(iseq)
00071 physq_array( 2,jj) = dble(flag_restmass)
00072 physq_array( 3,jj) = coord_radius_x
00073 physq_array( 4,jj) = proper_radius_x
00074 physq_array( 5,jj) = coord_radius_y
00075 physq_array( 6,jj) = proper_radius_y
00076 physq_array( 7,jj) = coord_radius_z
00077 physq_array( 8,jj) = proper_radius_z
00078 physq_array( 9,jj) = coord_axis_ratio_yx
00079 physq_array(10,jj) = proper_axis_ratio_yx
00080 physq_array(11,jj) = coord_axis_ratio_zx
00081 physq_array(12,jj) = proper_axis_ratio_zx
00082 physq_array(13,jj) = coord_radius_normalized_x
00083 physq_array(14,jj) = coord_radius_normalized_y
00084 physq_array(15,jj) = coord_radius_normalized_z
00085 physq_array(16,jj) = coord_eccentricity_zx
00086 physq_array(17,jj) = proper_eccentricity_zx
00087
00088 physq_array(18,jj) = omega_M
00089 physq_array(19,jj) = omega
00090 physq_array(20,jj) = admmass
00091 physq_array(21,jj) = komarmass
00092 physq_array(22,jj) = restmass
00093 physq_array(23,jj) = propermass
00094 physq_array(24,jj) = angmom
00095 physq_array(25,jj) = restmass_sph
00096 physq_array(26,jj) = gravmass_sph
00097 physq_array(27,jj) = MoverR_sph
00098 physq_array(28,jj) = schwarz_radi_sph
00099
00100 physq_array(29,jj) = E_bind_over_M
00101 physq_array(30,jj) = J_over_M2
00102 physq_array(31,jj) = J_over_Madm2
00103 physq_array(32,jj) = T_kinene
00104 physq_array(33,jj) = W_gravene
00105 physq_array(34,jj) = ToverW
00106 physq_array(35,jj) = I_inertia
00107 physq_array(36,jj) = Madm_MK_virial
00108 physq_array(37,jj) = M0_minus_M0sph_normalized
00109 physq_array(38,jj) = rho_c_normalized
00110 physq_array(39,jj) = pre_c_normalized
00111 physq_array(40,jj) = epsilon_c_normalized
00112 physq_array(41,jj) = p_over_rho_c_normalized
00113 physq_array(42,jj) = zrb_xp_plus
00114 physq_array(43,jj) = zrb_xp_minus
00115 physq_array(44,jj) = zrb_yp_plus
00116 physq_array(45,jj) = zrb_yp_minus
00117 physq_array(46,jj) = zrb_zp_plus
00118 physq_array(47,jj) = zrb_zp_minus
00119 physq_array(48,jj) = omega2_M2
00120
00121 num_physq = 48
00122
00123 end subroutine physq_to_array
00124
00125 subroutine array_to_physq(iseq,flag_restmass,num_physq)
00126 implicit none
00127 integer :: iseq, flag_restmass, num_physq, jj
00128
00129 jj = iseq
00130 iseq = idnint(physq_array( 1,jj))
00131 flag_restmass = idnint(physq_array( 2,jj))
00132 coord_radius_x = physq_array( 3,jj)
00133 proper_radius_x = physq_array( 4,jj)
00134 coord_radius_y = physq_array( 5,jj)
00135 proper_radius_y = physq_array( 6,jj)
00136 coord_radius_z = physq_array( 7,jj)
00137 proper_radius_z = physq_array( 8,jj)
00138 coord_axis_ratio_yx = physq_array( 9,jj)
00139 proper_axis_ratio_yx = physq_array(10,jj)
00140 coord_axis_ratio_zx = physq_array(11,jj)
00141 proper_axis_ratio_zx = physq_array(12,jj)
00142 coord_radius_normalized_x = physq_array(13,jj)
00143 coord_radius_normalized_y = physq_array(14,jj)
00144 coord_radius_normalized_z = physq_array(15,jj)
00145 coord_eccentricity_zx = physq_array(16,jj)
00146 proper_eccentricity_zx = physq_array(17,jj)
00147
00148 omega_M = physq_array(18,jj)
00149 omega = physq_array(19,jj)
00150 admmass = physq_array(20,jj)
00151 komarmass = physq_array(21,jj)
00152 restmass = physq_array(22,jj)
00153 propermass = physq_array(23,jj)
00154 angmom = physq_array(24,jj)
00155 restmass_sph = physq_array(25,jj)
00156 gravmass_sph = physq_array(26,jj)
00157 MoverR_sph = physq_array(27,jj)
00158 schwarz_radi_sph = physq_array(28,jj)
00159
00160 E_bind_over_M = physq_array(29,jj)
00161 J_over_M2 = physq_array(30,jj)
00162 J_over_Madm2 = physq_array(31,jj)
00163 T_kinene = physq_array(32,jj)
00164 W_gravene = physq_array(33,jj)
00165 ToverW = physq_array(34,jj)
00166 I_inertia = physq_array(35,jj)
00167 Madm_MK_virial = physq_array(36,jj)
00168 M0_minus_M0sph_normalized = physq_array(37,jj)
00169 rho_c_normalized = physq_array(38,jj)
00170 pre_c_normalized = physq_array(39,jj)
00171 epsilon_c_normalized = physq_array(40,jj)
00172 p_over_rho_c_normalized = physq_array(41,jj)
00173 zrb_xp_plus = physq_array(42,jj)
00174 zrb_xp_minus = physq_array(43,jj)
00175 zrb_yp_plus = physq_array(44,jj)
00176 zrb_yp_minus = physq_array(45,jj)
00177 zrb_zp_plus = physq_array(46,jj)
00178 zrb_zp_minus = physq_array(47,jj)
00179 omega2_M2 = physq_array(48,jj)
00180
00181 num_physq = 48
00182
00183 end subroutine array_to_physq
00184 end module def_physq_to_array