Skip to content
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
7 changes: 7 additions & 0 deletions src/common/m_mpi_common.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,14 @@ contains
v_size = nVar + 2*nb*nnode
buffer_counts = (/buff_size*v_size*(n + 1)*(p + 1), buff_size*v_size*(m + 2*buff_size + 1)*(p + 1), &
& buff_size*v_size*(m + 2*buff_size + 1)*(n + 2*buff_size + 1)/)
#ifdef MFC_SIMULATION
else if (present(q_T_sf) .and. chemistry .and. chem_params%diffusion) then
#else
else if (present(q_T_sf) .and. chemistry) then
! post_process converts cons->prim over the ghost-inclusive bounds, so the temperature
! Newton guess must be valid at rank seams for EVERY chemistry run (not only diffusion):
! an unexchanged seam ghost is an uninitialized guess -> NaN T/pres/c in the output
#endif
chem_diff_comm = .true.
v_size = nVar + 1
buffer_counts = (/buff_size*v_size*(n + 1)*(p + 1), buff_size*v_size*(m + 2*buff_size + 1)*(p + 1), &
Expand Down
6 changes: 5 additions & 1 deletion src/post_process/m_start_up.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,11 @@ contains

call s_read_data_files(t_step)

if (chemistry) call s_compute_q_T_sf(q_T_sf, q_cons_vf, idwbuff)
! seed the chemistry temperature over the INTERIOR only (mirrors the simulation,
! m_start_up): the ghost q_cons is unread at this point, so a ghost-inclusive sweep
! would Newton-iterate on garbage (NaN under NaN-init builds) at rank seams and
! physical boundaries; s_populate_variables_buffers below extends q_T into the ghosts
if (chemistry) call s_compute_q_T_sf(q_T_sf, q_cons_vf, idwint)

if (buff_size > 0) then
call s_populate_grid_variables_buffers()
Expand Down
Loading