Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
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.
 
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.
 
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.
 
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.
 
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.
 
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 378 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 414 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 214 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 333 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 91 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 447 of file drag_torque.f90.

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