boundaries_perp_m Module

Setting of perpendicular boundary conditions



Subroutines

public subroutine set_perpbnds(mesh, bnd_descrs, u, bnd_vals)

Sets non-homogeneous perpendicular boundary condition for some quantity u

Arguments

Type IntentOptional Attributes Name
type(mesh_cart_t), intent(in) :: mesh

Mesh

integer, intent(in), dimension(mesh%get_n_points_boundary()) :: bnd_descrs

Descriptors for boundary condition at individual boundary points

real(kind=FP), intent(inout), dimension(mesh%get_n_points()) :: u

Variable for which boundary conditions are set

real(kind=FP), intent(in), optional, dimension(mesh%get_n_points_boundary()) :: bnd_vals

Values (or normal gradient) for boundary condition, default homogeneous=0

public subroutine compute_bndnmn_matrix_row(mesh, ind, cols, vals, nz)

Computes single row of Neumann boundary matrix

Arguments

Type IntentOptional Attributes Name
type(mesh_cart_t), intent(in) :: mesh

Mesh

integer, intent(in) :: ind

Mesh index (=row of boundary matrix) MUST be a boundary index

integer, intent(out), dimension(3) :: cols

Column indices, where non-zero values may be present

real(kind=FP), intent(out), dimension(3) :: vals

Values of non-zero elements

integer, intent(out) :: nz

Number of non-zero elements

public subroutine bnd_types_to_bnd_descrs(mesh, bnd_type_core, bnd_type_wall, bnd_type_dome, bnd_type_out, bnd_descrs)

Arguments

Type IntentOptional Attributes Name
type(mesh_cart_t), intent(in) :: mesh

Mesh

integer, intent(in) :: bnd_type_core

Boundary type for core boundary

integer, intent(in) :: bnd_type_wall

Boundary type for wall boundary

integer, intent(in) :: bnd_type_dome

Boundary type for dome boundary

integer, intent(in) :: bnd_type_out

Boundary type for outer(mask) boundary

integer, intent(out), dimension(mesh%get_n_points_boundary()) :: bnd_descrs

Boundary descriptors on boundary points

public subroutine extrapolate_ghost_points(mesh, u)

Extrapolates ghost points via inverse distance extrapolation

Arguments

Type IntentOptional Attributes Name
type(mesh_cart_t), intent(in) :: mesh

Mesh

real(kind=FP), intent(inout), dimension(mesh%get_n_points()) :: u

Variable for which ghost points are set