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::bc_list_t Type Reference

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

Public Member Functions

procedure, pass(thisinit (this, capacity)
 Constructor.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisappend (this, bc)
 Append an item to the end of the list.
 
procedure, pass(thisget (this, i)
 Get the item at the given index.
 
procedure, pass(thisis_empty (this)
 Check whether the list is empty.
 
procedure, pass(thisstrong (this, i)
 Return wether a given item is a strong bc.
 
procedure size (this)
 Return the number of items in the list.
 
generic apply (this, x, n, t, tstep, strong)
 Apply all boundary conditions in the list.
 
generic apply (this, x, y, z, n, t, tstep, strong)
 Apply all boundary conditions in the list.
 
generic apply (this, x, t, tstep, strong)
 Apply all boundary conditions in the list.
 
generic apply (this, x, y, z, t, tstep, strong)
 Apply all boundary conditions in the list.
 
procedure, pass(thisapply_scalar (this, x, n, t, tstep, strong)
 Apply the boundary conditions to a scalar array.
 
procedure, pass(thisapply_vector (this, x, y, z, n, t, tstep, strong)
 Apply the boundary conditions to a vector array.
 
procedure, pass(thisapply_scalar_field (this, x, t, tstep, strong)
 Apply the boundary conditions to a scalar field.
 
procedure, pass(thisapply_vector_field (this, x, y, z, t, tstep, strong)
 Apply the boundary conditions to a vector field.
 

Private Attributes

class(bc_ptr_t), dimension(:), allocatable, private items
 
integer, private size_
 Number of items in the list that are themselves allocated.
 
integer, private capacity
 Capacity, i.e. the size of the items list. Some items may themselves be unallocated.
 

Detailed Description

Definition at line 47 of file bc_list.f90.

Member Function/Subroutine Documentation

◆ append()

procedure, pass(this) bc_list::bc_list_t::append ( class(bc_list_t), intent(inout this,
class(bc_t), intent(inout), target  bc 
)
Parameters
bcThe boundary condition to add.

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

Definition at line 62 of file bc_list.f90.

◆ apply() [1/4]

generic bc_list::bc_list_t::apply ( 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 
)
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 74 of file bc_list.f90.

◆ apply() [2/4]

generic bc_list::bc_list_t::apply ( 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 
)
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 74 of file bc_list.f90.

◆ apply() [3/4]

generic bc_list::bc_list_t::apply ( 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 
)
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 74 of file bc_list.f90.

◆ apply() [4/4]

generic bc_list::bc_list_t::apply ( 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 
)
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 74 of file bc_list.f90.

◆ apply_scalar()

procedure, pass(this) bc_list::bc_list_t::apply_scalar ( 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 
)
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 77 of file bc_list.f90.

◆ apply_scalar_field()

procedure, pass(this) bc_list::bc_list_t::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 
)
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 81 of file bc_list.f90.

◆ apply_vector()

procedure, pass(this) bc_list::bc_list_t::apply_vector ( 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 
)
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 79 of file bc_list.f90.

◆ apply_vector_field()

procedure, pass(this) bc_list::bc_list_t::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 
)
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 83 of file bc_list.f90.

◆ free()

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

Definition at line 59 of file bc_list.f90.

◆ get()

procedure, pass(this) bc_list::bc_list_t::get ( class(bc_list_t), intent(in this,
integer, intent(in i 
)
Parameters
iThe index of the item to get.
Returns
The item at the given index.

Definition at line 64 of file bc_list.f90.

◆ init()

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

Definition at line 57 of file bc_list.f90.

◆ is_empty()

procedure, pass(this) bc_list::bc_list_t::is_empty ( class(bc_list_t), intent(in), target  this)

Definition at line 67 of file bc_list.f90.

◆ size()

procedure bc_list::bc_list_t::size ( class(bc_list_t), intent(in), target  this)

Definition at line 71 of file bc_list.f90.

◆ strong()

procedure, pass(this) bc_list::bc_list_t::strong ( class(bc_list_t), intent(in), target  this,
integer, intent(in i 
)

Definition at line 69 of file bc_list.f90.

Member Data Documentation

◆ capacity

integer, private bc_list::bc_list_t::capacity
private

Definition at line 54 of file bc_list.f90.

◆ items

class(bc_ptr_t), dimension(:), allocatable, private bc_list::bc_list_t::items
private

Definition at line 49 of file bc_list.f90.

◆ size_

integer, private bc_list::bc_list_t::size_
private

Definition at line 51 of file bc_list.f90.


The documentation for this type was generated from the following file: