Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
field_dirichlet_vector::field_dirichlet_vector_t Type Referenceabstract

Extension of the user defined dirichlet condition field_dirichlet More...

Inheritance diagram for field_dirichlet_vector::field_dirichlet_vector_t:
Collaboration diagram for field_dirichlet_vector::field_dirichlet_vector_t:

Public Member Functions

procedure, pass(thisinit_field (this, bc_name)
 Initializes thisfield_bc.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisapply_scalar (this, x, n, t, tstep)
 Apply scalar by performing a masked copy.
 
procedure, pass(thisapply_vector (this, x, y, z, n, t, tstep)
 (No-op) Apply vector.
 
procedure, pass(thisapply_vector_dev (this, x_d, y_d, z_d, t, tstep)
 (No-op) Apply vector (device).
 
procedure, pass(thisapply_scalar_dev (this, x_d, t, tstep)
 Apply scalar (device).
 
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

type(field_dirichlet_tbc_u
 
type(field_dirichlet_tbc_v
 
type(field_dirichlet_tbc_w
 
type(field_list_tfield_list
 A field list to store the bcs for passing to various subroutines.
 
type(bc_list_tbc_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.
 

Detailed Description

Definition at line 55 of file field_dirichlet_vector.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) 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 
)
Parameters
xField onto which to copy the values (e.g. u,v,w,p or s).
nSize of the array x.
tTime.
tstepTime step.

Definition at line 75 of file field_dirichlet_vector.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) 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 
)
Parameters
x_dDevice pointer to the field onto which to copy the values.
tTime.
tstepTime step.

Definition at line 82 of file field_dirichlet_vector.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) 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 
)
Parameters
xx-component of the field onto which to apply the values.
yy-component of the field onto which to apply the values.
zz-component of the field onto which to apply the values.
nSize of the x, y and z arrays.
tTime.
tstepTime step.

Definition at line 77 of file field_dirichlet_vector.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) 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 
)
Parameters
xx-component of the field onto which to apply the values.
yy-component of the field onto which to apply the values.
zz-component of the field onto which to apply the values.
tTime.
tstepTime step.

Definition at line 79 of file field_dirichlet_vector.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) field_dirichlet_vector::field_dirichlet_vector_t::free ( class(field_dirichlet_vector_t), intent(inout), target  this)

Definition at line 73 of file field_dirichlet_vector.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.

◆ init_field()

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 71 of file field_dirichlet_vector.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(in 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(in 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.

Member Data Documentation

◆ bc_list

type(bc_list_t) field_dirichlet_vector::field_dirichlet_vector_t::bc_list

Definition at line 65 of file field_dirichlet_vector.f90.

◆ bc_u

type(field_dirichlet_t) field_dirichlet_vector::field_dirichlet_vector_t::bc_u

Definition at line 57 of file field_dirichlet_vector.f90.

◆ bc_v

type(field_dirichlet_t) field_dirichlet_vector::field_dirichlet_vector_t::bc_v

Definition at line 59 of file field_dirichlet_vector.f90.

◆ bc_w

type(field_dirichlet_t) field_dirichlet_vector::field_dirichlet_vector_t::bc_w

Definition at line 61 of file field_dirichlet_vector.f90.

◆ 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.

◆ 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.

◆ field_list

type(field_list_t) field_dirichlet_vector::field_dirichlet_vector_t::field_list

Definition at line 63 of file field_dirichlet_vector.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.

◆ update

procedure(field_dirichlet_update), pointer, nopass field_dirichlet_vector::field_dirichlet_vector_t::update => null()
static

Definition at line 68 of file field_dirichlet_vector.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: