Skip to content
Draft
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
12 changes: 12 additions & 0 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,18 @@ Additional controls are available for TDC envelope remeshing:
- ``TDC_hydro_nz_inner`` adds geometrically spaced zones near the inner boundary.
- ``TDC_hydro_nz_T_gradient`` adds zones according to the variation in ``logT`` below ``TDC_hydro_T_anchor`` while retaining the mass-based mesh.

Metric zoning for split/merge AMR now uses ``split_merge_amr_MaxLong`` both
to split an existing oversized cell and to reject a proposed merge whose
summed metric would exceed the same limit. This removes the redundant metric
merge-guard control and keeps the prospective merge and subsequent split
criteria consistent.

The optional pressure-child reconstruction for cell-centered split/merge AMR
now includes MLT turbulent pressure in its bounded pressure target. The
conservative energy transfer continues to modify only the EOS pressure; the
turbulent contribution is evaluated from its remapped face state. Split/merge
AMR does not currently support RSP2.

.. _Bug Fixes main:

Bug Fixes
Expand Down
11 changes: 8 additions & 3 deletions star/defaults/controls.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -6018,6 +6018,7 @@
! ~~~~~~~~~~~~~

! Limit on difference in lnR across cell for mesh refinement.
! Applies to standard and split/merge AMR mesh refinement.
! Do not make this smaller than about 1d-14 or will fail with numerical problems.

! ::
Expand All @@ -6028,7 +6029,8 @@
! merge_if_dlnR_too_small
! ~~~~~~~~~~~~~~~~~~~~~~~

! If true, mesh adjustment will force merge if difference in lnR across cell is too small.
! If true, standard and split/merge AMR mesh adjustment will force merge
! if difference in lnR across cell is too small.

! ::

Expand Down Expand Up @@ -6094,7 +6096,8 @@
! min_surface_cell_dq
! ~~~~~~~~~~~~~~~~~~~

! Largest allowed dq at surface.
! Largest and smallest allowed dq at the surface.
! ``min_surface_cell_dq`` also applies to split/merge AMR.

! ::

Expand Down Expand Up @@ -6723,7 +6726,9 @@
! ~~~~~~~~~~~~~~~~~~~~~~~~

! split cell if ratio of actual/desired size is > split_merge_amr_MaxLong; ignore if <= 0
! merge cell if ratio of desired/actual size is < split_merge_amr_MaxShort; ignore if <= 0
! for metric zoning, also reject a proposed merge if the summed metric of
! the resulting cell exceeds split_merge_amr_MaxLong times the target size.
! merge cell if ratio of desired/actual size is > split_merge_amr_MaxShort; ignore if <= 0
! be careful to avoid inconsistent limits such as when a required split triggers a required merge.
! to be safe, make sure product of limits > 2.

Expand Down
72 changes: 72 additions & 0 deletions star/defaults/controls_dev.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -283,3 +283,75 @@
! ::

use_hydro_merge_limits_in_mesh_plan = .false.


! split_merge_amr_use_metric_zoning_for_u_flag
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

! If true, and ``use_split_merge_amr`` and ``u_flag`` are true, use the
! weighted split/merge metric controls below instead of the standard
! single-coordinate split/merge zoning controls. This is ignored for
! ``v_flag``.

! ::

split_merge_amr_use_metric_zoning_for_u_flag = .false.


! split_merge_amr_metric_logR_weight
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

! Weight for the normalized log radius contribution in the ``u_flag``
! split/merge metric.

! ::

split_merge_amr_metric_logR_weight = 1d0


! split_merge_amr_metric_logtau_weight
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

! Weight for the normalized log optical-depth contribution in the
! ``u_flag`` split/merge metric.

! ::

split_merge_amr_metric_logtau_weight = 1d0


! split_merge_amr_metric_min_delta_lnR
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

! Floor for the log radius normalization range in the ``u_flag``
! split/merge metric.

! ::

split_merge_amr_metric_min_delta_lnR = 1d-9


! split_merge_amr_metric_min_delta_lntau
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

! Floor for the log optical-depth normalization range in the ``u_flag``
! split/merge metric.

! ::

split_merge_amr_metric_min_delta_lntau = 1d-9


! split_merge_amr_reconstruct_pressure_for_u_flag
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

! If true, redistribute internal energy between the children of an
! ``u_flag`` split to preserve the limited pre-split pressure gradient.
! The correction preserves total child internal energy and falls back to
! the standard conservative split when no bounded EOS solution exists.
! The pressure target includes MLT turbulent pressure. Split/merge AMR
! does not currently support RSP2.

! ::

split_merge_amr_reconstruct_pressure_for_u_flag = .false.
Loading
Loading