diff --git a/examples/dynamo_benchmark/dynamobench_case_0/README b/examples/dynamo_benchmark/dynamobench_case_0/README index 4d23c3d7..3b73eeef 100644 --- a/examples/dynamo_benchmark/dynamobench_case_0/README +++ b/examples/dynamo_benchmark/dynamobench_case_0/README @@ -6,26 +6,57 @@ Here is the input files for the dynamo benchmark case 0. This example consists of the following files and directories -control_MHD: control file for simulation -control_snapshot: control file for data analysis -control_resolution: control file for spatial resolution +control_MHD: Control file for simulation +control_snapshot: Control file for data analysis +control_mid_depth: Control file for sectioning at mid-depth of the shell -sph_lm31r48c_4: Directory for spherical harmonics index table -rst_4: Directory for restart files -field: Directory for field data files +sph_lm31r48c_4: Directory for spherical harmonics index table +rst_4: Directory for restart files +field: Directory for field data files +monitor: Directory for time series data files +sections: Directory for field cross-section data files -This example only run with 4 MPI processes. The simulation procedure is the following +This example run with 4 MPI processes. The simulation procedure is the following 1. Run simulation program -[dynamobench_case_1]$ mpirun -np 4 [CALYPSO_DIR]/bin/sph_mhd +[dynamobench_case_0]$ mpirun -np 4 [CALYPSO_DIR]/bin/sph_mhd -2. To continue the simulation change rst_ctl in control_MHD from +2. To continue the simulation Update the time stepping parameter + "i_step_init_ctl" and "i_step_finish_ctl" in "time_step_ctl" block + to be the new start and end time steps, respectively. + + And, change rst_ctl in control_MHD from rst_ctl dynamo_benchmark_0 to rst_ctl start_from_rst_file - And, start simulation again by 2. - -4. To check the required results for dynamo benchmark, run -[dynamobench_case_1]$ mpirun -np 4 [CALYPSO_DIR]/bin/sph_dynamobench + And, start simulation again by procedure 1. + + In the continuous runs, The time series data defined in "sph_monitor_ctl" block will be appended if time series data files are exist. + + +3. The following data is written: + field/out.#.vtk.gz: Visualization data for whole domain with gzipped VTK format + rst_4/rst.#.fst.gz: Restart data with gzipped ASCII data merged over MPI processes + sections/equator.#.vtk.gz: Visualization data for equatorial plane with gzipped VTK format + sections/mid_depth.#.vtk: Visualization data for mid-depth of the fluid shell with VTK format + + monitor/sph_ave_volume.dat: Time series of volume average of fields. + monitor/sph_pwr_volume_s.dat: Time series of mean square of fields. + monitor/sph_pwr_volume_l.dat: Time series of mean square of spectr as a function of degree l + monitor/sph_pwr_volume_m.dat: Time series of mean square of spectr as a function of order m + monitor/sph_pwr_volume_lm.dat: Time series of mean square of spectr as a function of (l-m) + monitor/sph_pwr_volume_m0.dat: Time series of mean square of axisymmetric components + monitor/dynamobench.dat: Time series of required data for dynamo benchmark + +4. Required data for the benchmark is written in monitor/dynamobench.dat. +The following data is written in each column. + t_step: Time step + time: Time + KE_total: Average kinetic energy in the shell + v_phi: $\phi$-component of the velocity at the requested point. (Average of the four requested points) + temperature: Temperature at the requested point. (Average of the four requested points) + Average_drift_vr: Drift frequency obtained by the position of the requested points (Average of the four requested points) + omega_vp44: Drift frequency obtained by l = |m| = 4 components of the poloidal velocity at the mid-depth. + omega_vt54: Drift frequency obtained by l = 5 and |m| = 4 components of the toroidal velocity at the mid-depth. diff --git a/examples/dynamo_benchmark/dynamobench_case_0/control_MHD b/examples/dynamo_benchmark/dynamobench_case_0/control_MHD index 871bba89..600d4b19 100644 --- a/examples/dynamo_benchmark/dynamobench_case_0/control_MHD +++ b/examples/dynamo_benchmark/dynamobench_case_0/control_MHD @@ -259,13 +259,26 @@ begin MHD_control begin sph_monitor_ctl volume_average_prefix 'monitor/sph_ave_volume' volume_pwr_spectr_prefix 'monitor/sph_pwr_volume' + volume_pwr_spectr_format 'ASCII' +! + begin dynamo_benchmark_data_ctl + dynamo_benchmark_file_prefix 'monitor/dynamobench' + dynamo_benchmark_file_format 'ASCII' + nphi_mid_eq_ctl 512 + end dynamo_benchmark_data_ctl end sph_monitor_ctl ! begin visual_control +!!!!!!!!! Parameters for sectioning module array cross_section_ctl ! +!!!!!!!!! Control parameters for mid-depth of the spherical shell + file cross_section_ctl 'control_mid_depth' +! +!!!!!!!!! Control parameters for euqatorial plane begin cross_section_ctl section_file_prefix 'sections/equator' + psf_output_type 'VTK_gz' ! begin surface_define section_method plane @@ -283,16 +296,14 @@ begin MHD_control end array center_position ! array section_area_ctl - section_area_ctl all end + section_area_ctl all end array section_area_ctl end surface_define ! begin output_field_define array output_field output_field temperature scalar - output_field velocity vector - output_field velocity radial - output_field velocity phi + output_field velocity cyrindrical_vector output_field vorticity z end array output_field end output_field_define diff --git a/examples/dynamo_benchmark/dynamobench_case_0/control_mid_depth b/examples/dynamo_benchmark/dynamobench_case_0/control_mid_depth new file mode 100644 index 00000000..9d160e74 --- /dev/null +++ b/examples/dynamo_benchmark/dynamobench_case_0/control_mid_depth @@ -0,0 +1,34 @@ +!!!!!!!!! Control parameters for mid-depth of the spherical shell + file cross_section_ctl 'control_mid_depth' +! +!!!!!!!!! Control parameters for euqatorial plane +begin cross_section_ctl + section_file_prefix 'sections/mid_depth' + psf_output_type 'VTK' +! + begin surface_define + section_method sphere +! + array center_position + center_position x 0.0 + center_position y 0.0 + center_position z 0.0 + end array center_position +! + radius 1.0384 +! + array section_area_ctl + section_area_ctl all + end array section_area_ctl + end surface_define +! + begin output_field_define + array output_field + output_field temperature scalar + output_field velocity vector + output_field velocity radial + output_field velocity phi + output_field vorticity z + end array output_field + end output_field_define +end cross_section_ctl diff --git a/examples/dynamo_benchmark/dynamobench_case_0/sections/README b/examples/dynamo_benchmark/dynamobench_case_0/sections/README new file mode 100644 index 00000000..5e597394 --- /dev/null +++ b/examples/dynamo_benchmark/dynamobench_case_0/sections/README @@ -0,0 +1,6 @@ +!----------------------------------------------------------------------- +! Example using dynamo benchmark test Case 0 +! Please see Christensen et.al. (2001) for the model description +!----------------------------------------------------------------------- +! + Time series data files are stored in this directory. diff --git a/examples/dynamo_benchmark/dynamobench_case_1/README b/examples/dynamo_benchmark/dynamobench_case_1/README index 4b352f23..148601c1 100644 --- a/examples/dynamo_benchmark/dynamobench_case_1/README +++ b/examples/dynamo_benchmark/dynamobench_case_1/README @@ -6,26 +6,85 @@ Here is the input files for the dynamo benchmark case 1 using 4 MPI processes. This example consists of the following files and directories -control_MHD: control file for simulation -control_snapshot: control file for data analysis +control_MHD: Control file for simulation +control_snapshot: Control file for data analysis +control_resolution: Control file for spatial resolution and parallelization -sph_lm31r48c_4: Directory for spherical harmonics index table -rst_4: Directory for restart files -field: Directory for field data files +control_mid_depth: Control file for sectioning at mid-depth of the shell +control_CMB: Control file for sectioning at the outer boundary of spherical chell +control_equator: Control file for sectioning at equatorial plane +control_psf_z0.3: Control file for sectioning at z = 0.3 (= 0.56 * r_i) +control_psf_s0.55: Control file for sectioning at a cylinder with s = 0.55 ( = 1.02 * r_i) +control_zonal_mean: Control file for sectioning at mid-depth of the shell +control_iso_temp: Control file for isosurface of temperature -The simulation procedure is the following +sph_lm31r48c_4: Directory for spherical harmonics index table +rst_4: Directory for restart files +field: Directory for field data files +monitor: Directory for time series data files +sections: Directory for cross-section data files +isosurfaces: Directory for isosurface data files -1: Run index generation program as -[dynamobench_case_1]$ [CALYPSO_DIR]/bin/utilities/gen_sph_grids +The parallelization information and initial field is built in the beginning of program. The simulation procedure is the following -2. Generate initial field -[dynamobench_case_1]$ [CALYPSO_DIR]/bin/sph_initial_field - -3. Run simulation program +1. Run simulation program [dynamobench_case_1]$ mpirun -np 4 [CALYPSO_DIR]/bin/sph_mhd -4. To check the required results for dynamo benchmark, run -[dynamobench_case_1]$ mpirun -np 4 [CALYPSO_DIR]/bin/sph_dynamobench +2. To continue the simulation Update the time stepping parameter + "i_step_init_ctl" and "i_step_finish_ctl" in "time_step_ctl" block + to be the new start and end time steps, respectively. + + And, change rst_ctl in control_MHD from + rst_ctl dynamo_benchmark_1 + to + rst_ctl start_from_rst_file + And, start simulation again by procedure 1. + + In the continuous runs, The time series data defined in "sph_monitor_ctl" block will be appended if time series data files are exist. + +3. The following data is written: + field/out.#.vtk.gz: Visualization data for whole domain with gzipped VTK format + rst_4/rst.#.fst.gz: Restart data with gzipped ASCII data merged over MPI processes + sections/equator.#.vtk.gz: Visualization data for equatorial plane with gzipped VTK format + sections/mid_depth.#.vtk: Visualization data for mid-depth of the fluid shell with VTK format + sections/CMB.#.vtk.gz: Visualization data for equatorial plane with gzipped VTK format + sections/cylinder_s055.#.sdt: Visualization data for cylinder at s = 0.55 plane with bindary data format + sections/section_z03.#.sdt.gz: Visualization data for the plane at z = 0.3 with gzipped bindary data format + + monitor/sph_ave_volume.dat: Time series of volume average of fields. + monitor/sph_pwr_volume_s.dat: Time series of mean square of fields. + monitor/sph_pwr_volume_l.dat: Time series of mean square of spectr as a function of degree l + monitor/sph_pwr_volume_m.dat: Time series of mean square of spectr as a function of order m + monitor/sph_pwr_volume_lm.dat: Time series of mean square of spectr as a function of (l-m) + monitor/sph_pwr_volume_m0.dat: Time series of mean square of axisymmetric components + monitor/sph_pwr_layer_s.dat.gz: Gzipped time series of mean square at 8-th and 16-th radial layers. + monitor/sph_pwr_layer_l.dat.gz: Gzipped time series of mean square of spectr at 8-th and 16-th radial layers as a function of degree l + monitor/sph_pwr_layer_m.dat.gz: Gzipped time series of mean square of spectr at 8-th and 16-th radial layers as a function of order m + monitor/sph_pwr_layer_lm.dat.gz: Gzipped time series of mean square of spectr at 8-th and 16-th radial layers as a function of (l-m) + monitor/sph_pwr_layer_m0.dat.gz: Gzipped time series of mean square of axisymmetric components at 8-th and 16-th radial layers + monitor/picked_mode_l1_m0c.dat.gz: Gzipped time series of spherical harmonic coefficients at l=1 and m = 0. + monitor/picked_mode_l2_m0c.dat.gz: Gzipped time series of spherical harmonic coefficients at l=2 and m = 0. + monitor/gauss_coefs.dat: Time series of Gauss coefficients + monitor/dipolarity.dat.gz: Gzipped time series of dipolarities with various truncations + monitor/Nusselt.dat.gz: Gzipped time series of the Nusselt number at the both boundaries. + monitor/dynamobench.dat: Time series of required data for dynamo benchmark -Enjoy!! +4. Required data for the benchmark is written in monitor/dynamobench.dat. +The following data is written in each column. + t_step: Time step + time: Time + KE_total: Average kinetic energy in the shell + ME_total: Average kinetic energy in the shell + v_phi: $\phi$-component of the velocity at the requested point. (Average of the four requested points) + B_theta: $\theta$-component of the magnetic field at the requested point. (Average of the four requested points) + temperature: Temperature at the requested point. (Average of the four requested points) + Average_drift_vr: Drift frequency obtained by the position of the requested points (Average of the four requested points) + omega_vp44: Drift frequency obtained by l = |m| = 4 components of the poloidal velocity at the mid-depth. + omega_vt54: Drift frequency obtained by l = 5 and |m| = 4 components of the toroidal velocity at the mid-depth. +5. Data conversion for cross sections. + Cross section data for the cylinder at s = 0.55 and the plane at z = 0.3 are saved by the (gzipped) bindary format. The program "field_to_VTK" in "bin/utilities" folder can convert these data into VTK format. "field_to_VTK" is a serial program, so it can start by + +[dynamobench_case_1]$ [CALYPSO_DIR]/bin/utilities/field_to_VTK + + diff --git a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_CMB b/examples/dynamo_benchmark/dynamobench_case_1/control_CMB similarity index 96% rename from examples/dynamo_benchmark/dynamobench_case_1/control_psf_CMB rename to examples/dynamo_benchmark/dynamobench_case_1/control_CMB index bbcc495b..6d385bae 100644 --- a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_CMB +++ b/examples/dynamo_benchmark/dynamobench_case_1/control_CMB @@ -4,6 +4,7 @@ ! begin cross_section_ctl section_file_prefix 'sections/CMB' + psf_output_type VTK_gz ! begin surface_define section_method equation diff --git a/examples/dynamo_benchmark/dynamobench_case_1/control_MHD b/examples/dynamo_benchmark/dynamobench_case_1/control_MHD index 5bf5ba8f..57b645cc 100644 --- a/examples/dynamo_benchmark/dynamobench_case_1/control_MHD +++ b/examples/dynamo_benchmark/dynamobench_case_1/control_MHD @@ -266,8 +266,8 @@ begin MHD_control ! !!!!! control for restart data begin restart_file_ctl -! rst_ctl dynamo_benchmark_1 - rst_ctl start_from_rst_file + rst_ctl dynamo_benchmark_1 +! rst_ctl start_from_rst_file end restart_file_ctl ! !!!!!! method for time evolution @@ -285,10 +285,14 @@ begin MHD_control begin sph_monitor_ctl volume_average_prefix 'monitor/sph_ave_volume' volume_pwr_spectr_prefix 'monitor/sph_pwr_volume' - nusselt_number_prefix 'monitor/Nusselt' + volume_pwr_spectr_format 'ASCII' +! + nusselt_number_prefix 'monitor/Nusselt' + nusselt_number_format 'gzip' ! begin layered_spectrum_ctl layered_pwr_spectr_prefix 'monitor/sph_pwr_layer' + layered_pwr_spectr_format 'gzip' ! array spectr_layer_ctl spectr_layer_ctl 1 @@ -299,6 +303,7 @@ begin sph_monitor_ctl ! begin pickup_spectr_ctl picked_sph_prefix 'monitor/picked_mode' + picked_sph_format 'gzip' ! array pick_layer_ctl pick_layer_ctl 8 @@ -319,18 +324,28 @@ begin sph_monitor_ctl pick_gauss_coef_degree_ctl 1 end array pick_gauss_coef_degree_ctl end gauss_coefficient_ctl +! + begin sph_dipolarity_ctl + dipolarity_file_prefix 'monitor/dipolarity' + dipolarity_file_format 'gzip' + + array dipolarity_truncation_ctl + dipolarity_truncation_ctl 13 + end array dipolarity_truncation_ctl + end sph_dipolarity_ctl ! begin dynamo_benchmark_data_ctl dynamo_benchmark_file_prefix 'monitor/dynamobench' - dynamo_benchmark_file_format 'gzip' + dynamo_benchmark_file_format 'ASCII' nphi_mid_eq_ctl 512 end dynamo_benchmark_data_ctl end sph_monitor_ctl ! begin visual_control array cross_section_ctl - file cross_section_ctl control_psf_CMB - file cross_section_ctl control_psf_eq + file cross_section_ctl control_mid_depth + file cross_section_ctl control_CMB + file cross_section_ctl control_equator file cross_section_ctl control_psf_z0.3 file cross_section_ctl control_psf_s0.55 end array cross_section_ctl @@ -340,7 +355,7 @@ begin sph_monitor_ctl end array isosurface_ctl end visual_control ! - begin dynamo vizs control - file zonal mean section ctl control_psf_zm - end dynamo vizs control + begin dynamo_vizs_control + file zonal_mean_section_ctl control_zonal_mean + end dynamo_vizs_control end MHD_control diff --git a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_eq b/examples/dynamo_benchmark/dynamobench_case_1/control_equator similarity index 97% rename from examples/dynamo_benchmark/dynamobench_case_1/control_psf_eq rename to examples/dynamo_benchmark/dynamobench_case_1/control_equator index ac2b1a80..8aa4892a 100644 --- a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_eq +++ b/examples/dynamo_benchmark/dynamobench_case_1/control_equator @@ -3,6 +3,7 @@ ! begin cross_section_ctl section_file_prefix 'sections/equator' + psf_output_type VTK_gz ! begin surface_define section_method equation diff --git a/examples/dynamo_benchmark/dynamobench_case_1/control_iso_temp b/examples/dynamo_benchmark/dynamobench_case_1/control_iso_temp index 1db1a80e..3c22115b 100644 --- a/examples/dynamo_benchmark/dynamobench_case_1/control_iso_temp +++ b/examples/dynamo_benchmark/dynamobench_case_1/control_iso_temp @@ -1,6 +1,7 @@ ! begin isosurface_ctl - isosurface_file_prefix 'Isosurfaces/temp0_7' + isosurface_file_prefix 'isosurfaces/temp0_7' + iso_output_type VTK_gz ! begin isosurf_define isosurf_field temperature diff --git a/examples/dynamo_benchmark/dynamobench_case_1/control_mid_depth b/examples/dynamo_benchmark/dynamobench_case_1/control_mid_depth new file mode 100644 index 00000000..5a714805 --- /dev/null +++ b/examples/dynamo_benchmark/dynamobench_case_1/control_mid_depth @@ -0,0 +1,33 @@ +!!!!!!!!! Control parameters for mid-depth of the spherical shell + file cross_section_ctl 'control_mid_depth' +! +!!!!!!!!! Control parameters for euqatorial plane +begin cross_section_ctl + section_file_prefix 'sections/mid_depth' + psf_output_type 'VTK' +! + begin surface_define + section_method sphere +! + array center_position + center_position x 0.0 + center_position y 0.0 + center_position z 0.0 + end array center_position +! + radius 1.0384 +! + array section_area_ctl + section_area_ctl all + end array section_area_ctl + end surface_define +! + begin output_field_define + array output_field + output_field temperature scalar + output_field velocity sphrical_vector + output_field vorticity z + output_field magnetic_field sphrical_vector + end array output_field + end output_field_define +end cross_section_ctl diff --git a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_s0.55 b/examples/dynamo_benchmark/dynamobench_case_1/control_psf_s0.55 index e91ff031..61c9fd13 100644 --- a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_s0.55 +++ b/examples/dynamo_benchmark/dynamobench_case_1/control_psf_s0.55 @@ -4,6 +4,7 @@ ! begin cross_section_ctl section_file_prefix 'sections/cylinder_s055' + psf_output_type psf ! begin surface_define section_method equation diff --git a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_z0.3 b/examples/dynamo_benchmark/dynamobench_case_1/control_psf_z0.3 index fc5523cc..4c10d23f 100644 --- a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_z0.3 +++ b/examples/dynamo_benchmark/dynamobench_case_1/control_psf_z0.3 @@ -4,6 +4,7 @@ ! begin cross_section_ctl section_file_prefix 'sections/section_z03' + psf_output_type psf_gz ! begin surface_define section_method equation diff --git a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_zm b/examples/dynamo_benchmark/dynamobench_case_1/control_zonal_mean similarity index 97% rename from examples/dynamo_benchmark/dynamobench_case_1/control_psf_zm rename to examples/dynamo_benchmark/dynamobench_case_1/control_zonal_mean index b1c04822..8b73b527 100644 --- a/examples/dynamo_benchmark/dynamobench_case_1/control_psf_zm +++ b/examples/dynamo_benchmark/dynamobench_case_1/control_zonal_mean @@ -3,6 +3,7 @@ ! begin cross_section_ctl section_file_prefix 'sections/zonal_mean' + psf_output_type VTK_gz ! begin surface_define section_method plane diff --git a/examples/dynamo_benchmark/dynamobench_case_1/Isosurfaces/README b/examples/dynamo_benchmark/dynamobench_case_1/isosurfaces/README similarity index 100% rename from examples/dynamo_benchmark/dynamobench_case_1/Isosurfaces/README rename to examples/dynamo_benchmark/dynamobench_case_1/isosurfaces/README