IBMClass Module



Variables

Type Visibility Attributes Name Initial
real(kind=RP), public :: expCoeff
integer, public, parameter :: EXPONENTIAL = 1
integer, public, parameter :: IDW = 2
integer, public, parameter :: POLYHARMONIC_SPLINE = 3
integer, public, parameter :: POLYNOMIAL = 4
integer, public, parameter :: MLS = 5

Derived Types

type, public ::  Integral_t

Components

Type Visibility Attributes Name Initial
logical, public :: ListComputed = .false.
logical, public :: compute = .false.
logical, public :: constructed = .false.

type, public ::  IBM_type

Components

Type Visibility Attributes Name Initial
type(STLfile), public, allocatable :: stl(:)
type(STLfile), public, allocatable :: stlSurfaceIntegrals(:)
type(STLfile), public, allocatable :: stlMove(:)
type(KDtree), public, allocatable :: root(:)
type(KDtree), public, allocatable :: rootDistance(:)
type(KDtree), public, allocatable :: rootPoints(:)
type(PointLinkedList), public :: BandPoints
type(IBMpoints), public, allocatable :: BandRegion(:)
type(IBMpoints), public, allocatable :: BandRegion4Distance(:)
type(point_type), public, allocatable :: ImagePoints(:)
type(Integral_t), public, allocatable :: Integral(:)
character(len=LINE_LENGTH), public, allocatable :: STLfilename(:)
character(len=LINE_LENGTH), public :: filename
logical, public :: plotOBB = .false.
logical, public :: plotKDtree = .false.
logical, public :: active = .false.
logical, public :: TimePenal = .false.
logical, public :: semiImplicit = .false.
logical, public :: ComputeBandRegion = .false.
logical, public :: plotBandPoints = .false.
logical, public :: plotMask = .false.
logical, public :: ComputeInterpolation = .false.
logical, public :: Wallfunction = .false.
logical, public :: ComputeDistance = .false.
logical, public :: AAB = .false.
real(kind=rp), public :: eta
real(kind=rp), public :: BandRegionCoeff
real(kind=rp), public :: IP_Distance = 0.0_RP
real(kind=rp), public :: y_plus_target
real(kind=rp), public :: minCOORDS
real(kind=rp), public :: maxCOORDS
real(kind=rp), public :: penalCoeff
real(kind=rp), public, allocatable :: penalization(:)
integer, public :: KDtree_Min_n_of_Objs
integer, public :: NumOfInterPoints
integer, public :: n_of_INpoints
integer, public :: rank
integer, public :: lvl = 0
integer, public :: NumOfSTL
integer, public :: NumOfForcingPoints
integer, public :: Clipaxis = 0
integer, public :: Nx
integer, public :: Ny
integer, public :: Nz
integer, public :: LocClipAxis = 0
integer, public :: InterpolationType
integer, public, allocatable :: ImagePoint_NearestPoints(:,:)

Type-Bound Procedures

procedure, public :: read_info => IBM_read_info
procedure, public :: construct => IBM_construct
procedure, public :: constructMask => IBM_constructmask
procedure, public :: constructSTL_KDtree => IBM_constructSTL_KDtree
procedure, public :: CheckPoint => IBM_CheckPoint
procedure, public :: constructBandRegion => IBM_constructBandRegion
procedure, public :: constructBandRegion4Distance => IBM_constructBandRegion4Distance
procedure, public :: build => IBM_build
procedure, public :: SetPolynomialOrder => IBM_SetPolynomialOrder
procedure, public :: GetMask => IBM_GetMask
procedure, public :: MPI_sendOBB => IBM_MPI_sendOBB
procedure, public :: MPI_sendSTLpartitions => IBM_MPI_sendSTLpartitions
procedure, public :: MPI_sendMask2Root => IBM_MPI_sendMask2Root
procedure, public :: MPI_sendMask2Partitions => IBM_MPI_sendMask2Partitions
procedure, public :: MPI_sendNormals2Root => IBM_MPI_sendNormals2Root
procedure, public :: MPI_sendDistNormals2partitions => IBM_MPI_sendDistNormals2partitions
procedure, public :: BandRegionPoints => IBM_bandRegionPoints
procedure, public :: GetForcingPointsGeom => IBM_GetForcingPointsGeom
procedure, public :: GetInfo => IBM_GetInfo
procedure, public :: SourceTerm => IBM_SourceTerm
procedure, public :: ComputeIBMWallDistance => IBM_ComputeIBMWallDistance
procedure, public :: GetDistanceInsideBox => IBM_GetDistanceInsideBox
procedure, public :: GetDistanceOutsideBox => IBM_GetDistanceOutsideBox
procedure, public :: SemiImplicitCorrection => IBM_SemiImplicitCorrection
procedure, public :: GetImagePoint_nearest => IBM_GetImagePoint_nearest
procedure, public :: GetBandRegionStates => IBM_GetBandRegionStates
procedure, public :: GetDomainExtreme => IBM_GetDomainExtreme
procedure, public :: SourceTermTurbulence => IBM_SourceTermTurbulence
procedure, public :: semiImplicitShiftJacobian => IBM_semiImplicitShiftJacobian
procedure, public :: semiImplicitTurbulenceShiftJacobian => IBM_SemiImplicitTurbulenceShiftJacobian
procedure, public :: semiImplicitJacobian => IBM_semiImplicitJacobian
procedure, public :: semiImplicitTurbulenceJacobian => IBM_semiImplicitTurbulenceJacobian
procedure, public :: GetSemiImplicitStep => IBM_GetSemiImplicitStep
procedure, public :: GetSemiImplicitStepTurbulence => IBM_GetSemiImplicitStepTurbulence
procedure, public :: SetIntegration => IBM_SetIntegration
procedure, public :: copy => IBM_copy
procedure, public :: MoveBody => IBM_MoveBody
procedure, public :: CleanMask => IBM_CleanMask
procedure, public :: BandPoint_state => IBM_BandPoint_state
procedure, public :: Describe => IBM_Describe
procedure, public :: plot_Mask => IBM_plot_Mask
procedure, public :: Destruct => IBM_Destruct
procedure, public :: DestroyKDtree => IBM_DestroyKDtree
procedure, public :: constructDistance_KDtree => IBM_constructDistance_KDtree
procedure, public :: MPI_PointsListOperations => IBM_MPI_PointsListOperations
procedure, public :: MaskVelocity => IBM_MaskVelocity

Functions

public function IBM_MaskVelocity(this, Q, nEqn, STLNum, x, t) result(Q_target)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
real(kind=RP), intent(in) :: Q(nEqn)
integer, intent(in) :: nEqn
integer, intent(in) :: STLNum
real(kind=RP), intent(in) :: x(NDIM)
real(kind=RP), intent(in) :: t

Return Value real(kind=RP), (nEqn)

public function isPointInsideTri(Point, TriangleVertex1, TriangleVertex2, TriangleVertex3) result(isInside)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
real(kind=rp), intent(in) :: TriangleVertex1(:)
real(kind=rp), intent(in) :: TriangleVertex2(:)
real(kind=rp), intent(in) :: TriangleVertex3(:)

Return Value logical

public function FindRegion(det, s, t) result(region)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: det
real(kind=rp), intent(in) :: s
real(kind=rp), intent(in) :: t

Return Value integer

public function CheckHypersphere(tree, Point, minDist) result(Intersect)

Arguments

Type IntentOptional Attributes Name
type(KDtree), intent(inout), target :: tree
real(kind=rp), intent(in) :: Point(:)
real(kind=rp), intent(inout) :: minDist

Return Value logical

public function CircleRectIntersection(RectLength, RectWidth, RectCenter, Center, Radius) result(Intersect)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: RectLength
real(kind=rp), intent(in) :: RectWidth
real(kind=rp), intent(in) :: RectCenter(:)
real(kind=rp), intent(in) :: Center(:)
real(kind=rp), intent(in) :: Radius

Return Value logical

public function PointBoxDistance(Point, vertices) result(sqrDist)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
real(kind=rp), intent(in) :: vertices(:,:)

Return Value real(kind=rp)

public function BoxIntersectSphere(Radius, Center, vertices) result(Intersect)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Radius
real(kind=rp), intent(in) :: Center(:)
real(kind=rp), intent(in) :: vertices(:,:)

Return Value logical

public function interpolationfunction(x, INTERPOLATION, k) result(f)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: x
integer, intent(in) :: INTERPOLATION
real(kind=rp), intent(in), optional :: k

Return Value real(kind=rp)

public function GetInterpolatedValue(forcing, invPhi, b, INTERPOLATION, x, y, z) result(value)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: forcing(:)
real(kind=RP), intent(in) :: invPhi(:,:)
real(kind=RP), intent(in) :: b(:)
integer, intent(in) :: INTERPOLATION
real(kind=RP), intent(in), optional :: x
real(kind=RP), intent(in), optional :: y
real(kind=RP), intent(in), optional :: z

Return Value real(kind=rp)

public function InitializeDistance(y_plus) result(y)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: y_plus

Return Value real(kind=rp)

public function Estimate_Cf() result(Cf)

Arguments

None

Return Value real(kind=rp)

public function Estimate_u_tau() result(u_tau)

Arguments

None

Return Value real(kind=rp)

public function GetEstimated_y(y_plus, nu, u_tau) result(y)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: y_plus
real(kind=RP), intent(in) :: nu
real(kind=RP), intent(in) :: u_tau

Return Value real(kind=rp)

public function QuarticRealPositiveRoot(a0, b0, c0, d0, e0) result(value)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: a0
real(kind=rp), intent(in) :: b0
real(kind=rp), intent(in) :: c0
real(kind=rp), intent(in) :: d0
real(kind=rp), intent(in) :: e0

Return Value real(kind=rp)

public function cubic_poly(a0, b0, c0, d0) result(x)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: a0
real(kind=RP), intent(in) :: b0
real(kind=RP), intent(in) :: c0
real(kind=RP), intent(in) :: d0

Return Value real(kind=rp)

public function eval_cubic(a0, b0, c0, d0, x0) result(value)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: a0
real(kind=RP), intent(in) :: b0
real(kind=RP), intent(in) :: c0
real(kind=RP), intent(in) :: d0
real(kind=RP), intent(in) :: x0

Return Value real(kind=rp)


Subroutines

public subroutine IBM_read_info(this, controlVariables)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
class(FTValueDictionary) :: controlVariables

public subroutine IBM_GetInfo(this, controlVariables)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
class(FTValueDictionary) :: controlVariables

public subroutine IBM_construct(this, controlVariables)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
class(FTValueDictionary) :: controlVariables

public subroutine IBM_constructSTL_KDtree(this, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: STLNum

public subroutine IBM_constructDistance_KDtree(this, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: STLNum

public subroutine IBM_copy(this, parent, lvl)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(IBM_type), intent(in), target :: parent
integer, intent(in) :: lvl

public subroutine IBM_DestroyKDtree(this, isChild, DistanceKDtree)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
logical, intent(in) :: isChild
logical, intent(in), optional :: DistanceKDtree

public subroutine IBM_GetMask(this, elements, no_of_elements, no_of_DoFs, STLNum, iter)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: no_of_elements
integer, intent(in) :: no_of_DoFs
integer, intent(in) :: STLNum
integer, intent(in) :: iter

public subroutine IBM_constructmask(this, elements, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: STLNum

public subroutine IBM_plot_Mask(this, iter, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: iter
integer, intent(in) :: STLNum

public subroutine IBM_GetDomainExtreme(this, elements)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(in) :: elements(:)

public subroutine IBM_SetIntegration(this, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: STLNum

public subroutine IBM_build(this, elements, no_of_elements, no_of_DoFs, isChild, movingSTL, iter)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: no_of_elements
integer, intent(in) :: no_of_DoFs
logical, intent(in) :: isChild
integer, intent(in), optional :: movingSTL
integer, intent(in), optional :: iter

public subroutine IBM_Describe(this)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this

public subroutine IBM_Destruct(this, isChild)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
logical, intent(in) :: isChild

public subroutine IBM_SetPolynomialOrder(this, elements, corners)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
real(kind=RP), intent(in), optional :: corners(:,:)

public subroutine IBM_constructBandRegion(this, elements, no_of_elements, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: no_of_elements
integer, intent(in) :: STLNum

public subroutine IBM_constructBandRegion4Distance(this, elements, no_of_elements, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: no_of_elements
integer, intent(in) :: STLNum

public subroutine IBM_bandRegionPoints(this, elements, n_of_elements, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: n_of_elements
integer, intent(in) :: STLNum

public subroutine IBM_BandPoint_state(this, elements, STLnum, gradients)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(in) :: elements(:)
integer, intent(in) :: STLnum
logical, intent(in) :: gradients

public subroutine IBM_MPI_sendOBB(this, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: STLNum

public subroutine IBM_MPI_sendSTLpartitions(this, STLNum, vertices)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: STLNum
real(kind=RP), intent(inout) :: vertices(:,:)

public subroutine IBM_MPI_PointsListOperations(this, pointsList)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(IBMpoints), intent(inout) :: pointsList

public subroutine IBM_MPI_sendMask2Root(this)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this

public subroutine IBM_MPI_sendMask2Partitions(this)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this

public subroutine IBM_MPI_sendNormals2Root(this, pointsList, ranks)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(IBMpoints), intent(inout) :: pointsList
real(kind=RP), intent(in) :: ranks(:)

public subroutine IBM_MPI_sendDistNormals2partitions(this, pointsList)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(IBMpoints), intent(inout) :: pointsList

public subroutine IBM_MoveBody(this, elements, no_of_elements, no_of_DoFs, isChild, t, iter, autosave)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: no_of_elements
integer, intent(in) :: no_of_DoFs
logical, intent(in) :: isChild
real(kind=RP), intent(in) :: t
integer, intent(in), optional :: iter
logical, intent(in), optional :: autosave

public subroutine IBM_CleanMask(this, elements, no_of_elements, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: no_of_elements
integer, intent(in) :: STLNum

public subroutine IBM_GetForcingPointsGeom(this, elements)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)

public subroutine Plot_Forcing_Imagepoints(IBM, elements)

Arguments

Type IntentOptional Attributes Name
type(IBM_type), intent(in) :: IBM
type(element), intent(in) :: elements(:)

public subroutine IBM_GetImagePoint_nearest(this, elements)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)

public subroutine IBM_ComputeIBMWallDistance(this, elements, movingSTL)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in), optional :: movingSTL

public subroutine IBM_GetDistanceInsideBox(this, elements, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
integer, intent(in) :: STLNum

public subroutine IBM_GetDistanceOutsideBox(this, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: STLNum

public subroutine SetDistances(BandRegion4Distance, elements)

Arguments

Type IntentOptional Attributes Name
type(IBMpoints), intent(inout) :: BandRegion4Distance
type(element), intent(inout) :: elements(:)

public subroutine IBM_SourceTerm(this, eID, Q, Q_target, Source, Wallfunction)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: eID
real(kind=rp), intent(in) :: Q(:)
real(kind=rp), intent(in), optional :: Q_target(:)
real(kind=rp), intent(inout) :: Source(:)
logical, intent(in) :: Wallfunction

public subroutine IBM_semiImplicitJacobian(this, eID, Q, dS_dQ)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: eID
real(kind=rp), intent(in) :: Q(:)
real(kind=rp), intent(inout) :: dS_dQ(:,:)

public subroutine IBM_semiImplicitTurbulenceJacobian(this, ImagePoint, Q, normal, dWall, STLNum, dS_dQ)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(point_type), intent(in) :: ImagePoint
real(kind=rp), intent(in) :: Q(:)
real(kind=rp), intent(in) :: normal(:)
real(kind=rp), intent(in) :: dWall
integer, intent(in) :: STLNum
real(kind=rp), intent(inout) :: dS_dQ(:,:)

public subroutine IBM_semiImplicitShiftJacobian(this, eID, Q, dt, invdS_dQ)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: eID
real(kind=rp), intent(in) :: Q(:)
real(kind=rp), intent(in) :: dt
real(kind=rp), intent(inout) :: invdS_dQ(:,:)

public subroutine IBM_SemiImplicitTurbulenceShiftJacobian(this, dt, invdS_dQ)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
real(kind=RP), intent(in) :: dt
real(kind=RP), intent(inout) :: invdS_dQ(:,:)

public subroutine IBM_GetSemiImplicitStep(this, eID, dt, Q, Q_target)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
integer, intent(in) :: eID
real(kind=rp), intent(in) :: dt
real(kind=rp), intent(inout) :: Q(NCONS)
real(kind=rp), intent(in), optional :: Q_target(NCONS)

public subroutine IBM_GetSemiImplicitStepTurbulence(this, ImagePoint, dt, Q, normal, dWall, STLNum)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(point_type), intent(in) :: ImagePoint
real(kind=rp), intent(in) :: dt
real(kind=rp), intent(inout) :: Q(:)
real(kind=rp), intent(in) :: normal(:)
real(kind=rp), intent(in) :: dWall
integer, intent(in) :: STLNum

public subroutine IBM_SemiImplicitCorrection(this, elements, t, dt)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(inout) :: elements(:)
real(kind=RP), intent(in) :: t
real(kind=RP), intent(in) :: dt

public subroutine IBM_GetBandRegionStates(this, elements)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(element), intent(in) :: elements(:)

public subroutine IBM_SourceTermTurbulence(this, ImagePoint, Q, normal, dWall, STLNum, TurbulenceSource)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
type(point_type), intent(in) :: ImagePoint
real(kind=rp), intent(in) :: Q(:)
real(kind=rp), intent(in) :: normal(:)
real(kind=rp), intent(in) :: dWall
integer, intent(in) :: STLNum
real(kind=rp), intent(inout) :: TurbulenceSource(NCONS)

public subroutine ForcingPointState(Q_IP, y_IP, y_FP, normal, Q_FP)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Q_IP(:)
real(kind=rp), intent(in) :: y_IP
real(kind=rp), intent(in) :: y_FP
real(kind=rp), intent(in) :: normal(:)
real(kind=rp), intent(inout) :: Q_FP(:)

public subroutine IBM_CheckPoint(this, Point, STLNum, NumOfIntersections)

Arguments

Type IntentOptional Attributes Name
class(IBM_type), intent(inout) :: this
real(kind=rp), intent(inout) :: Point(:)
integer, intent(in) :: STLNum
integer, intent(inout) :: NumOfIntersections

public subroutine isPointInside(Point, RayDirection, ObjectsList, tree, Integer_List, NumOfIntersections, OnTriBound)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
real(kind=rp), intent(in) :: RayDirection(:)
type(Object_type), intent(in) :: ObjectsList(:)
type(KDtree), intent(inout) :: tree
type(ObjsDataLinkedList_t), intent(inout) :: Integer_List
integer, intent(inout) :: NumOfIntersections
logical, intent(inout) :: OnTriBound

public subroutine PointIntersectTriangle(Point, TriangleVertex1, TriangleVertex2, TriangleVertex3, RayDirection, Intersect, OnTriBound)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(NDIM)
real(kind=rp), intent(in) :: TriangleVertex1(NDIM)
real(kind=rp), intent(in) :: TriangleVertex2(NDIM)
real(kind=rp), intent(in) :: TriangleVertex3(NDIM)
real(kind=rp), intent(in) :: RayDirection(NDIM)
logical, intent(inout) :: Intersect
logical, intent(inout) :: OnTriBound

public subroutine RayAxis(maxAxis, ClipAxis, axis)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: maxAxis
integer, intent(in) :: ClipAxis
integer, intent(inout) :: axis

public subroutine MinimumPointTriDistance(Point, TriangleVertex1, TriangleVertex2, TriangleVertex3, dist, IntersectionPoint)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
real(kind=rp), intent(in) :: TriangleVertex1(:)
real(kind=rp), intent(in) :: TriangleVertex2(:)
real(kind=rp), intent(in) :: TriangleVertex3(:)
real(kind=rp), intent(out) :: dist
real(kind=rp), intent(out) :: IntersectionPoint(NDIM)

public subroutine MinimumDistance(Point, root, minDist, normal)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
type(KDtree), intent(inout) :: root
real(kind=rp), intent(inout) :: minDist
real(kind=rp), intent(out) :: normal(NDIM)

public recursive subroutine MinimumDistOtherBoxes(Point, root, tree, Radius, LeafIndex, New_minDist, New_IntersPoint, New_TriangleIndex)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
type(KDtree), intent(in) :: root
type(KDtree), intent(inout) :: tree
real(kind=rp), intent(in) :: Radius
integer, intent(in) :: LeafIndex
real(kind=rp), intent(inout) :: New_minDist
real(kind=rp), intent(inout) :: New_IntersPoint(:)
integer, intent(inout) :: New_TriangleIndex

public subroutine MinimumDistanceSphereKDtree(Point, root, Radius, minDist, normal)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
type(KDtree), intent(inout) :: root
real(kind=rp), intent(in) :: Radius
real(kind=rp), intent(inout) :: minDist
real(kind=rp), intent(out) :: normal(NDIM)

public subroutine MinimumDistancePoints(Point, root, BandRegion, minDist, actualIndex, PointsIndex)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
type(KDtree), intent(inout) :: root
type(IBMpoints), intent(in) :: BandRegion
real(kind=rp), intent(inout) :: minDist
integer, intent(in) :: actualIndex
integer, intent(inout) :: PointsIndex(:)

public recursive subroutine MinimumDistOtherBoxesPoints(Point, tree, BandRegion, Radius, New_sqrDist, PointsIndex, LeafIndex, new_index)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: Point(:)
type(KDtree), intent(inout) :: tree
type(IBMpoints), intent(in) :: BandRegion
real(kind=rp), intent(in) :: Radius
real(kind=rp), intent(inout) :: New_sqrDist
integer, intent(in) :: PointsIndex(:)
integer, intent(in) :: LeafIndex
integer, intent(inout) :: new_index

public subroutine GetMatrixInterpolationSystem(Point, x, invPhi, b, INTERPOLATION)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: Point(:)
type(point_type), intent(in) :: x(:)
real(kind=RP), intent(inout) :: invPhi(:,:)
real(kind=RP), intent(inout) :: b(:)
integer, intent(in) :: INTERPOLATION

public subroutine GetIDW_value(Point, x, Q, value)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: Point(:)
type(point_type), intent(in) :: x(:)
real(kind=RP), intent(in) :: Q(:,:)
real(kind=RP), intent(out) :: value(NCONS)

public subroutine STLScalarTEC(x, y, z, scalar, STLNum, FileName, title, variables)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: x(:)
real(kind=RP), intent(in) :: y(:)
real(kind=RP), intent(in) :: z(:)
real(kind=RP), intent(in) :: scalar(:)
integer, intent(in) :: STLNum
character(len=*), intent(in) :: FileName
character(len=*), intent(in) :: title
character(len=*), intent(in) :: variables

public subroutine STLvectorTEC(x, y, z, vector_x, vector_y, vector_z, STLNum, FileName, title, variables)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: x(:)
real(kind=RP), intent(in) :: y(:)
real(kind=RP), intent(in) :: z(:)
real(kind=RP), intent(in) :: vector_x(:)
real(kind=RP), intent(in) :: vector_y(:)
real(kind=RP), intent(in) :: vector_z(:)
integer, intent(in) :: STLNum
character(len=*), intent(in) :: FileName
character(len=*), intent(in) :: title
character(len=*), intent(in) :: variables

public subroutine TecHeader(funit, FileName, title, variables)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: funit
character(len=*), intent(in) :: FileName
character(len=*), intent(in) :: title
character(len=*), intent(in) :: variables

public subroutine WriteScalarQuatity(funit, NumOfObjs, x, y, z, scalar)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: funit
integer, intent(in) :: NumOfObjs
real(kind=RP), intent(in) :: x(:)
real(kind=RP), intent(in) :: y(:)
real(kind=RP), intent(in) :: z(:)
real(kind=RP), intent(in) :: scalar(:)

public subroutine WriteVectorQuatity(funit, NumOfObjs, x, y, z, vector_x, vector_y, vector_z)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: funit
integer, intent(in) :: NumOfObjs
real(kind=RP), intent(in) :: x(:)
real(kind=RP), intent(in) :: y(:)
real(kind=RP), intent(in) :: z(:)
real(kind=RP), intent(in) :: vector_x(:)
real(kind=RP), intent(in) :: vector_y(:)
real(kind=RP), intent(in) :: vector_z(:)

public subroutine WriteTimeFile(t, STLNum)

Arguments

Type IntentOptional Attributes Name
real(kind=RP), intent(in) :: t
integer, intent(in) :: STLNum

public subroutine TECtriangle_3points(funit, NumOfObjs)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: funit
integer, intent(in) :: NumOfObjs