Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breuer 2010 case0 bench #467

Merged
merged 6 commits into from
Jun 15, 2023
Merged
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
31 changes: 30 additions & 1 deletion doc/source/User_Guide/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,8 @@ in the directory: Rayleigh/input_examples/
+-----------------------+-----------------+--------------------------------+--------------------------------+
| Jones et al. 2011 | Steady MHD | j2011_steady_MHD_minimal | benchmark_mode = 4 |
+-----------------------+-----------------+--------------------------------+--------------------------------+
| Breuer et al. 2010 | Case 0 | b2010_case0_*T_input | |
+-----------------------+-----------------+--------------------------------+--------------------------------+

Standard benchmarks that generate minimal output files are discussed in the next four
benchmarks:
Expand All @@ -573,7 +575,7 @@ benchmarks:
* :ref:`cookbookCase1Minimal`
* :ref:`cookbookHydroAnelastic`
* :ref:`cookbookMhdAnelastic`

* :ref:`cookbookDDCBreuer`
.. _cookbookCase0Minimal:

Boussinesq non-MHD Benchmark: c2001_case0_minimal
Expand Down Expand Up @@ -698,3 +700,30 @@ differing from the Jones et al. (2011) anelastic hydro benchmark
quicksave_interval = 25000
num_quicksaves = 2
/

.. _cookbookDDCBreuer:

Steady Thermal-Chemical Boussinesq Convection Benchmark: b2010_case0_*T_input
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is a Boussinesq convection benchmark described in Breuer et al. (2010) :cite:`Breuer2010`
in a dual buoyancy system that allows both thermal and chemical buoyancy sources.
The case 0 contains three input lists that describes varying contributions of
thermal vs chemical Rayleigh numbers whereas the total Rayleigh number stays the same.
This benchmark is specified for Rayleigh with input file b2010_case0_*T_input.
Below is an example for 80% thermal and 20% chemical convection scene for the
relevant Fortran namelists:

::

&problemsize_namelist
n_r = 128
n_theta = 192
nprow = 32
npcol = 16
&Reference_Namelist
Ekman_Number = 1.0d-3
Rayleigh_Number = 4.8d4
Prandtl_Number = 3.0d-1
chi_a_Rayleigh_Number = -1.2d5
chi_a_Prandtl_Number = 3.0d0
12 changes: 12 additions & 0 deletions doc/source/User_Guide/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,15 @@ @article{JONES2011120
keywords = "Magnetic fields, Jovian planets, Interiors",
abstract = "Benchmark solutions for fully nonlinear anelastic compressible convection and dynamo action in a rotating spherical shell are proposed. Three benchmarks are specified. The first is a purely hydrodynamic case, which is steady in a uniformly drifting frame. The second is a self-excited saturated dynamo solution, also steady in a drifting frame. The third is again a self-excited dynamo but is unsteady in time, and it has a higher Rayleigh number than the steady dynamo benchmark. Four independent codes have been tested against these benchmarks, and very satisfactory agreement has been found. This provides an accurate reference standard against which new anelastic codes can be tested."
}

@article{Breuer2010,
title = "Thermochemically driven convection in a rotating spherical shell",
journal = "Geophysical Journal International",
volume = "183",
pages = "150-162",
year = "2010",
doi = "http://doi.org/10.1111/j.1365-246X.2010.04722.x",
url = "https://academic.oup.com/gji/article/183/1/150/592285",
author = "M. Breuer and A. Manglik and J. Wicht and T. Trumper and H. Harder and U. Hansen1",
keywords = "Numerical solutions, Dynamo: theories and simulations, Planetary interiors",
}
91 changes: 91 additions & 0 deletions input_examples/b2010_case0_0T_input
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
! The Breuer_2010 Benchmark for thermal-chemical buoyancy systems.
&problemsize_namelist
n_r = 48
n_theta = 96
nprow = 8
npcol = 12
aspect_ratio = 0.35d0
shell_depth = 1.0d0
/
&numerical_controls_namelist
/
&physical_controls_namelist
benchmark_mode = 0
rotation = .True.
magnetism = .false.
viscous_heating = .false.
ohmic_heating = .false.
n_active_scalars = 1
/
&temporal_controls_namelist
max_time_step = 7.5e-5
max_iterations = 100000
checkpoint_interval = 10000
cflmin = 0.4d0
cflmax = 0.6d0
/
&io_controls_namelist
/
&output_namelist


globalavg_values = 401,405,409
globalavg_frequency = 1000
globalavg_nrec = 10


shellavg_values = 401,405,409,501,507,10001,10002
shellavg_frequency = 1000
shellavg_nrec = 10

equatorial_values = 1,501,10001
equatorial_frequency = 1000
equatorial_nrec = 10

shellslice_levels_nrm = 0.675
shellslice_values = 1
shellslice_frequency = 1000
shellslice_nrec = 10


azavg_values = 1,2,3,201,202,501
azavg_frequency = 1000
azavg_nrec = 10


/
&Boundary_Conditions_Namelist
no_slip_boundaries = .true.
strict_L_Conservation = .false.
T_Top = 0.0d0
T_Bottom = 1.0d0
fix_tvar_top = .true.
fix_tvar_bottom = .true.
chi_a_Top = 0.0d0
chi_a_Bottom = 1.0d0
fix_chivar_a_top = .true.
fix_chivar_a_bottom = .true.
/
&Initial_Conditions_Namelist
init_type = 8
!restart_iter = 0
t_init_file = 'b2010_case0_initcond'
chi_a_init_file = 'b2010_case0_initcond'
/
&Test_Namelist
/
&Reference_Namelist

Ekman_Number = 1.0d-3
Rayleigh_Number = 0.0d0
Prandtl_Number = 3.0d-1
chi_a_Rayleigh_Number = -6.0d5
chi_a_Prandtl_Number = 3.0d0

Magnetic_Prandtl_Number = 5.0d0
reference_type = 1
heating_type = 0
gravity_power = 1.0d0
/
&Transport_Namelist
/
91 changes: 91 additions & 0 deletions input_examples/b2010_case0_100T_input
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
! The Breuer_2010 Benchmark for thermal-chemical buoyancy systems.
&problemsize_namelist
n_r = 48
n_theta = 96
nprow = 8
npcol = 12
aspect_ratio = 0.35d0
shell_depth = 1.0d0
/
&numerical_controls_namelist
/
&physical_controls_namelist
benchmark_mode = 0
rotation = .True.
magnetism = .false.
viscous_heating = .false.
ohmic_heating = .false.
n_active_scalars = 0
/
&temporal_controls_namelist
max_time_step = 7.5e-5
max_iterations = 100000
checkpoint_interval = 10000
cflmin = 0.4d0
cflmax = 0.6d0
/
&io_controls_namelist
/
&output_namelist


globalavg_values = 401,405,409
globalavg_frequency = 1000
globalavg_nrec = 10


shellavg_values = 401,405,409,501,507,10001,10002
shellavg_frequency = 1000
shellavg_nrec = 10

equatorial_values = 1,501,10001
equatorial_frequency = 1000
equatorial_nrec = 10

shellslice_levels_nrm = 0.675
shellslice_values = 1
shellslice_frequency = 1000
shellslice_nrec = 10


azavg_values = 1,2,3,201,202,501
azavg_frequency = 1000
azavg_nrec = 10


/
&Boundary_Conditions_Namelist
no_slip_boundaries = .true.
strict_L_Conservation = .false.
T_Top = 0.0d0
T_Bottom = 1.0d0
fix_tvar_top = .true.
fix_tvar_bottom = .true.
chi_a_Top = 0.0d0
chi_a_Bottom = 1.0d0
fix_chivar_a_top = .true.
fix_chivar_a_bottom = .true.
/
&Initial_Conditions_Namelist
init_type = 8
!restart_iter = 0
t_init_file = 'b2010_case0_initcond'
chi_a_init_file = 'b2010_case0_initcond'
/
&Test_Namelist
/
&Reference_Namelist

Ekman_Number = 1.0d-3
Rayleigh_Number = 6.0d4
Prandtl_Number = 3.0d-1
chi_a_Rayleigh_Number = -0.0d5
chi_a_Prandtl_Number = 3.0d0

Magnetic_Prandtl_Number = 5.0d0
reference_type = 1
heating_type = 0
gravity_power = 1.0d0
/
&Transport_Namelist
/
91 changes: 91 additions & 0 deletions input_examples/b2010_case0_80T_input
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
! The Breuer_2010 Benchmark for thermal-chemical buoyancy systems.
&problemsize_namelist
n_r = 48
n_theta = 96
nprow = 8
npcol = 12
aspect_ratio = 0.35d0
shell_depth = 1.0d0
/
&numerical_controls_namelist
/
&physical_controls_namelist
benchmark_mode = 0
rotation = .True.
magnetism = .false.
viscous_heating = .false.
ohmic_heating = .false.
n_active_scalars = 1
/
&temporal_controls_namelist
max_time_step = 7.5e-5
max_iterations = 100000
checkpoint_interval = 10000
cflmin = 0.4d0
cflmax = 0.6d0
/
&io_controls_namelist
/
&output_namelist


globalavg_values = 401,405,409
globalavg_frequency = 1000
globalavg_nrec = 10


shellavg_values = 401,405,409,501,507,10001,10002
shellavg_frequency = 1000
shellavg_nrec = 10

equatorial_values = 1,501,10001
equatorial_frequency = 1000
equatorial_nrec = 10

shellslice_levels_nrm = 0.675
shellslice_values = 1
shellslice_frequency = 1000
shellslice_nrec = 10


azavg_values = 1,2,3,201,202,501
azavg_frequency = 1000
azavg_nrec = 10


/
&Boundary_Conditions_Namelist
no_slip_boundaries = .true.
strict_L_Conservation = .false.
T_Top = 0.0d0
T_Bottom = 1.0d0
fix_tvar_top = .true.
fix_tvar_bottom = .true.
chi_a_Top = 0.0d0
chi_a_Bottom = 1.0d0
fix_chivar_a_top = .true.
fix_chivar_a_bottom = .true.
/
&Initial_Conditions_Namelist
init_type = 8
!restart_iter = 0
t_init_file = 'b2010_case0_initcond'
chi_a_init_file = 'b2010_case0_initcond'
/
&Test_Namelist
/
&Reference_Namelist

Ekman_Number = 1.0d-3
Rayleigh_Number = 4.8d4
Prandtl_Number = 3.0d-1
chi_a_Rayleigh_Number = -1.2d5
chi_a_Prandtl_Number = 3.0d0

Magnetic_Prandtl_Number = 5.0d0
reference_type = 1
heating_type = 0
gravity_power = 1.0d0
/
&Transport_Namelist
/
Binary file added input_examples/b2010_case0_InitCond
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have two identical files b2010_case0_InitCond and b2010_case0_initcond. You probably only wanted to add one of them?

Binary file not shown.