!--------1---------2---------3---------4---------5---------6---------7---------8 program main !--------1---------2---------3---------4---------5---------6---------7---------8 use global_constants, only : rkind, itmax, dt, time0, time, year & & , set_mass_ratio_rock_H2O_init, imr, GO_NEXT, W_ALTERATION, D_REACTION & & , WV_PRESSURE, Rocky_Core, Ordinary_Chondrite, Aqueous_Start use global_parameters, only : irb, iau, irbmax, iaumax & & , set_radius, set_temperature, set_radius_body, set_temperature_initial use heat_radiogenic, only : heat_radiogenic_Al, heat_radiogenic_Fe & & , heat_radiogenic_K use heat_radiogenic, only : iAl, iAlmax use parameters, only : set_parameters use vtu_output, only : ivtu, ivtu_max, graph_vtu, graph_vtu_76Myr implicit none Ordinary_Chondrite=.FALSE. call set_parameters imr = 1 irb = 65 iau = 1 iAl = 215 Aqueous_Start = .FALSE. call initial_condition call log_file call time_evolution GO_NEXT = .FALSE. stop end program main !--------1---------2---------3---------4---------5---------6---------7---------8 subroutine initial_condition !--------1---------2---------3---------4---------5---------6---------7---------8 use global_constants, only : set_density, set_volume_ratio_rock & & , set_density, set_volume_ratio_rock use global_parameters, only : set_radius, set_temperature use heat_parameters, only : set_heat_parameters use heat_radiogenic, only : heat_radiogenic_Al use ice_parameters, only : set_ice use material_parameters, only : material_init use energy, only : energy_init use diffusion, only : diffusion_init implicit none call set_density call set_volume_ratio_rock call set_radius call set_temperature call set_heat_parameters call set_ice call material_init call energy_init call diffusion_init return end subroutine initial_condition !--------1---------2---------3---------4---------5---------6---------7---------8 subroutine graph !--------1---------2---------3---------4---------5---------6---------7---------8 use global_constants, only : rkind, year, kilometer, time, density, density & & , volume_ratio_rock, imr, Myr, temperature_Kelvin use global_parameters, only : irmax, radius, irb, temp, iau, halfdr & & , fname_center, fname_all, pressure_lithostatic, pressure_vapor & & , temp_max, diffusion_length, concentration use heat_radiogenic, only : iAl, ftime use material_parameters, only : mn, ice_water_rock, iw, ir & & , melt, radius_rock, ii, radius_water, radius_ice, material_select & & , mass_ratio_rock, mass_ratio_anhydrous_rock, mass_ratio_hydrous_rock & & , mass_ratio_ice, mass_ratio_water, mass_ratio_dehydration_rock, dehyd & & , mass_ratio_vapor implicit none real(rkind) :: time_Myr, Tdensity integer :: i open(11, file = fname_all) time_Myr = (time/year+ftime(iAl))/Myr do i = 0, irmax write(11,'(f11.7,3f9.3)') time_Myr & & , radius(i)/kilometer, temp(i)-temperature_Kelvin & & , mass_ratio_hydrous_rock(i) enddo call flush(11) return end subroutine graph !--------1---------2---------3---------4---------5---------6---------7---------8 subroutine graph2 !--------1---------2---------3---------4---------5---------6---------7---------8 use global_constants, only : rkind, year, kilometer, Myr, temperature_Kelvin, time_aqueous use global_parameters, only : irmax, radius, irb, temp_max, fname_max use heat_radiogenic, only : iAl, ftime, initial_ratioAl use vtu_output, only : ivtu, time_vtu, radius_vtu, temp_max_vtu implicit none real(rkind) :: time_Myr open(18, file = fname_max) time_Myr = (ftime(iAl))/Myr write(18,'(f11.7,f9.3,f10.4,f11.7,e12.5,i4)') time_Myr & & , radius(irmax)/kilometer, temp_max(0)-temperature_Kelvin, time_aqueous, initial_ratioAl(iAl), iAl call flush(18) time_vtu(ivtu) = time_Myr radius_vtu(ivtu) = radius(irmax)/kilometer temp_max_vtu(ivtu) = temp_max(0)-temperature_Kelvin return end subroutine graph2 !--------1---------2---------3---------4---------5---------6---------7---------8