Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
Dong outflow condition Follows "A Convective-like Energy-Stable Open Boundary Condition for Simulations of Incompressible Flows" by S. Dong. More...
Public Member Functions | |
procedure, pass(this) | apply_scalar (this, x, n, t, tstep) |
Boundary condition apply for a generic Dirichlet condition to a vector x. | |
procedure, pass(this) | apply_vector (this, x, y, z, n, t, tstep) |
Boundary condition apply for a generic Dirichlet condition to vectors x, y and z. | |
procedure, pass(this) | apply_scalar_dev (this, x_d, t, tstep) |
Boundary condition apply for a generic Dirichlet condition to a vector x (device version) | |
procedure, pass(this) | apply_vector_dev (this, x_d, y_d, z_d, t, tstep) |
Boundary condition apply for a generic Dirichlet condition to vectors x, y and z (device version) | |
procedure, pass(this) | init (this, coef, json) |
procedure, pass(this) | free (this) |
Destructor. | |
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_t), pointer | u |
type(field_t), pointer | v |
type(field_t), pointer | w |
real(kind=rp) | delta |
real(kind=rp) | uinf |
type(c_ptr) | normal_x_d |
type(c_ptr) | normal_y_d |
type(c_ptr) | normal_z_d |
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. | |
Definition at line 57 of file dong_outflow.f90.
procedure, pass(this) dong_outflow::dong_outflow_t::apply_scalar | ( | class(dong_outflow_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 | ||
) |
Definition at line 67 of file dong_outflow.f90.
procedure, pass(this) dong_outflow::dong_outflow_t::apply_scalar_dev | ( | class(dong_outflow_t), intent(inout), target | this, |
type(c_ptr) | x_d, | ||
real(kind=rp), intent(in), optional | t, | ||
integer, intent(in), optional | tstep | ||
) |
Definition at line 69 of file dong_outflow.f90.
|
pure virtualinherited |
procedure, pass(this) dong_outflow::dong_outflow_t::apply_vector | ( | class(dong_outflow_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 | ||
) |
Definition at line 68 of file dong_outflow.f90.
procedure, pass(this) dong_outflow::dong_outflow_t::apply_vector_dev | ( | class(dong_outflow_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 | ||
) |
Definition at line 70 of file dong_outflow.f90.
procedure, pass(this) dong_outflow::dong_outflow_t::free | ( | class(dong_outflow_t), intent(inout), target | this | ) |
Definition at line 73 of file dong_outflow.f90.
procedure, pass(this) dong_outflow::dong_outflow_t::init | ( | class(dong_outflow_t), intent(inout) | this, |
type(coef_t), intent(in) | coef, | ||
type(json_file), intent(inout) | json | ||
) |
Definition at line 71 of file dong_outflow.f90.
Definition at line 61 of file dong_outflow.f90.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
type(c_ptr) dong_outflow::dong_outflow_t::normal_x_d |
Definition at line 63 of file dong_outflow.f90.
type(c_ptr) dong_outflow::dong_outflow_t::normal_y_d |
Definition at line 64 of file dong_outflow.f90.
type(c_ptr) dong_outflow::dong_outflow_t::normal_z_d |
Definition at line 65 of file dong_outflow.f90.
Definition at line 58 of file dong_outflow.f90.
Definition at line 62 of file dong_outflow.f90.
Definition at line 59 of file dong_outflow.f90.
Definition at line 60 of file dong_outflow.f90.