MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_collisions Module Reference

Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients, and corrects the flow state. More...

Functions/Subroutines

subroutine, public s_initialize_collisions_module ()
subroutine, public s_apply_collision_forces (ghost_points, num_gps, ib_markers, forces, torques)
subroutine s_apply_ib_collision_forces_soft_sphere (num_considered_collisions, forces, torques)
 applies collision forces to IBs assuming a soft-sphere collision model (all IBs are circles or spheres)
subroutine s_apply_wall_collision_forces_soft_sphere (forces, torques)
 applies collision forces to IBs assuming a soft-sphere collision model (all IBs are circles or spheres)
subroutine s_detect_ib_collisions (gps, ib_markers, num_gps, num_considered_collisions)
 uses ghost-point/image-point information to determine if it is possible if two IBs are colliding, effectively an optimized nearest neighbor search
subroutine s_detect_wall_collisions (any_wall_collision)
 uses boundary conditions and particle locations to check for wall conditions
logical function, public f_neighborhood_ranks_own_location (location)
 function checks if this local MPI processor owns this specific collision
subroutine, public s_finalize_collisions_module ()

Variables

integer, dimension(:,:), allocatable collision_lookup
real(wp), dimension(:,:), allocatable wall_overlap_distances
real(wp) spring_stiffness
real(wp) damping_parameter
logical, public collisions_active
 true when any IB-IB or IB-wall contact was detected on this rank since the last adaptive-dt computation

Detailed Description

Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients, and corrects the flow state.

Function/Subroutine Documentation

◆ f_neighborhood_ranks_own_location()

logical function, public m_collisions::f_neighborhood_ranks_own_location ( real(wp), dimension(3), intent(in) location)

function checks if this local MPI processor owns this specific collision

Definition at line 1185 of file m_collisions.fpp.f90.

◆ s_apply_collision_forces()

subroutine, public m_collisions::s_apply_collision_forces ( type(ghost_point), dimension(:), intent(in) ghost_points,
integer, intent(in) num_gps,
type(integer_field), intent(in) ib_markers,
real(wp), dimension(num_ibs, 3), intent(inout) forces,
real(wp), dimension(num_ibs, 3), intent(inout) torques )

Definition at line 525 of file m_collisions.fpp.f90.

Here is the call graph for this function:

◆ s_apply_ib_collision_forces_soft_sphere()

subroutine m_collisions::s_apply_ib_collision_forces_soft_sphere ( integer, intent(in) num_considered_collisions,
real(wp), dimension(num_ibs, 3), intent(inout) forces,
real(wp), dimension(num_ibs, 3), intent(inout) torques )

applies collision forces to IBs assuming a soft-sphere collision model (all IBs are circles or spheres)

Definition at line 554 of file m_collisions.fpp.f90.

Here is the caller graph for this function:

◆ s_apply_wall_collision_forces_soft_sphere()

subroutine m_collisions::s_apply_wall_collision_forces_soft_sphere ( real(wp), dimension(num_ibs, 3), intent(inout) forces,
real(wp), dimension(num_ibs, 3), intent(inout) torques )

applies collision forces to IBs assuming a soft-sphere collision model (all IBs are circles or spheres)

Definition at line 723 of file m_collisions.fpp.f90.

Here is the caller graph for this function:

◆ s_detect_ib_collisions()

subroutine m_collisions::s_detect_ib_collisions ( type(ghost_point), dimension(num_gps), intent(in) gps,
type(integer_field), intent(in) ib_markers,
integer, intent(in) num_gps,
integer, intent(out) num_considered_collisions )

uses ghost-point/image-point information to determine if it is possible if two IBs are colliding, effectively an optimized nearest neighbor search

Definition at line 851 of file m_collisions.fpp.f90.

Here is the caller graph for this function:

◆ s_detect_wall_collisions()

subroutine m_collisions::s_detect_wall_collisions ( logical, intent(out) any_wall_collision)

uses boundary conditions and particle locations to check for wall conditions

Definition at line 1025 of file m_collisions.fpp.f90.

Here is the caller graph for this function:

◆ s_finalize_collisions_module()

subroutine, public m_collisions::s_finalize_collisions_module

Definition at line 1282 of file m_collisions.fpp.f90.

◆ s_initialize_collisions_module()

subroutine, public m_collisions::s_initialize_collisions_module

Definition at line 407 of file m_collisions.fpp.f90.

Variable Documentation

◆ collision_lookup

integer, dimension(:,:), allocatable m_collisions::collision_lookup

Definition at line 374 of file m_collisions.fpp.f90.

◆ collisions_active

logical, public m_collisions::collisions_active

true when any IB-IB or IB-wall contact was detected on this rank since the last adaptive-dt computation

Definition at line 403 of file m_collisions.fpp.f90.

◆ damping_parameter

real(wp) m_collisions::damping_parameter

Definition at line 376 of file m_collisions.fpp.f90.

◆ spring_stiffness

real(wp) m_collisions::spring_stiffness

Definition at line 376 of file m_collisions.fpp.f90.

◆ wall_overlap_distances

real(wp), dimension(:,:), allocatable m_collisions::wall_overlap_distances

Definition at line 375 of file m_collisions.fpp.f90.