Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
normal_vec_bcs::normal_vec_bcs_t Type Reference

Dirichlet condition in facet normal direction. More...

Inheritance diagram for normal_vec_bcs::normal_vec_bcs_t:
Collaboration diagram for normal_vec_bcs::normal_vec_bcs_t:

Public Member Functions

procedure, pass(thisapply_scalar (this, x, n, time, strong)
 No-op scalar apply.
 
procedure, pass(thisapply_scalar_dev (this, x_d, time, strong, strm)
 No-op scalar apply on device.
 
procedure, pass(thisapply_vector (this, x, y, z, n, time, strong)
 No-op vector apply.
 
procedure, pass(thisapply_vector_dev (this, x_d, y_d, z_d, time, strong, strm)
 No-op vector apply on device.
 
procedure, pass(thisapply_n_dot (this, f, u, v, w, n, time)
 Apply the dot product of a vector field with facet normal.
 
procedure, pass(thisapply_n_cross (this, x, y, z, u, v, w, n, time)
 Apply n x u.
 
procedure, pass(thisinit (this, coef, json)
 Constructor.
 
procedure, pass(thisinit_from_components (this, coef)
 Constructor from components.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisfinalize (this, only_facets)
 Finalize.
 

Public Attributes

integer, dimension(:), allocatable unique_mask
 
type(c_ptrunique_mask_d = c_null_ptr
 
type(vector_t) nx
 
type(vector_t) ny
 
type(vector_t) nz
 
type(vector_t) work
 

Detailed Description

Definition at line 52 of file normal_vec_bcs.f90.

Member Function/Subroutine Documentation

◆ apply_n_cross()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::apply_n_cross ( class(normal_vec_bcs_t), intent(in 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,
real(kind=rp), dimension(n), intent(inout u,
real(kind=rp), dimension(n), intent(inout v,
real(kind=rp), dimension(n), intent(inout w,
integer, intent(in n,
type(time_state_t), intent(in), optional  time 
)
Parameters
[in]thisThe boundary condition object.
[in,out]xOutput x-component of n x u.
[in,out]yOutput y-component of n x u.
[in,out]zOutput z-component of n x u.
[in]uVector x-component.
[in]vVector y-component.
[in]wVector z-component.
[in]nNumber of entries.
[in]timeTime state (unused).

Definition at line 64 of file normal_vec_bcs.f90.

◆ apply_n_dot()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::apply_n_dot ( class(normal_vec_bcs_t), intent(in this,
real(kind=rp), dimension(n), intent(inout f,
real(kind=rp), dimension(n), intent(inout u,
real(kind=rp), dimension(n), intent(inout v,
real(kind=rp), dimension(n), intent(inout w,
integer, intent(in n,
type(time_state_t), intent(in), optional  time 
)
Parameters
[in]thisThe boundary condition object.
[in,out]fOutput array for the dot product.
[in]uVector x-component.
[in]vVector y-component.
[in]wVector z-component.
[in]nNumber of entries.
[in]timeTime state (unused).

Definition at line 63 of file normal_vec_bcs.f90.

◆ apply_scalar()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::apply_scalar ( class(normal_vec_bcs_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 
)
Parameters
[in,out]thisThe boundary condition object.
[in,out]xScalar field values.
[in]nNumber of scalar entries.
[in]timeTime state (unused).
[in]strongStrong enforcement flag (unused).

Definition at line 57 of file normal_vec_bcs.f90.

◆ apply_scalar_dev()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::apply_scalar_dev ( class(normal_vec_bcs_t), intent(inout), target  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 strm 
)
Parameters
[in,out]thisThe boundary condition object.
[in,out]x_dDevice pointer to scalar field values.
[in]timeTime state (unused).
[in]strongStrong enforcement flag (unused).
[in,out]strmDevice stream handle.

Definition at line 58 of file normal_vec_bcs.f90.

◆ apply_vector()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::apply_vector ( class(normal_vec_bcs_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 
)
Parameters
[in,out]thisThe boundary condition object.
[in,out]xVector x-component.
[in,out]yVector y-component.
[in,out]zVector z-component.
[in]nNumber of entries.
[in]timeTime state (unused).
[in]strongStrong enforcement flag (unused).

Definition at line 60 of file normal_vec_bcs.f90.

◆ apply_vector_dev()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::apply_vector_dev ( class(normal_vec_bcs_t), intent(inout), target  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 strm 
)
Parameters
[in,out]thisThe boundary condition object.
[in,out]x_dDevice pointer to x-component.
[in,out]y_dDevice pointer to y-component.
[in,out]z_dDevice pointer to z-component.
[in]timeTime state (unused).
[in]strongStrong enforcement flag (unused).
[in,out]strmDevice stream handle.

Definition at line 61 of file normal_vec_bcs.f90.

◆ finalize()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::finalize ( class(normal_vec_bcs_t), intent(inout), target  this,
logical, intent(in), optional  only_facets 
)
Parameters
[in,out]thisThe boundary condition object.
[in]only_facetsEnforce facet-only mask handling.

Definition at line 73 of file normal_vec_bcs.f90.

◆ free()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::free ( class(normal_vec_bcs_t), intent(inout), target  this)
Parameters
[in,out]thisThe boundary condition object.

Definition at line 71 of file normal_vec_bcs.f90.

◆ init()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::init ( class(normal_vec_bcs_t), intent(inout), target  this,
type(coef_t), intent(in), target  coef,
type(json_file), intent(inout json 
)
Parameters
[in,out]thisThe boundary condition object.
[in]coefThe SEM coefficients.
[in,out]jsonThe JSON object configuring the boundary condition.

Definition at line 66 of file normal_vec_bcs.f90.

◆ init_from_components()

procedure, pass(this) normal_vec_bcs::normal_vec_bcs_t::init_from_components ( class(normal_vec_bcs_t), intent(inout), target  this,
type(coef_t), intent(in), target  coef 
)
Parameters
[in,out]thisThe boundary condition object.
[in]coefThe SEM coefficients.

Definition at line 68 of file normal_vec_bcs.f90.

Member Data Documentation

◆ nx

type(vector_t) normal_vec_bcs::normal_vec_bcs_t::nx

Definition at line 55 of file normal_vec_bcs.f90.

◆ ny

type(vector_t) normal_vec_bcs::normal_vec_bcs_t::ny

Definition at line 55 of file normal_vec_bcs.f90.

◆ nz

type(vector_t) normal_vec_bcs::normal_vec_bcs_t::nz

Definition at line 55 of file normal_vec_bcs.f90.

◆ unique_mask

integer, dimension(:), allocatable normal_vec_bcs::normal_vec_bcs_t::unique_mask

Definition at line 53 of file normal_vec_bcs.f90.

◆ unique_mask_d

type(c_ptr) normal_vec_bcs::normal_vec_bcs_t::unique_mask_d = c_null_ptr

Definition at line 54 of file normal_vec_bcs.f90.

◆ work

type(vector_t) normal_vec_bcs::normal_vec_bcs_t::work

Definition at line 55 of file normal_vec_bcs.f90.


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