Neko 1.99.1
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, time, strong, strm) |
Apply all boundary conditions in the list. | |
generic | apply (this, x, y, z, n, time, strong, strm) |
Apply all boundary conditions in the list. | |
generic | apply (this, x_d, time, strong, strm) |
Apply all boundary conditions in the list. | |
generic | apply (this, x_d, y_d, z_d, time, strong, strm) |
Apply all boundary conditions in the list. | |
generic | apply (this, x, time, strong, strm) |
Apply all boundary conditions in the list. | |
generic | apply (this, x, y, z, time, strong, strm) |
Apply all boundary conditions in the list. | |
procedure, pass(this) | apply_scalar (this, x, n, time, strong, strm) |
Apply the boundary conditions to a scalar array. | |
procedure, pass(this) | apply_vector (this, x, y, z, n, time, strong, strm) |
Apply the boundary conditions to a vector array. | |
procedure, pass(this) | apply_scalar_device (this, x_d, time, strong, strm) |
Apply the boundary conditions to a scalar device array. | |
procedure, pass(this) | apply_vector_device (this, x_d, y_d, z_d, time, strong, strm) |
Apply the boundary conditions to a vector device array. | |
procedure, pass(this) | apply_scalar_field (this, x, time, strong, strm) |
Apply the boundary conditions to a scalar field. | |
procedure, pass(this) | apply_vector_field (this, x, y, z, time, strong, strm) |
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 48 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 63 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, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
x | The field to apply the boundary conditions to. |
n | The size of x. |
time | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device strm |
Definition at line 75 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(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
x | The field to apply the boundary conditions to. |
time | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device stream |
Definition at line 75 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, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
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 state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device stream |
Definition at line 75 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, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
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. |
time | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device stream |
Definition at line 75 of file bc_list.f90.
generic bc_list::bc_list_t::apply | ( | class(bc_list_t), intent(inout) | this, |
type(c_ptr), intent(inout) | x_d, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
x_d | The field to apply the boundary conditions to. |
time | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device strm |
Definition at line 75 of file bc_list.f90.
generic bc_list::bc_list_t::apply | ( | class(bc_list_t), intent(inout) | this, |
type(c_ptr), intent(inout) | x_d, | ||
type(c_ptr), intent(inout) | y_d, | ||
type(c_ptr), intent(inout) | z_d, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
x_d | The x comp of the field for which to apply the bcs. |
y_d | The y comp of the field for which to apply the bcs. |
z_d | The z comp of the field for which to apply the bcs. |
t | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device stream |
Definition at line 75 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, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
x | The field to apply the boundary conditions to. |
n | The size of x. |
time | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device strm |
Definition at line 79 of file bc_list.f90.
procedure, pass(this) bc_list::bc_list_t::apply_scalar_device | ( | class(bc_list_t), intent(inout) | this, |
type(c_ptr), intent(inout) | x_d, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
x_d | The field to apply the boundary conditions to. |
time | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device strm |
Definition at line 83 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, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
x | The field to apply the boundary conditions to. |
time | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device stream |
Definition at line 87 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, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
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 state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device stream |
Definition at line 81 of file bc_list.f90.
procedure, pass(this) bc_list::bc_list_t::apply_vector_device | ( | class(bc_list_t), intent(inout) | this, |
type(c_ptr), intent(inout) | x_d, | ||
type(c_ptr), intent(inout) | y_d, | ||
type(c_ptr), intent(inout) | z_d, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
x_d | The x comp of the field for which to apply the bcs. |
y_d | The y comp of the field for which to apply the bcs. |
z_d | The z comp of the field for which to apply the bcs. |
t | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device stream |
Definition at line 85 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, | ||
type(time_state_t), intent(in), optional | time, | ||
logical, intent(in), optional | strong, | ||
type(c_ptr), intent(inout), optional | strm | ||
) |
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. |
time | Current time state. |
strong | Filter for strong or weak boundary conditions. Default is to apply the whole list. |
strm | Device stream |
Definition at line 89 of file bc_list.f90.
Definition at line 60 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 65 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 58 of file bc_list.f90.
Definition at line 68 of file bc_list.f90.
Definition at line 72 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 70 of file bc_list.f90.
Definition at line 55 of file bc_list.f90.
|
private |
Definition at line 50 of file bc_list.f90.
Definition at line 52 of file bc_list.f90.