atl_eqn_maxwell_hlp_module Module


Uses

Used by

  • module~~atl_eqn_maxwell_hlp_module~~UsedByGraph module~atl_eqn_maxwell_hlp_module atl_eqn_maxwell_hlp_module module~atl_equation_init_module atl_equation_init_module module~atl_equation_init_module->module~atl_eqn_maxwell_hlp_module proc~implicit_update implicit_update proc~implicit_update->module~atl_eqn_maxwell_hlp_module module~atl_initialize_module atl_initialize_module module~atl_initialize_module->module~atl_equation_init_module module~atl_program_module atl_program_module module~atl_program_module->module~atl_initialize_module program~atl_harvesting atl_harvesting program~atl_harvesting->module~atl_initialize_module program~atl_harvesting->module~atl_program_module program~ateles ateles program~ateles->module~atl_program_module

Contents


Subroutines

public subroutine atl_eqn_maxwell_init(equation, nDimensions, divCorr, initSource, initMaterial, varSys_data)

Initialization of the Maxwell equations.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(atl_Equations_type), intent(inout) :: equation

Equation system to set with this routine.

integer, intent(in) :: nDimensions

Number of spatial dimensions, the Maxwell equations should live on.

Has to be 2 or 3.

logical, intent(in) :: divCorr

Use divergence correction?

type(atl_init_source_type), intent(inout) :: initSource

Type to be filled with the possible source variables for the equation system. These source variables are later on used to extract the corresponding information from the configuration file.

type(atl_init_material_type), intent(inout) :: initMaterial

Type to be filled with the possible material variables for the equation system. These material variables are later on used to extract the corresponding information from the configuration file.

type(atl_varSys_solverData_type), intent(inout) :: varSys_data

the pointer to the data required for the varsys

public subroutine atl_eqn_maxwell_load_bc(equation, bc_state, bc_state_gradient, bc_varDict, bc_varDict_gradient, bc_normal_vec, bc_normal_vec_gradient, bc_trafo, bc_trafo_gradient, bc_label, bc_kind, thandle, conf)

Subroutine to load boundary conditions for Maxwell equations from a Lua configuration file.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(atl_Equations_type), intent(inout) :: equation
type(tem_bc_state_type), intent(out), allocatable:: bc_state(:)
type(tem_bc_state_type), intent(out), allocatable:: bc_state_gradient(:)
type(grw_stringkeyvaluepairarray_type), intent(out) :: bc_varDict

Dictionary of boundary variables in bc_state

type(grw_stringkeyvaluepairarray_type), intent(out) :: bc_varDict_gradient

Dictionary of boundary variables in bc_state_gradient

logical, intent(out) :: bc_normal_vec
logical, intent(out) :: bc_normal_vec_gradient
type(atl_eqn_var_trafo_type), intent(out) :: bc_trafo
type(atl_eqn_var_trafo_type), intent(out) :: bc_trafo_gradient
character(len=*), intent(in) :: bc_label
character(len=*), intent(in) :: bc_kind
integer, intent(in) :: thandle
type(flu_State) :: conf

public subroutine atl_eqn_maxwellDivCor_load_bc(equation, bc_state, bc_state_gradient, bc_varDict, bc_varDict_gradient, bc_normal_vec, bc_normal_vec_gradient, bc_trafo, bc_trafo_gradient, bc_label, bc_kind, thandle, conf)

Subroutine to load boundary conditions for Maxwell equations with divergence correction from a Lua configuration file. For the correction in E-field dirichlet bc and for correction in B-field neumann bc are defined.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(atl_Equations_type), intent(inout) :: equation
type(tem_bc_state_type), intent(out), allocatable:: bc_state(:)
type(tem_bc_state_type), intent(out), allocatable:: bc_state_gradient(:)
type(grw_stringkeyvaluepairarray_type), intent(out) :: bc_varDict

Dictionary of boundary variables in bc_state

type(grw_stringkeyvaluepairarray_type), intent(out) :: bc_varDict_gradient

Dictionary of boundary variables in bc_state_gradient

logical, intent(out) :: bc_normal_vec
logical, intent(out) :: bc_normal_vec_gradient
type(atl_eqn_var_trafo_type), intent(out) :: bc_trafo
type(atl_eqn_var_trafo_type), intent(out) :: bc_trafo_gradient
character(len=*), intent(in) :: bc_label

Unused variable, Needed for interface compatibility in module atl_equation_init_module.f90.

character(len=*), intent(in) :: bc_kind
integer, intent(in) :: thandle

Unused variable, Needed for interface compatibility in module atl_equation_init_module.f90.

type(flu_State) :: conf

Unused variable, Needed for interface compatibility in module atl_equation_init_module.f90.

public subroutine atl_eqn_maxwell_implicit_pen(material, weighted_dt, ndims, poly_proj, state, timestep_rhs)

Solve the equation system with just the penalization terms to find an implicit update for the IMEX timestepping procedure.

Arguments

TypeIntentOptionalAttributesName
type(atl_material_type), intent(in) :: material

Definition of the material, which directly describes the penalization.

We expect the conductivity sigma to be defined in materialdat(:,:,3) and the permittivity epsilon in materialdat(:,:,2).

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

Timestep which is already weighted by the time integration scheme.

integer, intent(in) :: ndims

Number of dimensions, the equation system is computed in (2 or 3).

type(ply_poly_project_type), intent(inout) :: poly_proj

Description of the projection for the material.

real(kind=rk), intent(inout) :: state(:,:,:)

The state variables of the equation system, they will be updated to the solution of the implicit computation for penalization.

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

Right hand side contribution by the implicit calculation.

private subroutine eqn_maxwell_2d_load_bc(equation, bc_state, bc_state_gradient, bc_varDict, bc_varDict_gradient, bc_normal_vec, bc_normal_vec_gradient, bc_trafo, bc_trafo_gradient, bc_label, bc_kind, thandle, conf)

Subroutine to load boundary conditions for 2D Maxwell equations from a Lua configuration file.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(atl_Equations_type), intent(inout) :: equation
type(tem_bc_state_type), intent(out), allocatable:: bc_state(:)
type(tem_bc_state_type), intent(out), allocatable:: bc_state_gradient(:)
type(grw_stringkeyvaluepairarray_type), intent(out) :: bc_varDict

Dictionary of boundary variables in bc_state

type(grw_stringkeyvaluepairarray_type), intent(out) :: bc_varDict_gradient

Dictionary of boundary variables in bc_state_gradient

logical, intent(out) :: bc_normal_vec
logical, intent(out) :: bc_normal_vec_gradient
type(atl_eqn_var_trafo_type), intent(out) :: bc_trafo
type(atl_eqn_var_trafo_type), intent(out) :: bc_trafo_gradient
character(len=*), intent(in) :: bc_label
character(len=*), intent(in) :: bc_kind
integer, intent(in) :: thandle
type(flu_State) :: conf