Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
A list of allocatable `bc_t`. Follows the standard interface of lists. More...
Public Member Functions | |
procedure, pass(this) | init (this, capacity) |
Constructor. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | append (this, bc) |
Append an item to the end of the list. | |
procedure, pass(this) | get (this, i) |
Get the item at the given index. | |
procedure, pass(this) | is_empty (this) |
Check whether the list is empty. | |
procedure, pass(this) | strong (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(this) | apply_scalar (this, x, n, t, tstep, strong) |
Apply the boundary conditions to a scalar array. | |
procedure, pass(this) | apply_vector (this, x, y, z, n, t, tstep, strong) |
Apply the boundary conditions to a vector array. | |
procedure, pass(this) | apply_scalar_field (this, x, t, tstep, strong) |
Apply the boundary conditions to a scalar field. | |
procedure, pass(this) | apply_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. | |
Definition at line 47 of file bc_list.f90.
procedure, pass(this) bc_list::bc_list_t::append | ( | class(bc_list_t), intent(inout) | this, |
class(bc_t), intent(inout), target | bc | ||
) |
bc | The 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.
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 | ||
) |
x | The field to apply the boundary conditions to. |
n | The size of x. |
t | Current time. |
tstep | Current time-step. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
Definition at line 74 of file bc_list.f90.
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 | ||
) |
x | The field to apply the boundary conditions to. |
t | Current time. |
tstep | Current time-step. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
Definition at line 74 of file bc_list.f90.
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 | ||
) |
x | The x comp of the field for which to apply the bcs. |
y | The y comp of the field for which to apply the bcs. |
z | The z comp of the field for which to apply the bcs. |
n | The size of x, y, z. |
t | Current time. |
tstep | Current time-step. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
Definition at line 74 of file bc_list.f90.
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 | ||
) |
x | The x comp of the field for which to apply the bcs. |
y | The y comp of the field for which to apply the bcs. |
z | The z comp of the field for which to apply the bcs. |
t | Current time. |
tstep | Current time-step. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
Definition at line 74 of file bc_list.f90.
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 | ||
) |
x | The field to apply the boundary conditions to. |
n | The size of x. |
t | Current time. |
tstep | Current time-step. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
Definition at line 77 of file bc_list.f90.
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 | ||
) |
x | The field to apply the boundary conditions to. |
t | Current time. |
tstep | Current time-step. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
Definition at line 81 of file bc_list.f90.
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 | ||
) |
x | The x comp of the field for which to apply the bcs. |
y | The y comp of the field for which to apply the bcs. |
z | The z comp of the field for which to apply the bcs. |
n | The size of x, y, z. |
t | Current time. |
tstep | Current time-step. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
Definition at line 79 of file bc_list.f90.
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 | ||
) |
x | The x comp of the field for which to apply the bcs. |
y | The y comp of the field for which to apply the bcs. |
z | The z comp of the field for which to apply the bcs. |
t | Current time. |
tstep | Current time-step. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
Definition at line 83 of file bc_list.f90.
Definition at line 59 of file bc_list.f90.
procedure, pass(this) bc_list::bc_list_t::get | ( | class(bc_list_t), intent(in) | this, |
integer, intent(in) | i | ||
) |
i | The index of the item to get. |
Definition at line 64 of file bc_list.f90.
procedure, pass(this) bc_list::bc_list_t::init | ( | class(bc_list_t), intent(inout), target | this, |
integer, optional | capacity | ||
) |
size | The size of the list to allocate. |
Definition at line 57 of file bc_list.f90.
Definition at line 67 of file bc_list.f90.
Definition at line 71 of file bc_list.f90.
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.
Definition at line 54 of file bc_list.f90.
|
private |
Definition at line 49 of file bc_list.f90.
Definition at line 51 of file bc_list.f90.