00001 subroutine update_coordinates_BNS_mpt
00002 use phys_constant, only : nmpt
00003 use grid_parameter
00004 use grid_parameter_mpt
00005 use def_binary_parameter
00006 use def_quantities_mpt
00007 use def_matter_parameter_mpt
00008 use grid_parameter_binary_excision
00009 use grid_points_binary_excision
00010 use grid_points_asymptotic_patch
00011 use grid_points_binary_in_asympto
00012 use weight_midpoint_binary_excision
00013 implicit none
00014 integer :: impt
00015
00016 write(6,*) "----------------------- Start update coordinates --------------------------"
00017 do impt = 1, nmpt
00018 call copy_from_mpatch_all_BNS_CF(impt)
00019 if (impt==1 .or. impt==2) then
00020 write(6,*) "==> start impt, r_surf, qc, emdc", impt, surf_param_real_(1,impt), &
00021 & def_quantities_real_(49,impt), def_matter_param_real_(2,impt)
00022 end if
00023
00024
00025
00026
00027 call coordinate_patch_kit_grav_grid_mpt(3)
00028
00029
00030 if (impt.ne.nmpt) then
00031 call calc_grid_points_binary_excision
00032 call calc_grid_points_binary_in_asympto(impt,nmpt)
00033 call copy_grid_points_binary_in_asympto_to_mpt(impt)
00034 end if
00035 call calc_weight_midpoint_binary_excision
00036 if (impt==1 .or. impt==2) then
00037 call calc_vector_x_grav(2)
00038 call calc_vector_phi_grav(2)
00039 else
00040 call calc_vector_x_grav(1)
00041 call calc_vector_phi_grav(1)
00042 end if
00043 call copy_to_mpatch_all_BNS_CF(impt)
00044 if (impt==1 .or. impt==2) then
00045 write(6,*) "==> end impt, r_surf, qc, emdc", impt, surf_param_real_(1,impt), &
00046 & def_quantities_real_(49,impt), def_matter_param_real_(2,impt)
00047 end if
00048 end do
00049 call copy_from_mpatch_all_BNS_CF(nmpt)
00050
00051 do impt = 1, 2
00052 call calc_grid_points_asymptotic_patch(impt,nmpt)
00053 call copy_grid_points_asymptotic_patch_to_mpt(impt)
00054 end do
00055 write(6,*) "------------------------ End update coordinates --------------------------"
00056
00057 end subroutine update_coordinates_BNS_mpt