316# 31 "/home/runner/work/MFC/MFC/src/common/m_helper_basic.fpp"
318# 31 "/home/runner/work/MFC/MFC/src/common/m_helper_basic.fpp"
320# 31 "/home/runner/work/MFC/MFC/src/common/m_helper_basic.fpp"
322# 31 "/home/runner/work/MFC/MFC/src/common/m_helper_basic.fpp"
324# 31 "/home/runner/work/MFC/MFC/src/common/m_helper_basic.fpp"
326# 31 "/home/runner/work/MFC/MFC/src/common/m_helper_basic.fpp"
328# 31 "/home/runner/work/MFC/MFC/src/common/m_helper_basic.fpp"
330 real(wp),
intent(in) :: a, b
331 real(wp),
optional,
intent(in) :: tol_input
334 if (
present(tol_input))
then
342 else if (a == 0._wp .or. b == 0._wp .or. (abs(a) + abs(b) < tiny(a)))
then
343 res = (abs(a - b) < (tol*tiny(a)))
345 res = (abs(a - b)/min(abs(a) + abs(b), huge(a)) < tol)
456 igr_order, buff_size, idwint, idwbuff, &
457 viscous, bubbles_lagrange, m, n, p, num_dims, igr, ib)
459 integer,
intent(in) :: recon_type, weno_polyn, muscl_polyn
460 integer,
intent(in) :: m, n, p, num_dims, igr_order
461 integer,
intent(inout) :: buff_size
462 type(int_bounds_info),
dimension(3),
intent(inout) :: idwint, idwbuff
463 logical,
intent(in) :: viscous, bubbles_lagrange
464 logical,
intent(in) :: igr
465 logical,
intent(in) :: ib
472 buff_size = (igr_order - 1)/2 + 2
473 elseif (recon_type == weno_type)
then
475 buff_size = 2*weno_polyn + 2
477 buff_size = weno_polyn + 2
479 elseif (recon_type == muscl_type)
then
480 buff_size = muscl_polyn + 2
484 if (bubbles_lagrange)
then
485 buff_size = max(buff_size, 6)
489 buff_size = max(buff_size, 10)
493 idwint(1)%beg = 0; idwint(2)%beg = 0; idwint(3)%beg = 0
494 idwint(1)%end = m; idwint(2)%end = n; idwint(3)%end = p
496 idwbuff(1)%beg = -buff_size
497 if (num_dims > 1) then; idwbuff(2)%beg = -buff_size; else; idwbuff(2)%beg = 0;
end if
498 if (num_dims > 2) then; idwbuff(3)%beg = -buff_size; else; idwbuff(3)%beg = 0;
end if
500 idwbuff(1)%end = idwint(1)%end - idwbuff(1)%beg
501 idwbuff(2)%end = idwint(2)%end - idwbuff(2)%beg
502 idwbuff(3)%end = idwint(3)%end - idwbuff(3)%beg
512 type(cell_num_bounds),
intent(out) :: bounds
513 integer,
intent(in) :: m, n, p
515 bounds%mn_max = max(m, n)
516 bounds%np_max = max(n, p)
517 bounds%mp_max = max(m, p)
518 bounds%mnp_max = max(m, n, p)
519 bounds%mn_min = min(m, n)
520 bounds%np_min = min(n, p)
521 bounds%mp_min = min(m, p)
522 bounds%mnp_min = min(m, n, p)
subroutine, public s_configure_coordinate_bounds(recon_type, weno_polyn, muscl_polyn, igr_order, buff_size, idwint, idwbuff, viscous, bubbles_lagrange, m, n, p, num_dims, igr, ib)