312 integer,
intent(in) :: nBubs
313 real(wp),
dimension(1:lag_params%nBubs_glb, 1:3, 1:2),
intent(in) :: lbk_s, lbk_pos
314 real(wp),
dimension(1:lag_params%nBubs_glb, 1:2),
intent(in) :: lbk_rad, lbk_vel
315 type(scalar_field),
dimension(:),
intent(inout) :: updatedvar
317 smoothfunc:
select case(lag_params%smooth_type)
319 call s_gaussian(nbubs, lbk_rad, lbk_vel, lbk_s, lbk_pos, updatedvar)
321 call s_deltafunc(nbubs, lbk_rad, lbk_vel, lbk_s, updatedvar)
322 end select smoothfunc
328 subroutine s_deltafunc(nBubs, lbk_rad, lbk_vel, lbk_s, updatedvar)
330 integer,
intent(in) :: nBubs
331 real(wp),
dimension(1:lag_params%nBubs_glb, 1:3, 1:2),
intent(in) :: lbk_s
332 real(wp),
dimension(1:lag_params%nBubs_glb, 1:2),
intent(in) :: lbk_rad, lbk_vel
333 type(scalar_field),
dimension(:),
intent(inout) :: updatedvar
335 integer,
dimension(3) :: cell
336 real(wp) :: strength_vel, strength_vol
338 real(wp) :: addFun1, addFun2, addFun3
339 real(wp) :: volpart, Vol
340 real(wp),
dimension(3) :: s_coord
344# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
346# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
347#if defined(MFC_OpenACC)
348# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
350# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
351#elif defined(MFC_OpenMP)
352# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
354# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
356# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
358# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
360# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
362# 57 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
366 volpart = 4._wp/3._wp*pi*lbk_rad(l, 2)**3._wp
367 s_coord(1:3) = lbk_s(l, 1:3, 2)
370 strength_vol = volpart
371 strength_vel = 4._wp*pi*lbk_rad(l, 2)**2._wp*lbk_vel(l, 2)
373 if (num_dims == 2)
then
374 vol = dx(cell(1))*dy(cell(2))*lag_params%charwidth
375 if (cyl_coord) vol = dx(cell(1))*dy(cell(2))*y_cc(cell(2))*2._wp*pi
377 vol = dx(cell(1))*dy(cell(2))*dz(cell(3))
381 addfun1 = strength_vol/vol
383# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
384#if defined(MFC_OpenACC)
385# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
387# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
388#elif defined(MFC_OpenMP)
389# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
391# 76 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
393 updatedvar(1)%sf(cell(1), cell(2), cell(3)) = updatedvar(1)%sf(cell(1), cell(2), cell(3)) + real(addfun1, kind=stp)
396 addfun2 = strength_vel/vol
398# 81 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
399#if defined(MFC_OpenACC)
400# 81 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
402# 81 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
403#elif defined(MFC_OpenMP)
404# 81 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
406# 81 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
408 updatedvar(2)%sf(cell(1), cell(2), cell(3)) = updatedvar(2)%sf(cell(1), cell(2), cell(3)) + real(addfun2, kind=stp)
412 if (lag_params%cluster_type >= 4)
then
413 addfun3 = (strength_vol*strength_vel)/vol
415# 88 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
416#if defined(MFC_OpenACC)
417# 88 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
419# 88 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
420#elif defined(MFC_OpenMP)
421# 88 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
423# 88 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
425 updatedvar(5)%sf(cell(1), cell(2), cell(3)) = updatedvar(5)%sf(cell(1), cell(2), cell(3)) + real(addfun3, kind=stp)
429# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
431# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
432#if defined(MFC_OpenACC)
433# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
435# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
436#elif defined(MFC_OpenMP)
437# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
439# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
441# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
443# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
445# 92 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
452 subroutine s_gaussian(nBubs, lbk_rad, lbk_vel, lbk_s, lbk_pos, updatedvar)
454 integer,
intent(in) :: nBubs
455 real(wp),
dimension(1:lag_params%nBubs_glb, 1:3, 1:2),
intent(in) :: lbk_s, lbk_pos
456 real(wp),
dimension(1:lag_params%nBubs_glb, 1:2),
intent(in) :: lbk_rad, lbk_vel
457 type(scalar_field),
dimension(:),
intent(inout) :: updatedvar
459 real(wp),
dimension(3) :: center
460 integer,
dimension(3) :: cell
462 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# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
480# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
481#if defined(MFC_OpenACC)
482# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
484# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
485#elif defined(MFC_OpenMP)
486# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
488# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
490# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
492# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
494# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
496# 123 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
501 volpart = 4._wp/3._wp*pi*lbk_rad(l, 2)**3._wp
502 s_coord(1:3) = lbk_s(l, 1:3, 2)
503 center(1:2) = lbk_pos(l, 1:2, 2)
504 if (p > 0) center(3) = lbk_pos(l, 3, 2)
508 strength_vol = volpart
509 strength_vel = 4._wp*pi*lbk_rad(l, 2)**2._wp*lbk_vel(l, 2)
512# 137 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
513#if defined(MFC_OpenACC)
514# 137 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
516# 137 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
517#elif defined(MFC_OpenMP)
518# 137 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
520# 137 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
525 cellaux(1) = cell(1) + i - (mapcells + 1)
526 cellaux(2) = cell(2) + j - (mapcells + 1)
527 cellaux(3) = cell(3) + k - (mapcells + 1)
528 if (p == 0) cellaux(3) = 0
534 if (.not. celloutside)
then
536 nodecoord(1) = x_cc(cellaux(1))
537 nodecoord(2) = y_cc(cellaux(2))
538 if (p > 0) nodecoord(3) = z_cc(cellaux(3))
540 if (lag_params%cluster_type >= 4)
call s_applygaussian(center, cellaux, nodecoord, stddsv, 1._wp, func2)
543 if (any((/bc_x%beg, bc_x%end, bc_y%beg, bc_y%end, bc_z%beg, bc_z%end/) == bc_reflective))
then
552 if (p == 0) cellaux(3) = 0
556 addfun1 = func*strength_vol
558# 173 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
559#if defined(MFC_OpenACC)
560# 173 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
562# 173 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
563#elif defined(MFC_OpenMP)
564# 173 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
566# 173 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
568 updatedvar(1)%sf(cellaux(1), cellaux(2), cellaux(3)) = &
569 updatedvar(1)%sf(cellaux(1), cellaux(2), cellaux(3)) &
570 + real(addfun1, kind=stp)
573 addfun2 = func*strength_vel
575# 180 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
576#if defined(MFC_OpenACC)
577# 180 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
579# 180 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
580#elif defined(MFC_OpenMP)
581# 180 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
583# 180 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
585 updatedvar(2)%sf(cellaux(1), cellaux(2), cellaux(3)) = &
586 updatedvar(2)%sf(cellaux(1), cellaux(2), cellaux(3)) &
587 + real(addfun2, kind=stp)
591 if (lag_params%cluster_type >= 4)
then
592 addfun3 = func2*strength_vol*strength_vel
594# 189 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
595#if defined(MFC_OpenACC)
596# 189 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
598# 189 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
599#elif defined(MFC_OpenMP)
600# 189 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
602# 189 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
604 updatedvar(5)%sf(cellaux(1), cellaux(2), cellaux(3)) = &
605 updatedvar(5)%sf(cellaux(1), cellaux(2), cellaux(3)) &
606 + real(addfun3, kind=stp)
613# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
615# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
616#if defined(MFC_OpenACC)
617# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
619# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
620#elif defined(MFC_OpenMP)
621# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
623# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
625# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
627# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
629# 198 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
637# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
639# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
641# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
643# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
645# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
647# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
649# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
651# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
653# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
655# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
657# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
659# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
661# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
663# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
665# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
667# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
669# 204 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
671# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
673 real(wp),
dimension(3),
intent(in) :: center
674 integer,
dimension(3),
intent(in) :: cellaux
675 real(wp),
dimension(3),
intent(in) :: nodecoord
676 real(wp),
intent(in) :: stddsv
677 real(wp),
intent(in) :: strength_idx
678 real(wp),
intent(out) :: func
681 real(wp) :: theta, dtheta, L2, dzp, Lz2
682 real(wp) :: Nr, Nr_count
684 distance = sqrt((center(1) - nodecoord(1))**2._wp + (center(2) - nodecoord(2))**2._wp + (center(3) - nodecoord(3))**2._wp)
686 if (num_dims == 3)
then
688 func = exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv)**3._wp
694 nr = ceiling(2._wp*pi*nodecoord(2)/(y_cb(cellaux(2)) - y_cb(cellaux(2) - 1)))
696 l2 = center(2)**2._wp + nodecoord(2)**2._wp - 2._wp*center(2)*nodecoord(2)*cos(theta)
697 distance = sqrt((center(1) - nodecoord(1))**2._wp + l2)
699 func = dtheta/2._wp/pi*exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv)**3._wp
701 do while (nr_count < nr - 1._wp)
702 nr_count = nr_count + 1._wp
703 theta = nr_count*dtheta
705 l2 = center(2)**2._wp + nodecoord(2)**2._wp - 2._wp*center(2)*nodecoord(2)*cos(theta)
706 distance = sqrt((center(1) - nodecoord(1))**2._wp + l2)
709 dtheta/2._wp/pi*exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv)**(3._wp*(strength_idx + 1._wp))
716 nr = ceiling(lag_params%charwidth/(y_cb(cellaux(2)) - y_cb(cellaux(2) - 1)))
717 nr_count = 1._wp - mapcells*1._wp
718 dzp = y_cb(cellaux(2) + 1) - y_cb(cellaux(2))
719 lz2 = (center(3) - (dzp*(0.5_wp + nr_count) - lag_params%charwidth/2._wp))**2._wp
720 distance = sqrt((center(1) - nodecoord(1))**2._wp + (center(2) - nodecoord(2))**2._wp + lz2)
721 func = dzp/lag_params%charwidth*exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv)**3._wp
722 do while (nr_count < nr - 1._wp + ((mapcells - 1)*1._wp))
723 nr_count = nr_count + 1._wp
724 lz2 = (center(3) - (dzp*(0.5_wp + nr_count) - lag_params%charwidth/2._wp))**2._wp
725 distance = sqrt((center(1) - nodecoord(1))**2._wp + (center(2) - nodecoord(2))**2._wp + lz2)
727 dzp/lag_params%charwidth*exp(-0.5_wp*(distance/stddsv)**2._wp)/(sqrt(2._wp*pi)*stddsv)**(3._wp*(strength_idx + 1._wp))
807# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
809# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
811# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
813# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
815# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
817# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
819# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
821# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
823# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
825# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
827# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
829# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
831# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
833# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
835# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
837# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
839# 306 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
841# 308 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
843 integer,
dimension(3),
intent(inout) :: cellaux
844 integer,
dimension(3),
intent(in) :: cell
847 if (bc_x%beg == bc_reflective .and. (cell(1) <= mapcells - 1))
then
848 cellaux(1) = abs(cellaux(1)) - 1
850 if (bc_x%end == bc_reflective .and. (cell(1) >= m + 1 - mapcells))
then
851 cellaux(1) = cellaux(1) - (2*(cellaux(1) - m) - 1)
855 if (bc_y%beg == bc_reflective .and. (cell(2) <= mapcells - 1))
then
856 cellaux(2) = abs(cellaux(2)) - 1
858 if (bc_y%end == bc_reflective .and. (cell(2) >= n + 1 - mapcells))
then
859 cellaux(2) = cellaux(2) - (2*(cellaux(2) - n) - 1)
864 if (bc_z%beg == bc_reflective .and. (cell(3) <= mapcells - 1))
then
865 cellaux(3) = abs(cellaux(3)) - 1
867 if (bc_z%end == bc_reflective .and. (cell(3) >= p + 1 - mapcells))
then
868 cellaux(3) = cellaux(3) - (2*(cellaux(3) - p) - 1)
880# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
882# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
884# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
886# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
888# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
890# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
892# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
894# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
896# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
898# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
900# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
902# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
904# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
906# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
908# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
910# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
912# 345 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
914# 347 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EL_kernels.fpp"
916 integer,
dimension(3),
intent(in) :: cell
917 real(wp),
intent(in) :: volpart
918 real(wp),
intent(out) :: stddsv
920 real(wp) :: chardist, charvol
924 chardist = sqrt(dx(cell(1))*dy(cell(2)))
925 if (p > 0) chardist = (dx(cell(1))*dy(cell(2))*dz(cell(3)))**(1._wp/3._wp)
929 charvol = dx(cell(1))*dy(cell(2))*dz(cell(3))
932 charvol = dx(cell(1))*dy(cell(2))*y_cc(cell(2))*2._wp*pi
934 charvol = dx(cell(1))*dy(cell(2))*lag_params%charwidth
939 if (((volpart/charvol) > 0.5_wp*lag_params%valmaxvoid) .or. (lag_params%smooth_type == 1))
then
940 rad = (3._wp*volpart/(4._wp*pi))**(1._wp/3._wp)
941 stddsv = 1._wp*lag_params%epsilonb*max(chardist, rad)