cdifs_AdvanceSolution_smod Submodule


Uses

  • module~~cdifs_advancesolution_smod~~UsesGraph module~cdifs_advancesolution_smod cdifs_AdvanceSolution_smod module~cdifs cdifs module~cdifs_advancesolution_smod->module~cdifs module~cdifs_cases cdifs_cases module~cdifs->module~cdifs_cases module~immersed_boundaries immersed_boundaries module~cdifs->module~immersed_boundaries module~leapbc leapBC module~cdifs->module~leapbc module~leapblock leapBlock module~cdifs->module~leapblock module~leapdiffop leapDiffOp module~cdifs->module~leapdiffop module~leapeulerian leapEulerian module~cdifs->module~leapeulerian module~leaphypre leapHypre module~cdifs->module~leaphypre module~leapkinds leapKinds module~cdifs->module~leapkinds module~leapmonitor leapMonitor module~cdifs->module~leapmonitor module~leapparallel leapParallel module~cdifs->module~leapparallel module~leapparser leapParser module~cdifs->module~leapparser module~leapsolver leapSolver module~cdifs->module~leapsolver module~leaptimer leapTimer module~cdifs->module~leaptimer module~particles_resolved particles_resolved module~cdifs->module~particles_resolved module~cdifs_cases->module~leapeulerian module~cdifs_cases->module~leapkinds module~leapcases leapCases module~cdifs_cases->module~leapcases module~immersed_boundaries_markers immersed_boundaries_markers module~immersed_boundaries->module~immersed_boundaries_markers module~immersed_boundaries_solids immersed_boundaries_solids module~immersed_boundaries->module~immersed_boundaries_solids module~leapbc->module~leapblock module~leapbc->module~leapeulerian module~leapbc->module~leapkinds module~leapbc->module~leapparallel module~leaputils leapUtils module~leapbc->module~leaputils mpi_f08 mpi_f08 module~leapbc->mpi_f08 module~leapblock->module~leapkinds module~leapblock->module~leapparallel module~leapblock->mpi_f08 module~leapdiffop->module~leapbc module~leapdiffop->module~leapblock module~leapdiffop->module~leapeulerian module~leapdiffop->module~leapkinds module~leapdiffop->module~leapparallel module~leapeulerian->module~leapblock module~leapeulerian->module~leapkinds module~leapeulerian->module~leapparallel module~leapeulerian->module~leapparser module~leapio leapIO module~leapeulerian->module~leapio module~leapio_mpi leapIO_mpi module~leapeulerian->module~leapio_mpi module~leapeulerian->module~leaputils module~leapeulerian->mpi_f08 module~leaphypre->module~leapblock module~leaphypre->module~leapeulerian module~leaphypre->module~leapkinds module~leaphypre->module~leapparallel iso_c_binding iso_c_binding module~leaphypre->iso_c_binding module~leaphypre->mpi_f08 iso_fortran_env iso_fortran_env module~leapkinds->iso_fortran_env module~leapmonitor->module~leapkinds module~leapmonitor->module~leapparallel module~leapmonitor->module~leaputils module~leapparallel->module~leapkinds module~leapparallel->module~leapparser module~leapparallel->mpi_f08 module~leapparser->module~leapkinds module~leapcli leapCli module~leapparser->module~leapcli module~leapsolver->module~leapkinds module~leapsolver->module~leapparallel module~leapsolver->module~leapparser module~leapsolver->module~leaptimer module~leaptimer->module~leapkinds module~leaptimer->module~leapparser module~particles_resolved->module~immersed_boundaries module~particles_resolved->module~leapblock module~particles_resolved->module~leapdiffop module~particles_resolved->module~leapeulerian module~particles_resolved->module~leapkinds module~particles_resolved->module~leapmonitor module~particles_resolved->module~leapparallel module~particles_resolved->module~leapparser module~particles_resolved->module~leaptimer module~particles_resolved->module~leapio module~leaplagrangian leapLagrangian module~particles_resolved->module~leaplagrangian module~immersed_boundaries_markers->module~leapblock module~immersed_boundaries_markers->module~leapdiffop module~immersed_boundaries_markers->module~leapeulerian module~immersed_boundaries_markers->module~leaphypre module~immersed_boundaries_markers->module~leapkinds module~immersed_boundaries_markers->module~leapmonitor module~immersed_boundaries_markers->module~leapparallel module~immersed_boundaries_markers->module~leapparser module~immersed_boundaries_markers->module~leaptimer module~immersed_boundaries_markers->module~leapio module~immersed_boundaries_markers->module~leaplagrangian module~immersed_boundaries_solids->module~leapblock module~immersed_boundaries_solids->module~leapeulerian module~immersed_boundaries_solids->module~leapkinds module~immersed_boundaries_solids->module~leapparallel module~immersed_boundaries_solids->module~immersed_boundaries_markers module~immersed_boundaries_solids->module~leapio module~immersed_boundaries_solids->module~leaplagrangian module~leapcases->module~leapblock module~leapcases->module~leapkinds module~leapcases->module~leapparallel module~leapcases->module~leapparser module~leapcli->module~leapkinds module~leapio->module~leapio_mpi module~leapio_h5hut leapIO_h5hut module~leapio->module~leapio_h5hut module~leapio_hdf5 leapIO_hdf5 module~leapio->module~leapio_hdf5 module~leapio_silo leapIO_silo module~leapio->module~leapio_silo module~leapio_mpi->module~leapblock module~leapio_mpi->module~leapkinds module~leapio_mpi->module~leapparallel module~leapio_mpi->mpi_f08 module~leaplagrangian->module~leapblock module~leaplagrangian->module~leapkinds module~leaplagrangian->module~leapparallel module~leaplagrangian->module~leapparser module~leaplagrangian->module~leapio module~leaplagrangian->module~leaputils module~leaplagrangian->mpi_f08 module~leaputils->module~leapkinds module~leaputils->mpi_f08 module~leapio_h5hut->module~leapkinds module~leapio_h5hut->module~leapparallel h5hut h5hut module~leapio_h5hut->h5hut module~leapio_hdf5->module~leapkinds module~leapio_hdf5->module~leapparallel module~leapio_hdf5->module~leaputils hdf5 hdf5 module~leapio_hdf5->hdf5 module~leapio_silo->module~leapblock module~leapio_silo->module~leapkinds module~leapio_silo->module~leapparallel module~leapio_silo->module~leaputils module~leapio_silo->mpi_f08

Functions

pure function DEM_PW_col(r1, r2, d1, m1, n2, v1, v2, w1, w2, tcol, edry, muc) result(val)

Returns the force due to a collision between a particle and a wall modeled with the Linearized Spring Dashpot soft-sphere model.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: r1(3)

Position

real(kind=wp), intent(in) :: r2(3)

Position

real(kind=wp), intent(in) :: d1

Diameter

real(kind=wp), intent(in) :: m1

Masses of each particle

real(kind=wp), intent(in) :: n2(3)

Wall normal

real(kind=wp), intent(in) :: v1(3)

Velocities

real(kind=wp), intent(in) :: v2(3)

Velocities

real(kind=wp), intent(in) :: w1(3)

Rotation rates

real(kind=wp), intent(in) :: w2(3)

Rotation rates

real(kind=wp), intent(in) :: tcol

Collision time

real(kind=wp), intent(in) :: edry

Normal dry restitution coef.

real(kind=wp), intent(in) :: muc

Coulomb factor

Return Value real(kind=wp), (3)

pure function DEM_col(r1, r2, d1, d2, m1, m2, v1, v2, w1, w2, tcol, edry, muc) result(val)

Returns the force due to a collision between two particles modeled with the Linearized Spring Dashpot soft-sphere model.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: r1(3)

Position

real(kind=wp), intent(in) :: r2(3)

Position

real(kind=wp), intent(in) :: d1

Diameter

real(kind=wp), intent(in) :: d2

Diameter

real(kind=wp), intent(in) :: m1

Masses of each particle

real(kind=wp), intent(in) :: m2

Masses of each particle

real(kind=wp), intent(in) :: v1(3)

Velocities

real(kind=wp), intent(in) :: v2(3)

Velocities

real(kind=wp), intent(in) :: w1(3)

Rotation rates

real(kind=wp), intent(in) :: w2(3)

Rotation rates

real(kind=wp), intent(in) :: tcol

Collision time

real(kind=wp), intent(in) :: edry

Normal dry restitution coef.

real(kind=wp), intent(in) :: muc

Coulomb factor

Return Value real(kind=wp), (3)

function cdifs_AdvanceSolutionMomentumRHS1(this) result(res)

Compute Momentum operator RHS for velocity component in x1-direction

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver

Return Value type(eulerian_obj_r)

function cdifs_AdvanceSolutionMomentumRHS2(this) result(res)

Compute Momentum operator RHS for velocity component in x2-direction

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver

Return Value type(eulerian_obj_r)

function cdifs_AdvanceSolutionMomentumRHS3(this) result(res)

Compute Momentum operator RHS for velocity component in x3-direction

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver

Return Value type(eulerian_obj_r)

pure function cross_product(x, y) result(z)

Returns the cross product of two vectors

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x(3)

Input vector 1

real(kind=wp), intent(in) :: y(3)

Input vector 2

Return Value real(kind=wp), (3)

Resulting cross-product


Subroutines

subroutine cdifs_obj_AdvanceSolutionCorrector(this, it)

Perform corrector step: compute pressure at n+1 and divergence-free velocity at n+1.

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver

integer, intent(in) :: it

Subiterations

subroutine cdifs_obj_AdvanceSolutionIB(this)

Perform intermediate IB step

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver

Perform predictor step: compute intermediate velocity.

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver

subroutine cdifs_obj_AdvanceSolutionRP(this)

Advance Resolved Particle centroids and markers to n+1

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver

subroutine cdifs_obj_UpdateCollisions(this)

Compute collisions between resolved Particles and Immersed Boundaries

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver


Module Subroutines

module subroutine cdifs_obj_AdvanceSolution(this)

Advances solution from n to n+1

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

The solver