00001 !______________________________________________ 00002 include '../Include_file/include_modulefiles_BBH_CF_circ_spin.f90' 00003 include '../Include_file/include_interface_modulefiles_BBH_CF_circ_spin.f90' 00004 include '../Include_file/include_subroutines_BBH_CF_circ_spin.f90' 00005 include '../Include_file/include_functions.f90' 00006 !______________________________________________ 00007 ! 00008 ! Main Program 00009 !______________________________________________ 00010 PROGRAM Main_BBH_CF_circ_spin 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 use def_bh_parameter, only: bh_sptype 00023 implicit none 00024 integer :: iseq, iter_count, total_iteration, niq 00025 ! 00026 call coordinate_patch_kit_bhex 00027 call allocate_hgfn_bhex 00028 call allocate_hgfn_bhex_dd 00029 call calc_hgfn_bhex_dd 00030 call allocate_hgfn_bhex_nd 00031 call calc_hgfn_bhex_nd 00032 call allocate_hgfn_bhex_rd 00033 call calc_hgfn_bhex_rd 00034 ! -- No boundary Green's fn 00035 call allocate_hgfn_bhex_nb 00036 call calc_hgfn_bhex_nb 00037 ! call copy_to_hgfn_and_gfnsf(hgfn_nb,gfnsf_nb) 00038 ! -- 00039 call read_parameter_bh 00040 call read_parameter_binary_excision 00041 call calc_parameter_binary_excision 00042 call IO_printout_grid_data 00043 call allocate_grid_points_binary_excision 00044 call calc_grid_points_binary_excision 00045 call allocate_weight_midpoint_binary_excision 00046 call calc_weight_midpoint_binary_excision 00047 ! call calc_weight_midpoint_binary_excision_hybrid 00048 call allocate_BBH_CF_AH 00049 if (indata_type.eq.'IN') call initial_metric_CF 00050 if (indata_type.eq.'3D') call IO_input_initial_3D 00051 ! call test_analytic_solution_bhex_psialph 00052 ! 00053 niq = 2 00054 call allocate_iter_quantities(niq) 00055 ! 00056 total_iteration = 0 00057 00058 call calc_circular_orbit_spin(total_iteration,niq) 00059 ! 00060 if (outdata_type.eq.'3D') call IO_output_solution_3D 00061 ! 00062 END PROGRAM Main_BBH_CF_circ_spin