Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 44 additions & 13 deletions examples/dynamo_benchmark/dynamobench_case_0/README
Original file line number Diff line number Diff line change
Expand Up @@ -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.


19 changes: 15 additions & 4 deletions examples/dynamo_benchmark/dynamobench_case_0/control_MHD
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
34 changes: 34 additions & 0 deletions examples/dynamo_benchmark/dynamobench_case_0/control_mid_depth
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions examples/dynamo_benchmark/dynamobench_case_0/sections/README
Original file line number Diff line number Diff line change
@@ -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.
89 changes: 74 additions & 15 deletions examples/dynamo_benchmark/dynamobench_case_1/README
Original file line number Diff line number Diff line change
Expand Up @@ -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


Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
!
begin cross_section_ctl
section_file_prefix 'sections/CMB'
psf_output_type VTK_gz
!
begin surface_define
section_method equation
Expand Down
33 changes: 24 additions & 9 deletions examples/dynamo_benchmark/dynamobench_case_1/control_MHD
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
!
begin cross_section_ctl
section_file_prefix 'sections/equator'
psf_output_type VTK_gz
!
begin surface_define
section_method equation
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down
33 changes: 33 additions & 0 deletions examples/dynamo_benchmark/dynamobench_case_1/control_mid_depth
Original file line number Diff line number Diff line change
@@ -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
Loading
Loading