atl_nerplanck_flux_module Module

module that holds all routines to calculate the flux for Nernst-Planck equations.


Uses

  • module~~atl_nerplanck_flux_module~~UsesGraph module~atl_nerplanck_flux_module atl_nerplanck_flux_module env_module env_module module~atl_nerplanck_flux_module->env_module

Used by

  • module~~atl_nerplanck_flux_module~~UsedByGraph module~atl_nerplanck_flux_module atl_nerplanck_flux_module module~atl_modg_nerplanck_kernel_module atl_modg_nerplanck_kernel_module module~atl_modg_nerplanck_kernel_module->module~atl_nerplanck_flux_module

Interfaces

public interface atl_nerplanck_numflux_solve

  • private subroutine nerplanck_numflux_concentration(left, right, diffusivity, flux)

    of the Nernst-Planck equations.

    This subroutine calculates the flux of the Nernst-Planck equation on the reference cubic face.

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: left(4)

    Left state vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

    real(kind=rk), intent(in) :: right(4)

    Right state vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

    real(kind=rk), intent(in) :: diffusivity

    The diffusivity in the left and right cell. Since this is assumed to be equal in both cells, this flux function cannot be used to calculate the flux for cells with different material properties

    real(kind=rk), intent(out) :: flux

    The flux between left and right cell. The order of this vector is the same as the input arguments.

  • private subroutine nerplanck_numflux_diffusiveFlux(left, right, diffusivity, flux)

    This subroutine calculates the flux of the Nernst-Planck equation on the reference cubic face.

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: left(4)

    Left state vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

    real(kind=rk), intent(in) :: right(4)

    Right state vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

    real(kind=rk), intent(in) :: diffusivity

    The diffusivity in the left and right cell. Since this is assumed to be equal in both cells, this flux function cannot be used to calculate the flux for cells with different material properties

    real(kind=rk), intent(out) :: flux(3)

    The flux between left and right cell. The order of this vector is the same as the input arguments.

public interface atl_nerplanck_physflux_solve

  • private subroutine nerplanck_physflux_concentration(state, diffusivity, flux)

    of the Nernst-Planck equations.

    This subroutine calculates the flux of the Nernst-Planck equation on the reference cubic element.

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: state(4)

    State vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

    real(kind=rk), intent(in) :: diffusivity

    The diffusivity in the cell.

    real(kind=rk), intent(out) :: flux(3)

    The flux inside the cell. The order of this vector is the same as the input arguments.

  • private subroutine nerplanck_physflux_diffusiveFlux(state, diffusivity, flux)

    This subroutine calculates the flux of the Nernst-Planck equation on the reference cubic element.

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: state(4)

    State vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

    real(kind=rk), intent(in) :: diffusivity

    The diffusivity in the cell.

    real(kind=rk), intent(out) :: flux

    The flux inside the cell. The order of this vector is the same as the input arguments.


Subroutines

private subroutine nerplanck_numflux_concentration(left, right, diffusivity, flux)

S u b r o u t i n e

t o

c a l c u l a t e

t h e

n u m e r i c a l

f l u x

f o r

t h e

f i r s t

e q u a t i o n

( u )

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: left(4)

Left state vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

real(kind=rk), intent(in) :: right(4)

Right state vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

real(kind=rk), intent(in) :: diffusivity

The diffusivity in the left and right cell. Since this is assumed to be equal in both cells, this flux function cannot be used to calculate the flux for cells with different material properties

real(kind=rk), intent(out) :: flux

The flux between left and right cell. The order of this vector is the same as the input arguments.

private subroutine nerplanck_numflux_diffusiveFlux(left, right, diffusivity, flux)

S u b r o u t i n e

t o

c a l c u l a t e

t h e

f l u x

f o r

N e r n s t - P l a n c k

e q u a t i o n s .

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: left(4)

Left state vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

real(kind=rk), intent(in) :: right(4)

Right state vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

real(kind=rk), intent(in) :: diffusivity

The diffusivity in the left and right cell. Since this is assumed to be equal in both cells, this flux function cannot be used to calculate the flux for cells with different material properties

real(kind=rk), intent(out) :: flux(3)

The flux between left and right cell. The order of this vector is the same as the input arguments.

private subroutine nerplanck_physflux_concentration(state, diffusivity, flux)

S u b r o u t i n e

t o

c a l c u l a t e

t h e

n u m e r i c a l

f l u x

f o r

t h e

f i r s t

e q u a t i o n

( u )

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: state(4)

State vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

real(kind=rk), intent(in) :: diffusivity

The diffusivity in the cell.

real(kind=rk), intent(out) :: flux(3)

The flux inside the cell. The order of this vector is the same as the input arguments.

private subroutine nerplanck_physflux_diffusiveFlux(state, diffusivity, flux)

S u b r o u t i n e

t o

c a l c u l a t e

t h e

f l u x

f o r

N e r n s t - P l a n c k

e q u a t i o n s .

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: state(4)

State vector (as conservative variables). The order of this vector has to be where and denoted concentration (scalar) and diffusive fluxes (vector).

real(kind=rk), intent(in) :: diffusivity

The diffusivity in the cell.

real(kind=rk), intent(out) :: flux

The flux inside the cell. The order of this vector is the same as the input arguments.