Skip to content

rotation and RTI do not respect no_mix from mlt. #885

@Debraheem

Description

@Debraheem

Tagging people for a second opinion.

I have noticied: when mlt sets a zone to radiative, the diffusive mixing coefficient from mlt is set to 0, which prevents mixing. This is fine, but it is not clear how this should behave with rotation. Should the rotational mixing coefficient also be set to 0?

This can be problematic when controls like max_abs_du_div_cs_for_convection are used to limit convection over shocks. While convection across the shock is prohibited, rotation and potentially RTI can still mix zones across the shock interface, which can result in all sorts of issues.

see:

subroutine set_no_mixing(str)
character (len=*) :: str
include 'formats'
s% mlt_mixing_type(k) = no_mixing
s% grada_face_ad(k) = grada_face_ad
s% grada_face(k) = grada_face_ad%val
gradT_ad = gradr_ad
s% gradT_ad(k) = gradT_ad
s% gradT(k) = s% gradT_ad(k)%val
Y_face_ad = gradT_ad - grada_face_ad
s% Y_face_ad(k) = Y_face_ad
s% Y_face(k) = s% Y_face_ad(k)%val
s% mlt_vc_ad(k) = 0d0
if (s% okay_to_set_mlt_vc) s% mlt_vc(k) = 0d0
s% mlt_D_ad(k) = 0d0
s% mlt_D(k) = 0d0
s% mlt_cdc(k) = 0d0
s% mlt_Gamma_ad(k) = 0d0
s% mlt_Gamma(k) = 0d0
s% gradr_ad(k) = gradr_ad
s% gradr(k) = s% gradr_ad(k)%val
s% gradL_ad(k) = 0d0
s% gradL(k) = 0d0
s% scale_height_ad(k) = scale_height_ad
s% scale_height(k) = scale_height_ad%val
s% Lambda_ad(k) = mixing_length_alpha*scale_height_ad
s% mlt_mixing_length(k) = s% Lambda_ad(k)%val
s% L_conv(k) = 0d0
end subroutine set_no_mixing

What does this affect? : Mainly rotating ppisn or cc models or really any model that is rotating and also has a shock interface.

What is the solution? : We need some check in mix_info.f90 that sets the diffusion coefficient to 0 when max_abs_du_div_cs_for_convection.

Perhaps somewhere inside

subroutine set_mixing_info(s, skip_set_cz_bdy_mass, ierr)

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions