Neko 0.9.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
usr_inflow::usr_inflow_t Type Referenceabstract

User defined dirichlet condition for inlet (vector valued) More...

Inheritance diagram for usr_inflow::usr_inflow_t:
Collaboration diagram for usr_inflow::usr_inflow_t:

Public Member Functions

procedure, pass(thisapply_scalar (this, x, n, t, tstep)
 No-op scalar apply.
 
procedure, pass(thisapply_vector (this, x, y, z, n, t, tstep)
 Apply user defined inflow conditions (vector valued)
 
procedure, pass(thisvalidate (this)
 Validate user inflow condition.
 
procedure, pass(thisset_eval (this, usr_eval)
 Assign user provided eval function.
 
procedure, pass(thisapply_vector_dev (this, x_d, y_d, z_d, t, tstep)
 
procedure, pass(thisapply_scalar_dev (this, x_d, t, tstep)
 No-op scalar apply (device version)
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisinit_base (this, coef)
 Constructor.
 
procedure, pass(thisfree_base (this)
 Destructor.
 
procedure, pass(thismark_facet (this, facet, el)
 Mark a facet on an element as part of the boundary condition.
 
procedure, pass(thismark_facets (this, facet_list)
 Mark all facets from a (facet, element) tuple list.
 
procedure, pass(thismark_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(thismark_zone (this, bc_zone)
 Mark all facets from a zone.
 
procedure, pass(thisfinalize (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

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(usr_inflow_eval), pointer, nopass eval => null()
 

Private Attributes

type(c_ptr), private usr_x_d = C_NULL_PTR
 
type(c_ptr), private usr_y_d = C_NULL_PTR
 
type(c_ptr), private usr_z_d = C_NULL_PTR
 

Detailed Description

Definition at line 46 of file usr_inflow.f90.

Member Function/Subroutine Documentation

◆ apply_scalar() [1/2]

procedure(bc_apply_scalar), deferred, pass bc::bc_t::apply_scalar ( class(bc_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 
)
pure virtualinherited

Definition at line 87 of file bc.f90.

◆ apply_scalar() [2/2]

procedure, pass(this) usr_inflow::usr_inflow_t::apply_scalar ( class(usr_inflow_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 52 of file usr_inflow.f90.

◆ apply_scalar_dev() [1/2]

procedure(bc_apply_scalar_dev), deferred, pass bc::bc_t::apply_scalar_dev ( class(bc_t), intent(inout), target  this,
type(c_ptr)  x_d,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)
pure virtualinherited

Definition at line 91 of file bc.f90.

◆ apply_scalar_dev() [2/2]

procedure, pass(this) usr_inflow::usr_inflow_t::apply_scalar_dev ( class(usr_inflow_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 57 of file usr_inflow.f90.

◆ apply_vector() [1/2]

procedure(bc_apply_vector), deferred, pass bc::bc_t::apply_vector ( class(bc_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 
)
pure virtualinherited

Definition at line 89 of file bc.f90.

◆ apply_vector() [2/2]

procedure, pass(this) usr_inflow::usr_inflow_t::apply_vector ( class(usr_inflow_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 53 of file usr_inflow.f90.

◆ apply_vector_dev() [1/2]

procedure(bc_apply_vector_dev), deferred, pass bc::bc_t::apply_vector_dev ( class(bc_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 
)
pure virtualinherited

Definition at line 93 of file bc.f90.

◆ apply_vector_dev() [2/2]

procedure, pass(this) usr_inflow::usr_inflow_t::apply_vector_dev ( class(usr_inflow_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 56 of file usr_inflow.f90.

◆ finalize()

procedure, pass(this) bc::bc_t::finalize ( class(bc_t), intent(inout), target  this)
inherited

This will linearize the marked facet's indicies in the msk array.

Definition at line 85 of file bc.f90.

◆ free() [1/2]

procedure(bc_destructor), deferred, pass bc::bc_t::free ( class(bc_t), intent(inout), target  this)
pure virtualinherited

Definition at line 95 of file bc.f90.

◆ free() [2/2]

procedure, pass(this) usr_inflow::usr_inflow_t::free ( class(usr_inflow_t), intent(inout), target  this)

Definition at line 59 of file usr_inflow.f90.

◆ free_base()

procedure, pass(this) bc::bc_t::free_base ( class(bc_t), intent(inout this)
inherited

Definition at line 74 of file bc.f90.

◆ init_base()

procedure, pass(this) bc::bc_t::init_base ( class(bc_t), intent(inout this,
type(coef_t), intent(in), target  coef 
)
inherited
Parameters
dofMap of degrees of freedom.

Definition at line 72 of file bc.f90.

◆ mark_facet()

procedure, pass(this) bc::bc_t::mark_facet ( class(bc_t), intent(inout this,
integer, intent(in facet,
integer, intent(in el 
)
inherited
Parameters
facetThe index of the facet.
elThe index of the element.

Definition at line 76 of file bc.f90.

◆ mark_facets()

procedure, pass(this) bc::bc_t::mark_facets ( class(bc_t), intent(inout this,
type(stack_i4t2_t), intent(inout facet_list 
)
inherited
Parameters
facet_listThe list of tuples.

Definition at line 78 of file bc.f90.

◆ mark_zone()

procedure, pass(this) bc::bc_t::mark_zone ( class(bc_t), intent(inout this,
class(facet_zone_t), intent(inout bc_zone 
)
inherited
Parameters
bc_zoneBoundary zone to be marked.

Definition at line 82 of file bc.f90.

◆ mark_zones_from_list()

procedure, pass(this) bc::bc_t::mark_zones_from_list ( class(bc_t), intent(inout this,
class(facet_zone_t), dimension(:), intent(inout bc_zones,
character(len=*)  bc_key,
character(len=neko_msh_max_zlbl_len), dimension(:)  bc_labels 
)
inherited
Parameters
bc_zoneArray of boundary zones.
bc_keyBoundary condition label, e.g. 'w' for wall.
bc_labelList of boundary condition labels.

Definition at line 80 of file bc.f90.

◆ set_eval()

procedure, pass(this) usr_inflow::usr_inflow_t::set_eval ( class(usr_inflow_t), intent(inout this,
procedure(usr_inflow_eval usr_eval 
)
Parameters
user_evalUser specified boundary condition for u,v,w (vector)

Definition at line 55 of file usr_inflow.f90.

◆ validate()

procedure, pass(this) usr_inflow::usr_inflow_t::validate ( class(usr_inflow_t), intent(inout this)

Definition at line 54 of file usr_inflow.f90.

Member Data Documentation

◆ coef

type(coef_t), pointer bc::bc_t::coef
inherited

Definition at line 59 of file bc.f90.

◆ dof

type(dofmap_t), pointer bc::bc_t::dof
inherited

Definition at line 57 of file bc.f90.

◆ eval

procedure(usr_inflow_eval), pointer, nopass usr_inflow::usr_inflow_t::eval => null()
static

Definition at line 47 of file usr_inflow.f90.

◆ facet

integer, dimension(:), allocatable bc::bc_t::facet
inherited

Definition at line 55 of file bc.f90.

◆ facet_d

type(c_ptr) bc::bc_t::facet_d = C_NULL_PTR
inherited

Definition at line 69 of file bc.f90.

◆ marked_facet

type(stack_i4t2_t) bc::bc_t::marked_facet
inherited

Definition at line 65 of file bc.f90.

◆ msh

type(mesh_t), pointer bc::bc_t::msh
inherited

Definition at line 61 of file bc.f90.

◆ msk

integer, dimension(:), allocatable bc::bc_t::msk
inherited

Definition at line 53 of file bc.f90.

◆ msk_d

type(c_ptr) bc::bc_t::msk_d = C_NULL_PTR
inherited

Definition at line 67 of file bc.f90.

◆ usr_x_d

type(c_ptr), private usr_inflow::usr_inflow_t::usr_x_d = C_NULL_PTR
private

Definition at line 48 of file usr_inflow.f90.

◆ usr_y_d

type(c_ptr), private usr_inflow::usr_inflow_t::usr_y_d = C_NULL_PTR
private

Definition at line 49 of file usr_inflow.f90.

◆ usr_z_d

type(c_ptr), private usr_inflow::usr_inflow_t::usr_z_d = C_NULL_PTR
private

Definition at line 50 of file usr_inflow.f90.

◆ xh

type(space_t), pointer bc::bc_t::xh
inherited

Definition at line 63 of file bc.f90.


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