atl_modg_2d_set_bnd Subroutine

public subroutine atl_modg_2d_set_bnd(bc, boundary, facedata, statedata, modg, equation, time, mesh, poly_proj, nodalBnd, material, currentLevel)

Subroutine to set face values to impose boundary conditions at a certain point of the domain. The subroutine is operating levelwise.

!!OMP PARALLEL & !!OMP PRIVATE(iBC, iDir, iAlign, iFace) & !!OMP DEFAULT(shared)

signfact = int(signfact * sidefact)

!!OMP END PARALLEL

Arguments

TypeIntentOptionalAttributesName
type(atl_boundary_type), intent(in) :: bc(:)

The global description of the boundaries.

type(atl_level_boundary_type), intent(in) :: boundary

The levelwise collection of boundary elements and boundary faces.

type(atl_facedata_type), intent(inout) :: facedata

The face data on the current level

type(atl_statedata_type), intent(inout) :: statedata

The state data on the current level

type(atl_modg_2d_scheme_type), intent(inout) :: modg

The parameters of th the modg scheme.

type(atl_Equations_type), intent(in) :: equation

The underlying equation system

type(tem_time_type), intent(in) :: time

The absolute time point.

type(atl_cube_elem_type), intent(in) :: mesh

The description of the mesh on the current level.

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

Data for the projection methods

logical, intent(in) :: nodalBnd

Set boundaries in nodal fashion by default? If set to false, the boundaries may still be set in nodal way whenever necessary (e.g. boundaries which have space-time dependence, etc.)

type(atl_faceMaterialData_type), intent(in), optional :: material(2)

Material description of the faces contained in boundary. One entry for each spatial direction, i.e. x,y.

integer, intent(in) :: currentLevel

the level to compute on


Calls

proc~~atl_modg_2d_set_bnd~~CallsGraph proc~atl_modg_2d_set_bnd atl_modg_2d_set_bnd proc~atl_modg_2d_bnd atl_modg_2d_bnd proc~atl_modg_2d_set_bnd->proc~atl_modg_2d_bnd proc~modg_2d_nodal_bnd modg_2d_nodal_bnd proc~atl_modg_2d_bnd->proc~modg_2d_nodal_bnd proc~modg_2d_modal_bnd modg_2d_modal_bnd proc~atl_modg_2d_bnd->proc~modg_2d_modal_bnd proc~tem_abort tem_abort proc~atl_modg_2d_bnd->proc~tem_abort proc~modg_2d_nodal_bnd->proc~tem_abort interface~ply_poly_project_n2m ply_poly_project_n2m proc~modg_2d_nodal_bnd->interface~ply_poly_project_n2m interface~ply_poly_project_m2n ply_poly_project_m2n proc~modg_2d_nodal_bnd->interface~ply_poly_project_m2n proc~modg_2d_bnd_mirrorpoint modg_2d_bnd_mirrorPoint proc~modg_2d_nodal_bnd->proc~modg_2d_bnd_mirrorpoint proc~ply_convert2oversample ply_convert2oversample proc~modg_2d_nodal_bnd->proc~ply_convert2oversample proc~modg_2d_bnd_extrapolate modg_2d_bnd_extrapolate proc~modg_2d_nodal_bnd->proc~modg_2d_bnd_extrapolate proc~ply_convertfromoversample ply_convertFromOversample proc~modg_2d_nodal_bnd->proc~ply_convertfromoversample proc~modg_2d_modal_bnd->proc~tem_abort proc~modg_2d_modal_bnd->interface~ply_poly_project_n2m proc~modg_2d_modal_bnd->proc~modg_2d_bnd_mirrorpoint proc~modg_2d_modal_bnd->proc~modg_2d_bnd_extrapolate proc~ply_poly_project_n2m_multivar ply_poly_project_n2m_multiVar interface~ply_poly_project_n2m->proc~ply_poly_project_n2m_multivar proc~ply_poly_project_m2n_multivar ply_poly_project_m2n_multiVar interface~ply_poly_project_m2n->proc~ply_poly_project_m2n_multivar proc~tem_stoptimer tem_stopTimer proc~modg_2d_bnd_mirrorpoint->proc~tem_stoptimer proc~tem_starttimer tem_startTimer proc~modg_2d_bnd_mirrorpoint->proc~tem_starttimer proc~ply_convert2oversample_3d ply_convert2oversample_3d proc~ply_convert2oversample->proc~ply_convert2oversample_3d proc~ply_convert2oversample_2d ply_convert2oversample_2d proc~ply_convert2oversample->proc~ply_convert2oversample_2d proc~ply_convert2oversample_1d ply_convert2oversample_1d proc~ply_convert2oversample->proc~ply_convert2oversample_1d proc~ply_convertfromoversample_3d ply_convertFromOversample_3d proc~ply_convertfromoversample->proc~ply_convertfromoversample_3d proc~ply_convertfromoversample_1d ply_convertFromOversample_1d proc~ply_convertfromoversample->proc~ply_convertfromoversample_1d proc~ply_convertfromoversample_2d ply_convertFromOversample_2d proc~ply_convertfromoversample->proc~ply_convertfromoversample_2d

Called by

proc~~atl_modg_2d_set_bnd~~CalledByGraph proc~atl_modg_2d_set_bnd atl_modg_2d_set_bnd proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->proc~atl_modg_2d_set_bnd interface~atl_preprocess_rhs atl_preprocess_rhs interface~atl_preprocess_rhs->proc~preprocess_rhs_cubes proc~rktaylor_substep rktaylor_substep proc~rktaylor_substep->interface~atl_preprocess_rhs proc~rktaylor_substep->proc~rktaylor_substep proc~rk2_substep rk2_substep proc~rk2_substep->interface~atl_preprocess_rhs proc~rk2_substep->proc~rk2_substep proc~rk4_substep rk4_substep proc~rk4_substep->interface~atl_preprocess_rhs proc~rk4_substep->proc~rk4_substep proc~imexrk_substep imexrk_substep proc~imexrk_substep->interface~atl_preprocess_rhs proc~imexrk_substep->proc~imexrk_substep proc~mesh_timestep_euler mesh_timestep_euler proc~mesh_timestep_euler->interface~atl_preprocess_rhs proc~mesh_timestep_euler->proc~mesh_timestep_euler proc~global_corrector_substep global_corrector_substep proc~global_corrector_substep->interface~atl_preprocess_rhs proc~mesh_timestep_rktaylor mesh_timestep_rktaylor proc~mesh_timestep_rktaylor->proc~rktaylor_substep proc~mesh_timestep_predcor_cerk4 mesh_timestep_predcor_cerk4 proc~mesh_timestep_predcor_cerk4->proc~global_corrector_substep none~substep substep none~substep->proc~rk4_substep proc~mesh_timestep_imexrk mesh_timestep_imexrk proc~mesh_timestep_imexrk->proc~imexrk_substep proc~mesh_timestep_ssprk2 mesh_timestep_ssprk2 proc~mesh_timestep_ssprk2->proc~rk2_substep

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: facePos
integer, private :: neighPos
integer, private :: neighAlign
integer, private :: nScalars
integer, private :: iBC
integer, private :: iDir
integer, private :: iFace
integer, private :: iAlign
integer, private :: iglobFace
integer, private :: nquadpoints
integer, private :: ndofs
integer, private :: oversamp_dofs
real(kind=rk), private, allocatable:: faceOp(:,:)
real(kind=rk), private :: elemLength
real(kind=rk), private :: bndBaryCoord(1:3)
real(kind=rk), private, allocatable:: faceMaterial(:,:)
integer, private :: signFact
integer, private :: iMode
integer, private :: jMode
integer, private :: nModes
integer, private :: modePos
real(kind=rk), private :: corrector(poly_proj%body_1D%ndofs,size(statedata%state,3))
real(kind=rk), private :: sidefact