|
Neko 0.9.1
A portable framework for high-order spectral element flow simulations
|
Extension of the user defined dirichlet condition field_dirichlet
More...


Public Member Functions | |
| procedure, pass(this) | init_field (this, bc_name) |
| Initializes thisfield_bc. | |
| procedure, pass(this) | free (this) |
| Destructor. | |
| procedure, pass(this) | apply_scalar (this, x, n, t, tstep) |
| Apply scalar by performing a masked copy. | |
| procedure, pass(this) | apply_vector (this, x, y, z, n, t, tstep) |
| (No-op) Apply vector. | |
| procedure, pass(this) | apply_vector_dev (this, x_d, y_d, z_d, t, tstep) |
| (No-op) Apply vector (device). | |
| procedure, pass(this) | apply_scalar_dev (this, x_d, t, tstep) |
| Apply scalar (device). | |
| procedure, pass(this) | init_base (this, coef) |
| Constructor. | |
| procedure, pass(this) | free_base (this) |
| Destructor. | |
| procedure, pass(this) | mark_facet (this, facet, el) |
| Mark a facet on an element as part of the boundary condition. | |
| procedure, pass(this) | mark_facets (this, facet_list) |
| Mark all facets from a (facet, element) tuple list. | |
| procedure, pass(this) | mark_zones_from_list (this, bc_zones, bc_key, bc_labels) |
| Mark all facets from a list of zones, also marks type of bc in the mesh. | |
| procedure, pass(this) | mark_zone (this, bc_zone) |
| Mark all facets from a zone. | |
| procedure, pass(this) | finalize (this) |
| Finalize the construction of the bc by populting the msk and facet arrays. | |
| procedure(bc_apply_scalar), deferred, pass | apply_scalar (this, x, n, t, tstep) |
| Apply the boundary condition to a scalar field. | |
| procedure(bc_apply_vector), deferred, pass | apply_vector (this, x, y, z, n, t, tstep) |
| Apply the boundary condition to a vector field. | |
| procedure(bc_apply_scalar_dev), deferred, pass | apply_scalar_dev (this, x_d, t, tstep) |
| Device version of apply_scalar. | |
| procedure(bc_apply_vector_dev), deferred, pass | apply_vector_dev (this, x_d, y_d, z_d, t, tstep) |
| Device version of apply_vector. | |
| procedure(bc_destructor), deferred, pass | free (this) |
| Destructor. | |
Public Attributes | |
| type(field_dirichlet_t) | bc_u |
| type(field_dirichlet_t) | bc_v |
| type(field_dirichlet_t) | bc_w |
| type(field_list_t) | field_list |
| A field list to store the bcs for passing to various subroutines. | |
| type(bc_list_t) | bc_list |
| A bc list to store the bcs for passing to various subroutines. | |
| integer, dimension(:), allocatable | msk |
| The linear index of each node in each boundary facet. | |
| integer, dimension(:), allocatable | facet |
| A list of facet ids (1 to 6), one for each element in msk. | |
| type(dofmap_t), pointer | dof |
| Map of degrees of freedom. | |
| type(coef_t), pointer | coef |
| SEM coefficients. | |
| type(mesh_t), pointer | msh |
| The mesh. | |
| type(space_t), pointer | xh |
| The function space. | |
| type(stack_i4t2_t) | marked_facet |
| Index tuples (facet, element) marked as part of the boundary condition. | |
| type(c_ptr) | msk_d = C_NULL_PTR |
| Device pointer for msk. | |
| type(c_ptr) | facet_d = C_NULL_PTR |
| Device pointer for facet. | |
Static Public Attributes | |
| procedure(field_dirichlet_update), pointer, nopass | update => null() |
| Function pointer to the user routine performing the update of the values of the boundary fields. | |
Definition at line 54 of file field_dirichlet_vector.f90.
| procedure, pass(this) field_dirichlet_vector::field_dirichlet_vector_t::apply_scalar | ( | class(field_dirichlet_vector_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 | ||
| ) |
| x | Field onto which to copy the values (e.g. u,v,w,p or s). |
| n | Size of the array x. |
| t | Time. |
| tstep | Time step. |
Definition at line 74 of file field_dirichlet_vector.f90.
| procedure, pass(this) field_dirichlet_vector::field_dirichlet_vector_t::apply_scalar_dev | ( | class(field_dirichlet_vector_t), intent(inout), target | this, |
| type(c_ptr) | x_d, | ||
| real(kind=rp), intent(in), optional | t, | ||
| integer, intent(in), optional | tstep | ||
| ) |
| x_d | Device pointer to the field onto which to copy the values. |
| t | Time. |
| tstep | Time step. |
Definition at line 81 of file field_dirichlet_vector.f90.
|
pure virtualinherited |
| procedure, pass(this) field_dirichlet_vector::field_dirichlet_vector_t::apply_vector | ( | class(field_dirichlet_vector_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 | ||
| ) |
| x | x-component of the field onto which to apply the values. |
| y | y-component of the field onto which to apply the values. |
| z | z-component of the field onto which to apply the values. |
| n | Size of the x, y and z arrays. |
| t | Time. |
| tstep | Time step. |
Definition at line 76 of file field_dirichlet_vector.f90.
| procedure, pass(this) field_dirichlet_vector::field_dirichlet_vector_t::apply_vector_dev | ( | class(field_dirichlet_vector_t), intent(inout), target | this, |
| type(c_ptr) | x_d, | ||
| type(c_ptr) | y_d, | ||
| type(c_ptr) | z_d, | ||
| real(kind=rp), intent(in), optional | t, | ||
| integer, intent(in), optional | tstep | ||
| ) |
| x | x-component of the field onto which to apply the values. |
| y | y-component of the field onto which to apply the values. |
| z | z-component of the field onto which to apply the values. |
| t | Time. |
| tstep | Time step. |
Definition at line 78 of file field_dirichlet_vector.f90.
| procedure, pass(this) field_dirichlet_vector::field_dirichlet_vector_t::free | ( | class(field_dirichlet_vector_t), intent(inout), target | this | ) |
Definition at line 72 of file field_dirichlet_vector.f90.
| procedure, pass(this) field_dirichlet_vector::field_dirichlet_vector_t::init_field | ( | class(field_dirichlet_vector_t), intent(inout) | this, |
| character(len=*), intent(in) | bc_name | ||
| ) |
Definition at line 70 of file field_dirichlet_vector.f90.
| type(bc_list_t) field_dirichlet_vector::field_dirichlet_vector_t::bc_list |
Definition at line 64 of file field_dirichlet_vector.f90.
| type(field_dirichlet_t) field_dirichlet_vector::field_dirichlet_vector_t::bc_u |
Definition at line 56 of file field_dirichlet_vector.f90.
| type(field_dirichlet_t) field_dirichlet_vector::field_dirichlet_vector_t::bc_v |
Definition at line 58 of file field_dirichlet_vector.f90.
| type(field_dirichlet_t) field_dirichlet_vector::field_dirichlet_vector_t::bc_w |
Definition at line 60 of file field_dirichlet_vector.f90.
|
inherited |
|
inherited |
| type(field_list_t) field_dirichlet_vector::field_dirichlet_vector_t::field_list |
Definition at line 62 of file field_dirichlet_vector.f90.
|
inherited |
|
inherited |
|
static |
Definition at line 67 of file field_dirichlet_vector.f90.