Neko  0.9.0
A portable framework for high-order spectral element flow simulations
drag_torque Module Reference

Functions/Subroutines

subroutine, public drag_torque_zone (dgtq, tstep, zone, center, s11, s22, s33, s12, s13, s23, p, coef, visc)
 Some functions to calculate the lift/drag and torque Calculation can be done on a zone, a facet, or a point Currently everything is CPU only. More...
 
subroutine, public drag_torque_facet (dgtq, xm0, ym0, zm0, center, s11, s22, s33, s12, s13, s23, pm1, visc, f, e, coef, Xh)
 Calculate drag and torque over a facet. More...
 
subroutine, public drag_torque_pt (dgtq, x, y, z, center, s11, s22, s33, s12, s13, s23, p, n1, n2, n3, v)
 Calculate drag and torque from one point. More...
 
subroutine, public calc_force_array (force1, force2, force3, force4, force5, force6, s11, s22, s33, s12, s13, s23, p, n1, n2, n3, v, n_pts)
 Calculate drag and torque from array of points. More...
 
subroutine, public device_calc_force_array (force1, force2, force3, force4, force5, force6, s11, s22, s33, s12, s13, s23, p, n1, n2, n3, v, n_pts)
 Calculate drag and torque from array of points. More...
 
subroutine, public setup_normals (coef, mask, facets, n1, n2, n3, n_pts)
 

Function/Subroutine Documentation

◆ calc_force_array()

subroutine, public drag_torque::calc_force_array ( real(kind=rp), dimension(n_pts), intent(inout)  force1,
real(kind=rp), dimension(n_pts), intent(inout)  force2,
real(kind=rp), dimension(n_pts), intent(inout)  force3,
real(kind=rp), dimension(n_pts), intent(inout)  force4,
real(kind=rp), dimension(n_pts), intent(inout)  force5,
real(kind=rp), dimension(n_pts), intent(inout)  force6,
real(kind=rp), dimension(n_pts), intent(in)  s11,
real(kind=rp), dimension(n_pts), intent(in)  s22,
real(kind=rp), dimension(n_pts), intent(in)  s33,
real(kind=rp), dimension(n_pts), intent(in)  s12,
real(kind=rp), dimension(n_pts), intent(in)  s13,
real(kind=rp), dimension(n_pts), intent(in)  s23,
real(kind=rp), dimension(n_pts), intent(in)  p,
real(kind=rp), dimension(n_pts), intent(in)  n1,
real(kind=rp), dimension(n_pts), intent(in)  n2,
real(kind=rp), dimension(n_pts), intent(in)  n3,
real(kind=rp), intent(in)  v,
integer  n_pts 
)
Parameters
force,thecomputed force
s11-s23,thestrain rate tensor
p,thepressure
n1,normalvector x
n2,normalvector y
n3,normalvector z
v,theviscosity
n_pts,thenumber of points

Definition at line 379 of file drag_torque.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_calc_force_array()

subroutine, public drag_torque::device_calc_force_array ( type(c_ptr)  force1,
type(c_ptr)  force2,
type(c_ptr)  force3,
type(c_ptr)  force4,
type(c_ptr)  force5,
type(c_ptr)  force6,
type(c_ptr)  s11,
type(c_ptr)  s22,
type(c_ptr)  s33,
type(c_ptr)  s12,
type(c_ptr)  s13,
type(c_ptr)  s23,
type(c_ptr)  p,
type(c_ptr)  n1,
type(c_ptr)  n2,
type(c_ptr)  n3,
real(kind=rp)  v,
integer  n_pts 
)
Parameters
force,thecomputed force
s11-s23,thestrain rate tensor
p,thepressure
n1,normalvector x
n2,normalvector y
n3,normalvector z
v,theviscosity
n_pts,thenumber of points

Definition at line 415 of file drag_torque.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ drag_torque_facet()

subroutine, public drag_torque::drag_torque_facet ( real(kind=rp), dimension(3,4), intent(out)  dgtq,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  xm0,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  ym0,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  zm0,
real(kind=rp), dimension(3), intent(in)  center,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  s11,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  s22,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  s33,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  s12,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  s13,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  s23,
real(kind=rp), dimension (xh%lx,xh%ly,xh%lz,coef%msh%nelv), intent(in)  pm1,
real(kind=rp), intent(in)  visc,
integer, intent(in)  f,
integer, intent(in)  e,
type(coef_t), intent(in)  coef,
type(space_t), intent(in)  Xh 
)
Parameters
dgtq,thecomputed drag and torque
tstep,thetime step
xm0,thex coords
ym0,they coords
zm0,thez coords
center,thepoint around which we calculate the torque
s11-s23,thestrain rate tensor
p,thepressure
coef,coefficents
visc,theviscosity

Definition at line 215 of file drag_torque.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ drag_torque_pt()

subroutine, public drag_torque::drag_torque_pt ( real(kind=rp), dimension(3,4), intent(inout)  dgtq,
real(kind=rp), intent(in)  x,
real(kind=rp), intent(in)  y,
real(kind=rp), intent(in)  z,
real(kind=rp), dimension(3), intent(in)  center,
real(kind=rp), intent(in)  s11,
real(kind=rp), intent(in)  s22,
real(kind=rp), intent(in)  s33,
real(kind=rp), intent(in)  s12,
real(kind=rp), intent(in)  s13,
real(kind=rp), intent(in)  s23,
real(kind=rp), intent(in)  p,
real(kind=rp), intent(in)  n1,
real(kind=rp), intent(in)  n2,
real(kind=rp), intent(in)  n3,
real(kind=rp), intent(in)  v 
)
Parameters
dgtq,thecomputed drag and torque
xm0,thex coord
ym0,they coord
zm0,thez coord
center,thepoint around which we calculate the torque
s11-s23,thestrain rate tensor
p,thepressure
n1,normalvector x
n2,normalvector y
n3,normalvector z
v,theviscosity

Definition at line 334 of file drag_torque.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ drag_torque_zone()

subroutine, public drag_torque::drag_torque_zone ( real(kind=rp), dimension(3,4)  dgtq,
integer, intent(in)  tstep,
type(facet_zone_t zone,
real(kind=rp), dimension(3), intent(in)  center,
real(kind=rp), dimension(coef%xh%lx,coef%xh%lx,coef%xh%lz,coef%msh%nelv), intent(inout)  s11,
real(kind=rp), dimension(coef%xh%lx,coef%xh%lx,coef%xh%lz,coef%msh%nelv), intent(inout)  s22,
real(kind=rp), dimension(coef%xh%lx,coef%xh%lx,coef%xh%lz,coef%msh%nelv), intent(inout)  s33,
real(kind=rp), dimension(coef%xh%lx,coef%xh%lx,coef%xh%lz,coef%msh%nelv), intent(inout)  s12,
real(kind=rp), dimension(coef%xh%lx,coef%xh%lx,coef%xh%lz,coef%msh%nelv), intent(inout)  s13,
real(kind=rp), dimension(coef%xh%lx,coef%xh%lx,coef%xh%lz,coef%msh%nelv), intent(inout)  s23,
type(field_t), intent(inout)  p,
type(coef_t), intent(inout)  coef,
real(kind=rp), intent(in)  visc 
)

Calculate drag and torque over a zone.

Parameters
dgtq,thecomputed drag and torque
tstep,thetime step
zone,thezone which we compute the drag and toqure over
center,thepoint around which we calculate the torque
s11-s23,thestrain rate tensor
p,thepressure
coef,coefficents
visc,theviscosity

Definition at line 92 of file drag_torque.f90.

Here is the call graph for this function:

◆ setup_normals()

subroutine, public drag_torque::setup_normals ( type(coef_t coef,
integer, dimension(0:n_pts)  mask,
integer, dimension(0:n_pts)  facets,
real(kind=rp), dimension(n_pts)  n1,
real(kind=rp), dimension(n_pts)  n2,
real(kind=rp), dimension(n_pts)  n3,
integer  n_pts 
)

Definition at line 448 of file drag_torque.f90.

Here is the call graph for this function:
Here is the caller graph for this function: