328 integer,
intent(in) :: nBubs
329 real(wp),
dimension(1:lag_params%nBubs_glb,1:3,1:2),
intent(in) :: lbk_s, lbk_pos
330 real(wp),
dimension(1:lag_params%nBubs_glb,1:2),
intent(in) :: lbk_rad, lbk_vel
331 type(scalar_field),
dimension(:),
intent(inout) :: updatedvar
333 smoothfunc:
select case(lag_params%smooth_type)
335 call s_gaussian(nbubs, lbk_rad, lbk_vel, lbk_s, lbk_pos, updatedvar)
337 call s_deltafunc(nbubs, lbk_rad, lbk_vel, lbk_s, updatedvar)
338 end select smoothfunc
343 subroutine s_deltafunc(nBubs, lbk_rad, lbk_vel, lbk_s, updatedvar)
345 integer,
intent(in) :: nBubs
346 real(wp),
dimension(1:lag_params%nBubs_glb,1:3,1:2),
intent(in) :: lbk_s
347 real(wp),
dimension(1:lag_params%nBubs_glb,1:2),
intent(in) :: lbk_rad, lbk_vel
348 type(scalar_field),
dimension(:),
intent(inout) :: updatedvar
349 integer,
dimension(3) :: cell
350 real(wp) :: strength_vel, strength_vol
351 real(wp) :: addFun1, addFun2, addFun3
352 real(wp) :: volpart, Vol
353 real(wp),
dimension(3) :: s_coord
357# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
359# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
360#if defined(MFC_OpenACC)
361# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
363# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
364#elif defined(MFC_OpenMP)
365# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
367# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
369# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
371# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
373# 47 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
376 volpart = 4._wp/3._wp*pi*lbk_rad(l, 2)**3._wp
377 s_coord(1:3) = lbk_s(l,1:3,2)
380 strength_vol = volpart
381 strength_vel = 4._wp*pi*lbk_rad(l, 2)**2._wp*lbk_vel(l, 2)
383 if (num_dims == 2)
then
384 vol = dx(cell(1))*dy(cell(2))*lag_params%charwidth
385 if (cyl_coord) vol = dx(cell(1))*dy(cell(2))*y_cc(cell(2))*2._wp*pi
387 vol = dx(cell(1))*dy(cell(2))*dz(cell(3))
391 addfun1 = strength_vol/vol
393# 65 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
394#if defined(MFC_OpenACC)
395# 65 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
397# 65 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
398#elif defined(MFC_OpenMP)
399# 65 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
401# 65 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
403 updatedvar(1)%sf(cell(1), cell(2), cell(3)) = updatedvar(1)%sf(cell(1), cell(2), cell(3)) + real(addfun1, kind=stp)
406 addfun2 = strength_vel/vol
408# 70 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
409#if defined(MFC_OpenACC)
410# 70 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
412# 70 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
413#elif defined(MFC_OpenMP)
414# 70 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
416# 70 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
418 updatedvar(2)%sf(cell(1), cell(2), cell(3)) = updatedvar(2)%sf(cell(1), cell(2), cell(3)) + real(addfun2, kind=stp)
421 if (lag_params%cluster_type >= 4)
then
422 addfun3 = (strength_vol*strength_vel)/vol
424# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
425#if defined(MFC_OpenACC)
426# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
428# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
429#elif defined(MFC_OpenMP)
430# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
432# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
434 updatedvar(5)%sf(cell(1), cell(2), cell(3)) = updatedvar(5)%sf(cell(1), cell(2), cell(3)) + real(addfun3, kind=stp)
438# 80 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
439#if defined(MFC_OpenACC)
440# 80 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
442# 80 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
443#elif defined(MFC_OpenMP)
444# 80 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
446# 80 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
448# 80 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
454 subroutine s_gaussian(nBubs, lbk_rad, lbk_vel, lbk_s, lbk_pos, updatedvar)
456 integer,
intent(in) :: nBubs
457 real(wp),
dimension(1:lag_params%nBubs_glb,1:3,1:2),
intent(in) :: lbk_s, lbk_pos
458 real(wp),
dimension(1:lag_params%nBubs_glb,1:2),
intent(in) :: lbk_rad, lbk_vel
459 type(scalar_field),
dimension(:),
intent(inout) :: updatedvar
460 real(wp),
dimension(3) :: center
461 integer,
dimension(3) :: cell
463 real(wp) :: strength_vel, strength_vol
464 real(wp),
dimension(3) :: nodecoord
465 real(wp) :: addFun1, addFun2, addFun3
466 real(wp) :: func, func2, volpart
467 integer,
dimension(3) :: cellaux
468 real(wp),
dimension(3) :: s_coord
469 integer :: l, i, j, k
470 logical :: celloutside
471 integer :: smearGrid, smearGridz
473 smeargrid = mapcells - (-mapcells) + 1
474 smeargridz = smeargrid
475 if (p == 0) smeargridz = 1
478# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
480# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
481#if defined(MFC_OpenACC)
482# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
484# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
485#elif defined(MFC_OpenMP)
486# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
488# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
490# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
492# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
494# 108 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
499 volpart = 4._wp/3._wp*pi*lbk_rad(l, 2)**3._wp
500 s_coord(1:3) = lbk_s(l,1:3,2)
501 center(1:2) = lbk_pos(l,1:2,2)
502 if (p > 0) center(3) = lbk_pos(l, 3, 2)
506 strength_vol = volpart
507 strength_vel = 4._wp*pi*lbk_rad(l, 2)**2._wp*lbk_vel(l, 2)
510# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
511#if defined(MFC_OpenACC)
512# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
514# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
515#elif defined(MFC_OpenMP)
516# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
518# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
523 cellaux(1) = cell(1) + i - (mapcells + 1)
524 cellaux(2) = cell(2) + j - (mapcells + 1)
525 cellaux(3) = cell(3) + k - (mapcells + 1)
526 if (p == 0) cellaux(3) = 0
532 if (.not. celloutside)
then
533 nodecoord(1) = x_cc(cellaux(1))
534 nodecoord(2) = y_cc(cellaux(2))
535 if (p > 0) nodecoord(3) = z_cc(cellaux(3))
537 if (lag_params%cluster_type >= 4)
call s_applygaussian(center, cellaux, nodecoord, stddsv, 1._wp, func2)
540 if (any((/bc_x%beg, bc_x%end, bc_y%beg, bc_y%end, bc_z%beg, bc_z%end/) == bc_reflective))
then
549 if (p == 0) cellaux(3) = 0
553 addfun1 = func*strength_vol
555# 157 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
556#if defined(MFC_OpenACC)
557# 157 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
559# 157 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
560#elif defined(MFC_OpenMP)
561# 157 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
563# 157 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
565 updatedvar(1)%sf(cellaux(1), cellaux(2), cellaux(3)) = updatedvar(1)%sf(cellaux(1), cellaux(2), &
566 & cellaux(3)) + real(addfun1, kind=stp)
569 addfun2 = func*strength_vel
571# 163 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
572#if defined(MFC_OpenACC)
573# 163 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
575# 163 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
576#elif defined(MFC_OpenMP)
577# 163 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
579# 163 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
581 updatedvar(2)%sf(cellaux(1), cellaux(2), cellaux(3)) = updatedvar(2)%sf(cellaux(1), cellaux(2), &
582 & cellaux(3)) + real(addfun2, kind=stp)
585 if (lag_params%cluster_type >= 4)
then
586 addfun3 = func2*strength_vol*strength_vel
588# 170 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
589#if defined(MFC_OpenACC)
590# 170 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
592# 170 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
593#elif defined(MFC_OpenMP)
594# 170 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
596# 170 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
598 updatedvar(5)%sf(cellaux(1), cellaux(2), cellaux(3)) = updatedvar(5)%sf(cellaux(1), cellaux(2), &
599 & cellaux(3)) + real(addfun3, kind=stp)
606# 178 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
607#if defined(MFC_OpenACC)
608# 178 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
610# 178 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
611#elif defined(MFC_OpenMP)
612# 178 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
614# 178 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
616# 178 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
625# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
627# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
629# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
631# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
633# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
635# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
637# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
639# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
641# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
643# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
645# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
647# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
649# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
651# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
653# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
655# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
657# 185 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
660 real(wp),
dimension(3),
intent(in) :: center
661 integer,
dimension(3),
intent(in) :: cellaux
662 real(wp),
dimension(3),
intent(in) :: nodecoord
663 real(wp),
intent(in) :: stddsv
664 real(wp),
intent(in) :: strength_idx
665 real(wp),
intent(out) :: func
667 real(wp) :: theta, dtheta, L2, dzp, Lz2
668 real(wp) :: Nr, Nr_count
670 distance = sqrt((center(1) - nodecoord(1))**2._wp + (center(2) - nodecoord(2))**2._wp + (center(3) - nodecoord(3))**2._wp)
672 if (num_dims == 3)
then
674 func = exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv)**3._wp
680 nr = ceiling(2._wp*pi*nodecoord(2)/(y_cb(cellaux(2)) - y_cb(cellaux(2) - 1)))
682 l2 = center(2)**2._wp + nodecoord(2)**2._wp - 2._wp*center(2)*nodecoord(2)*cos(theta)
683 distance = sqrt((center(1) - nodecoord(1))**2._wp + l2)
685 func = dtheta/2._wp/pi*exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv)**3._wp
687 do while (nr_count < nr - 1._wp)
688 nr_count = nr_count + 1._wp
689 theta = nr_count*dtheta
691 l2 = center(2)**2._wp + nodecoord(2)**2._wp - 2._wp*center(2)*nodecoord(2)*cos(theta)
692 distance = sqrt((center(1) - nodecoord(1))**2._wp + l2)
694 func = func + dtheta/2._wp/pi*exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv) &
695 & **(3._wp*(strength_idx + 1._wp))
701 nr = ceiling(lag_params%charwidth/(y_cb(cellaux(2)) - y_cb(cellaux(2) - 1)))
702 nr_count = 1._wp - mapcells*1._wp
703 dzp = y_cb(cellaux(2) + 1) - y_cb(cellaux(2))
704 lz2 = (center(3) - (dzp*(0.5_wp + nr_count) - lag_params%charwidth/2._wp))**2._wp
705 distance = sqrt((center(1) - nodecoord(1))**2._wp + (center(2) - nodecoord(2))**2._wp + lz2)
706 func = dzp/lag_params%charwidth*exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv)**3._wp
707 do while (nr_count < nr - 1._wp + ((mapcells - 1)*1._wp))
708 nr_count = nr_count + 1._wp
709 lz2 = (center(3) - (dzp*(0.5_wp + nr_count) - lag_params%charwidth/2._wp))**2._wp
710 distance = sqrt((center(1) - nodecoord(1))**2._wp + (center(2) - nodecoord(2))**2._wp + lz2)
711 func = func + dzp/lag_params%charwidth*exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv) &
712 & **(3._wp*(strength_idx + 1._wp))
789# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
791# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
793# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
795# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
797# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
799# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
801# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
803# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
805# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
807# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
809# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
811# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
813# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
815# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
817# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
819# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
821# 281 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
824 integer,
dimension(3),
intent(inout) :: cellaux
825 integer,
dimension(3),
intent(in) :: cell
828 if (bc_x%beg == bc_reflective .and. (cell(1) <= mapcells - 1))
then
829 cellaux(1) = abs(cellaux(1)) - 1
831 if (bc_x%end == bc_reflective .and. (cell(1) >= m + 1 - mapcells))
then
832 cellaux(1) = cellaux(1) - (2*(cellaux(1) - m) - 1)
836 if (bc_y%beg == bc_reflective .and. (cell(2) <= mapcells - 1))
then
837 cellaux(2) = abs(cellaux(2)) - 1
839 if (bc_y%end == bc_reflective .and. (cell(2) >= n + 1 - mapcells))
then
840 cellaux(2) = cellaux(2) - (2*(cellaux(2) - n) - 1)
845 if (bc_z%beg == bc_reflective .and. (cell(3) <= mapcells - 1))
then
846 cellaux(3) = abs(cellaux(3)) - 1
848 if (bc_z%end == bc_reflective .and. (cell(3) >= p + 1 - mapcells))
then
849 cellaux(3) = cellaux(3) - (2*(cellaux(3) - p) - 1)
859# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
861# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
863# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
865# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
867# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
869# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
871# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
873# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
875# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
877# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
879# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
881# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
883# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
885# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
887# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
889# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
891# 317 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
894 integer,
dimension(3),
intent(in) :: cell
895 real(wp),
intent(in) :: volpart
896 real(wp),
intent(out) :: stddsv
897 real(wp) :: chardist, charvol
901 chardist = sqrt(dx(cell(1))*dy(cell(2)))
902 if (p > 0) chardist = (dx(cell(1))*dy(cell(2))*dz(cell(3)))**(1._wp/3._wp)
906 charvol = dx(cell(1))*dy(cell(2))*dz(cell(3))
909 charvol = dx(cell(1))*dy(cell(2))*y_cc(cell(2))*2._wp*pi
911 charvol = dx(cell(1))*dy(cell(2))*lag_params%charwidth
916 if (((volpart/charvol) > 0.5_wp*lag_params%valmaxvoid) .or. (lag_params%smooth_type == 1))
then
917 rad = (3._wp*volpart/(4._wp*pi))**(1._wp/3._wp)
918 stddsv = 1._wp*lag_params%epsilonb*max(chardist, rad)