Loading [MathJax]/extensions/tex2jax.js
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
bc_list Module Reference

Defines a list of bc_t.

Data Types

type  bc_list_t
 A list of allocatable `bc_t`. Follows the standard interface of lists. More...
 

Functions/Subroutines

subroutine bc_list_init (this, capacity)
 Constructor.
 
subroutine bc_list_free (this)
 Destructor.
 
subroutine bc_list_append (this, bc)
 Append a condition to the end of the list.
 
class(bc_t) function, pointer bc_list_get (this, i)
 Get the item at the given index.
 
subroutine bc_list_apply_scalar_array (this, x, n, t, tstep, strong)
 Apply a list of boundary conditions to a scalar field.
 
subroutine bc_list_apply_vector_array (this, x, y, z, n, t, tstep, strong)
 Apply a list of boundary conditions to a vector field.
 
subroutine bc_list_apply_scalar_field (this, x, t, tstep, strong)
 Apply a list of boundary conditions to a scalar field.
 
subroutine bc_list_apply_vector_field (this, x, y, z, t, tstep, strong)
 Apply a list of boundary conditions to a vector field.
 
pure logical function bc_list_strong (this, i)
 Return whether the bc is strong or not.
 
logical function bc_list_is_empty (this)
 Return whether the list is empty.
 
pure integer function bc_list_size (this)
 Return the number of items in the list.
 

Function/Subroutine Documentation

◆ bc_list_append()

subroutine bc_list::bc_list_append ( class(bc_list_t), intent(inout this,
class(bc_t), intent(inout), target  bc 
)
private
Parameters
bcThe boundary condition to add.

Will add the object to the list, even if the mask has zero size.

Definition at line 129 of file bc_list.f90.

◆ bc_list_apply_scalar_array()

subroutine bc_list::bc_list_apply_scalar_array ( class(bc_list_t), intent(inout this,
real(kind=rp), dimension(n), intent(inout x,
integer, intent(in n,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep,
logical, intent(in), optional  strong 
)
private
Parameters
xThe field to apply the boundary conditions to.
nThe size of x.
tCurrent time.
tstepCurrent time-step.
strongFilter for strong or weak boundary conditions. Default is to apply the whole list.

Definition at line 169 of file bc_list.f90.

◆ bc_list_apply_scalar_field()

subroutine bc_list::bc_list_apply_scalar_field ( class(bc_list_t), intent(inout this,
type(field_t), intent(inout x,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep,
logical, intent(in), optional  strong 
)
private
Parameters
xThe field to apply the boundary conditions to.
tCurrent time.
tstepCurrent time-step.
strongFilter for strong or weak boundary conditions. Default is to apply the whole list.

Definition at line 386 of file bc_list.f90.

◆ bc_list_apply_vector_array()

subroutine bc_list::bc_list_apply_vector_array ( class(bc_list_t), intent(inout this,
real(kind=rp), dimension(n), intent(inout x,
real(kind=rp), dimension(n), intent(inout y,
real(kind=rp), dimension(n), intent(inout z,
integer, intent(in n,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep,
logical, intent(in), optional  strong 
)
private
Parameters
xThe x comp of the field for which to apply the bcs.
yThe y comp of the field for which to apply the bcs.
zThe z comp of the field for which to apply the bcs.
nThe size of x, y, z.
tCurrent time.
tstepCurrent time-step.
strongFilter for strong or weak boundary conditions. Default is to apply the whole list.

Definition at line 273 of file bc_list.f90.

◆ bc_list_apply_vector_field()

subroutine bc_list::bc_list_apply_vector_field ( class(bc_list_t), intent(inout this,
type(field_t), intent(inout x,
type(field_t), intent(inout y,
type(field_t), intent(inout z,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep,
logical, intent(in), optional  strong 
)
private
Parameters
xThe x comp of the field for which to apply the bcs.
yThe y comp of the field for which to apply the bcs.
zThe z comp of the field for which to apply the bcs.
tCurrent time.
tstepCurrent time-step.
strongFilter for strong or weak boundary conditions. Default is to apply the whole list.

Definition at line 450 of file bc_list.f90.

◆ bc_list_free()

subroutine bc_list::bc_list_free ( class(bc_list_t), intent(inout this)
private
Note
This will only nullify all pointers, not deallocate any conditions pointed to by the list

Definition at line 110 of file bc_list.f90.

◆ bc_list_get()

class(bc_t) function, pointer bc_list::bc_list_get ( class(bc_list_t), intent(in this,
integer, intent(in i 
)
private
Parameters
iThe index of the item to get.
Returns
The item at the given index.

Definition at line 149 of file bc_list.f90.

◆ bc_list_init()

subroutine bc_list::bc_list_init ( class(bc_list_t), intent(inout), target  this,
integer, optional  capacity 
)
Parameters
sizeThe size of the list to allocate.

Definition at line 90 of file bc_list.f90.

◆ bc_list_is_empty()

logical function bc_list::bc_list_is_empty ( class(bc_list_t), intent(in), target  this)
private

Definition at line 574 of file bc_list.f90.

◆ bc_list_size()

pure integer function bc_list::bc_list_size ( class(bc_list_t), intent(in), target  this)
private

Definition at line 592 of file bc_list.f90.

◆ bc_list_strong()

pure logical function bc_list::bc_list_strong ( class(bc_list_t), intent(in), target  this,
integer, intent(in i 
)
private

Definition at line 565 of file bc_list.f90.