Neko 1.99.6
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
lpt_periodic_bc::lpt_periodic_bc_t Type Reference

Public Member Functions

procedure, pass(thisfree (this)
 Free periodic-boundary wrapping metadata.
 
procedure, pass(thisinit (this, msh, dm_xh, coef)
 Initialise rotational or translational periodic wrapping from the mesh.
 
procedure, pass(thiswrap (this, x, y, z, n, u, v, w, u_lag, v_lag, w_lag, u_laglag, v_laglag, w_laglag, acc_xlag, acc_ylag, acc_zlag, acc_xlaglag, acc_ylaglag, acc_zlaglag)
 Wrap particle positions and optional vector histories across boundaries.
 

Public Attributes

logical periodic_enabled = .false.
 
logical rotational_periodic_enabled = .false.
 
integer n_periodic_dirs = 0
 
real(kind=rp) periodic_shift_x1 = 0.0_rp
 
real(kind=rp) periodic_shift_y1 = 0.0_rp
 
real(kind=rp) periodic_shift_z1 = 0.0_rp
 
real(kind=rp) periodic_shift_x2 = 0.0_rp
 
real(kind=rp) periodic_shift_y2 = 0.0_rp
 
real(kind=rp) periodic_shift_z2 = 0.0_rp
 
real(kind=rp) periodic_shift_x3 = 0.0_rp
 
real(kind=rp) periodic_shift_y3 = 0.0_rp
 
real(kind=rp) periodic_shift_z3 = 0.0_rp
 
real(kind=rp) periodic_dir_x1 = 0.0_rp
 
real(kind=rp) periodic_dir_y1 = 0.0_rp
 
real(kind=rp) periodic_dir_z1 = 0.0_rp
 
real(kind=rp) periodic_dir_x2 = 0.0_rp
 
real(kind=rp) periodic_dir_y2 = 0.0_rp
 
real(kind=rp) periodic_dir_z2 = 0.0_rp
 
real(kind=rp) periodic_dir_x3 = 0.0_rp
 
real(kind=rp) periodic_dir_y3 = 0.0_rp
 
real(kind=rp) periodic_dir_z3 = 0.0_rp
 
real(kind=rp) periodic_min1 = 0.0_rp
 
real(kind=rp) periodic_min2 = 0.0_rp
 
real(kind=rp) periodic_min3 = 0.0_rp
 
real(kind=rp) periodic_max1 = 0.0_rp
 
real(kind=rp) periodic_max2 = 0.0_rp
 
real(kind=rp) periodic_max3 = 0.0_rp
 
real(kind=rp) periodic_len1 = 0.0_rp
 
real(kind=rp) periodic_len2 = 0.0_rp
 
real(kind=rp) periodic_len3 = 0.0_rp
 
real(kind=rp) rotational_theta_min = 0.0_rp
 
real(kind=rp) rotational_theta_max = 0.0_rp
 
real(kind=rp) rotational_theta_len = 0.0_rp
 

Private Member Functions

procedure, pass(this), private reset (this)
 Reset all periodic wrapping flags, directions, and extents.
 
procedure, pass(this), private init_rotational (this, msh, dm_xh, coef)
 Detect and initialise rotational periodic wrapping.
 
procedure, pass(this), private init_translational (this, msh)
 Detect unique translational periodic directions from facet pairs.
 

Detailed Description

Definition at line 54 of file lpt_periodic_bc.f90.

Member Function/Subroutine Documentation

◆ free()

procedure, pass(this) lpt_periodic_bc::lpt_periodic_bc_t::free ( class(lpt_periodic_bc_t), intent(inout this)

Definition at line 89 of file lpt_periodic_bc.f90.

◆ init()

procedure, pass(this) lpt_periodic_bc::lpt_periodic_bc_t::init ( class(lpt_periodic_bc_t), intent(inout this,
type(mesh_t), intent(in), target  msh,
type(dofmap_t), intent(in dm_xh,
type(coef_t), intent(in coef 
)
Parameters
mshMesh containing periodic facet pairing.
dm_XhCoordinate dofmap used for rotational extents.
coefCoefficients used to identify cyclic geometry.

Definition at line 90 of file lpt_periodic_bc.f90.

◆ init_rotational()

procedure, pass(this), private lpt_periodic_bc::lpt_periodic_bc_t::init_rotational ( class(lpt_periodic_bc_t), intent(inout this,
type(mesh_t), intent(in msh,
type(dofmap_t), intent(in dm_xh,
type(coef_t), intent(in coef 
)
private
Parameters
mshMesh used to determine dimensionality.
dm_XhCoordinate dofmap used to compute angular extents.
coefCoefficients carrying cyclic-geometry metadata.

Definition at line 93 of file lpt_periodic_bc.f90.

◆ init_translational()

procedure, pass(this), private lpt_periodic_bc::lpt_periodic_bc_t::init_translational ( class(lpt_periodic_bc_t), intent(inout this,
type(mesh_t), intent(in msh 
)
private
Parameters
mshMesh containing periodic facet-pair metadata.

Definition at line 95 of file lpt_periodic_bc.f90.

◆ reset()

procedure, pass(this), private lpt_periodic_bc::lpt_periodic_bc_t::reset ( class(lpt_periodic_bc_t), intent(inout this)
private

Definition at line 92 of file lpt_periodic_bc.f90.

◆ wrap()

procedure, pass(this) lpt_periodic_bc::lpt_periodic_bc_t::wrap ( class(lpt_periodic_bc_t), intent(inout this,
type(vector_t), intent(inout x,
type(vector_t), intent(inout y,
type(vector_t), intent(inout z,
integer, intent(in n,
type(vector_t), intent(inout), optional  u,
type(vector_t), intent(inout), optional  v,
type(vector_t), intent(inout), optional  w,
type(vector_t), intent(inout), optional  u_lag,
type(vector_t), intent(inout), optional  v_lag,
type(vector_t), intent(inout), optional  w_lag,
type(vector_t), intent(inout), optional  u_laglag,
type(vector_t), intent(inout), optional  v_laglag,
type(vector_t), intent(inout), optional  w_laglag,
type(vector_t), intent(inout), optional  acc_xlag,
type(vector_t), intent(inout), optional  acc_ylag,
type(vector_t), intent(inout), optional  acc_zlag,
type(vector_t), intent(inout), optional  acc_xlaglag,
type(vector_t), intent(inout), optional  acc_ylaglag,
type(vector_t), intent(inout), optional  acc_zlaglag 
)
Parameters
xParticle x coordinates.
yParticle y coordinates.
zParticle z coordinates.
nNumber of local particles.

Definition at line 91 of file lpt_periodic_bc.f90.

Member Data Documentation

◆ n_periodic_dirs

integer lpt_periodic_bc::lpt_periodic_bc_t::n_periodic_dirs = 0

Definition at line 57 of file lpt_periodic_bc.f90.

◆ periodic_dir_x1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_x1 = 0.0_rp

Definition at line 67 of file lpt_periodic_bc.f90.

◆ periodic_dir_x2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_x2 = 0.0_rp

Definition at line 70 of file lpt_periodic_bc.f90.

◆ periodic_dir_x3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_x3 = 0.0_rp

Definition at line 73 of file lpt_periodic_bc.f90.

◆ periodic_dir_y1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_y1 = 0.0_rp

Definition at line 68 of file lpt_periodic_bc.f90.

◆ periodic_dir_y2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_y2 = 0.0_rp

Definition at line 71 of file lpt_periodic_bc.f90.

◆ periodic_dir_y3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_y3 = 0.0_rp

Definition at line 74 of file lpt_periodic_bc.f90.

◆ periodic_dir_z1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_z1 = 0.0_rp

Definition at line 69 of file lpt_periodic_bc.f90.

◆ periodic_dir_z2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_z2 = 0.0_rp

Definition at line 72 of file lpt_periodic_bc.f90.

◆ periodic_dir_z3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_dir_z3 = 0.0_rp

Definition at line 75 of file lpt_periodic_bc.f90.

◆ periodic_enabled

logical lpt_periodic_bc::lpt_periodic_bc_t::periodic_enabled = .false.

Definition at line 55 of file lpt_periodic_bc.f90.

◆ periodic_len1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_len1 = 0.0_rp

Definition at line 82 of file lpt_periodic_bc.f90.

◆ periodic_len2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_len2 = 0.0_rp

Definition at line 83 of file lpt_periodic_bc.f90.

◆ periodic_len3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_len3 = 0.0_rp

Definition at line 84 of file lpt_periodic_bc.f90.

◆ periodic_max1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_max1 = 0.0_rp

Definition at line 79 of file lpt_periodic_bc.f90.

◆ periodic_max2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_max2 = 0.0_rp

Definition at line 80 of file lpt_periodic_bc.f90.

◆ periodic_max3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_max3 = 0.0_rp

Definition at line 81 of file lpt_periodic_bc.f90.

◆ periodic_min1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_min1 = 0.0_rp

Definition at line 76 of file lpt_periodic_bc.f90.

◆ periodic_min2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_min2 = 0.0_rp

Definition at line 77 of file lpt_periodic_bc.f90.

◆ periodic_min3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_min3 = 0.0_rp

Definition at line 78 of file lpt_periodic_bc.f90.

◆ periodic_shift_x1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_x1 = 0.0_rp

Definition at line 58 of file lpt_periodic_bc.f90.

◆ periodic_shift_x2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_x2 = 0.0_rp

Definition at line 61 of file lpt_periodic_bc.f90.

◆ periodic_shift_x3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_x3 = 0.0_rp

Definition at line 64 of file lpt_periodic_bc.f90.

◆ periodic_shift_y1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_y1 = 0.0_rp

Definition at line 59 of file lpt_periodic_bc.f90.

◆ periodic_shift_y2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_y2 = 0.0_rp

Definition at line 62 of file lpt_periodic_bc.f90.

◆ periodic_shift_y3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_y3 = 0.0_rp

Definition at line 65 of file lpt_periodic_bc.f90.

◆ periodic_shift_z1

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_z1 = 0.0_rp

Definition at line 60 of file lpt_periodic_bc.f90.

◆ periodic_shift_z2

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_z2 = 0.0_rp

Definition at line 63 of file lpt_periodic_bc.f90.

◆ periodic_shift_z3

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::periodic_shift_z3 = 0.0_rp

Definition at line 66 of file lpt_periodic_bc.f90.

◆ rotational_periodic_enabled

logical lpt_periodic_bc::lpt_periodic_bc_t::rotational_periodic_enabled = .false.

Definition at line 56 of file lpt_periodic_bc.f90.

◆ rotational_theta_len

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::rotational_theta_len = 0.0_rp

Definition at line 87 of file lpt_periodic_bc.f90.

◆ rotational_theta_max

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::rotational_theta_max = 0.0_rp

Definition at line 86 of file lpt_periodic_bc.f90.

◆ rotational_theta_min

real(kind=rp) lpt_periodic_bc::lpt_periodic_bc_t::rotational_theta_min = 0.0_rp

Definition at line 85 of file lpt_periodic_bc.f90.


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