00001 !______________________________________________ 00002 include '../Include_file/include_modulefiles_BBH_CF_circ.f90' 00003 include '../Include_file/include_interface_modulefiles_BBH_CF_circ.f90' 00004 include '../Include_file/include_subroutines_BBH_CF_circ.f90' 00005 include '../Include_file/include_functions.f90' 00006 !______________________________________________ 00007 ! 00008 ! Main Program 00009 !______________________________________________ 00010 PROGRAM Main_BBH_CF_circ 00011 ! 00012 use grid_parameter, only : indata_type, outdata_type, iter_max 00013 use radial_green_fn_grav 00014 use radial_green_fn_grav_bhex_nb 00015 use radial_green_fn_grav_bhex_dd 00016 use radial_green_fn_grav_bhex_nd 00017 use radial_green_fn_grav_bhex_rd 00018 use grid_parameter_binary_excision 00019 use grid_points_binary_excision 00020 use weight_midpoint_binary_excision 00021 use interface_copy_to_hgfn_and_gfnsf 00022 implicit none 00023 integer :: iseq, iter_count, total_iteration, flag_omega, count_adj 00024 ! 00025 call coordinate_patch_kit_bhex 00026 call allocate_hgfn_bhex 00027 call allocate_hgfn_bhex_dd 00028 call calc_hgfn_bhex_dd 00029 call allocate_hgfn_bhex_nd 00030 call calc_hgfn_bhex_nd 00031 call allocate_hgfn_bhex_rd 00032 call calc_hgfn_bhex_rd 00033 ! -- No boundary Green's fn 00034 call allocate_hgfn_bhex_nb 00035 call calc_hgfn_bhex_nb 00036 ! call copy_to_hgfn_and_gfnsf(hgfn_nb,gfnsf_nb) 00037 ! -- 00038 call read_parameter_bh 00039 call read_parameter_binary_excision 00040 call calc_parameter_binary_excision 00041 call IO_printout_grid_data 00042 call allocate_grid_points_binary_excision 00043 call calc_grid_points_binary_excision 00044 call allocate_weight_midpoint_binary_excision 00045 call calc_weight_midpoint_binary_excision 00046 ! call calc_weight_midpoint_binary_excision_hybrid 00047 call allocate_BBH_CF_AH 00048 if (indata_type.eq.'IN') call initial_metric_CF 00049 if (indata_type.eq.'3D') call IO_input_initial_3D 00050 ! call test_analytic_solution_bhex_psialph 00051 ! 00052 total_iteration = 0 00053 00054 call calc_circular_orbit(iter_count) 00055 ! 00056 if (outdata_type.eq.'3D') call IO_output_solution_3D 00057 ! 00058 END PROGRAM Main_BBH_CF_circ