Private Documentation

Documentation for GridPotentialFlow.jl's private interface.

See the Internals section of the manual for internal package docs covering all submodules.

Contents

Index

Private Interface

GridPotentialFlow.ConstrainedIBPoissonType
struct ConstrainedIBPoisson{Nb, TU, TF} <: GridPotentialFlow.AbstractPotentialFlowSystem{TU}

Defines an immersed boundary Poisson system with a single type of constraints on the bound vortex sheet strength.

Fields

  • ibp::GridPotentialFlow.IBPoisson: ibp: Immersed boundary poisson inner system that solves for the streamfunction and bound vortex sheet strength, given a streamfunction boundary condition on immersed boundary points.

  • B₁ᵀ₂cols::Vector: B₁ᵀ₂cols: Columns of the second partition of the B₁ᵀ matrix for the outer system.

  • B₂₂rows::Vector: B₂₂rows: Rows of the second partition of the B₂ matrix for the outer system.

  • Soutfact::Union{Float64, LinearAlgebra.Factorization}: Soutfact: Factorized version of the Schur complement for the outer system.

  • _f_buf::Any: Buffers

  • _ψ₀_buf::Vector{Float64}

  • _sol_buf::GridPotentialFlow.IBPoissonSolution

source
GridPotentialFlow.IBPoissonType
struct IBPoisson{TU, TF} <: GridPotentialFlow.AbstractPotentialFlowSystem{TU}

Defines an immersed boundary Poisson system that solves for the streamfunction and bound vortex sheet strength, given a streamfunction boundary condition on immersed boundary points.

Fields

  • L::Laplacian: L: Discrete Laplacian.

  • R::RegularizationMatrix: R: Regularization operator.

  • E::InterpolationMatrix: E: Interpolation operator.

  • Sfact::LinearAlgebra.LU: Sfact: factorized version of the Schur complement.

  • _A⁻¹r₁::Any: Buffers

  • _B₁ᵀf::Any

  • _f_buf::Any

source
GridPotentialFlow.SteadyRegularizedIBPoissonType
struct SteadyRegularizedIBPoisson{Nb, Ne, TU, TF} <: GridPotentialFlow.AbstractPotentialFlowSystem{TU}

Defines an immersed boundary Poisson system with constraints on the bound vortex sheet strength that regularize up to one edge per body.

Fields

  • cibp::GridPotentialFlow.ConstrainedIBPoisson: cibp: Constrained immersed boundary Poisson system.

  • one_vec::Vector: one_vec: Array of vectors with the i-th entry of the j-th vector equal to one if i is an index of the points that belong to the j-th body and zero otherwise.

  • e_vec::Vector: e_vec: Array of unit vectors with the inner product of the k-th unit vector and vortex sheet strength equal to the value of the vortex sheet strength at the k-th edge.

  • f₀::Any: f₀: Unregularized bound vortex sheet strength due to a uniform unit boundary condition for the streamfunction on all immersed bodies.

  • f₀_vec::Vector: f₀_vec: Array of vectors with the i-th entry of the j-th vector equal to f₀[i] if i is an index of the points that belong to the j-th body and zero otherwise.

source
GridPotentialFlow.UnsteadyRegularizedIBPoissonType
struct UnsteadyRegularizedIBPoisson{Nb, Ne, TU, TF} <: GridPotentialFlow.AbstractPotentialFlowSystem{TU}

Defines an immersed boundary Poisson system that, in addition to solving for the streamfunction and bound vortex sheet strength, solves for N point vortex strengths to satisfy N constraints on the bound vortex sheet strength that regularize specified edges.

Fields

  • ibp::GridPotentialFlow.IBPoisson: ibp: Immersed boundary poisson inner system with re-scaled regularization operator that solves for the streamfunction and bound vortex sheet strength, given a streamfunction boundary condition on immersed boundary points.

  • one_vec::Vector: one_vec: Array of vectors with the i-th entry of the j-th vector equal to one if i is an index of the points that belong to the j-th body and zero otherwise.

  • e_vec::Vector: e_vec: Array of unit vectors with the inner product of the i-th unit vector and vortex sheet strength equal to the value of the vortex sheet strength at the i-th edge.

  • vidx_vec::Vector{Vector{Int64}}: vidx_vec: Array of vectors with the i-th vector containing the indices of the vortices that are shedded from the i-th body.

  • f₀::Any: f₀: Unregularized vortex sheet strength due to a uniform unit boundary condition for the streamfunction on all immersed bodies.

  • f₀_vec::Vector: f₀_vec: Array of vectors with the i-th entry of the j-th vector equal to f₀[i] if i is an index of the points that belong to the j-th body and zero otherwise.

  • f̃₀_vec::Vector: f̃₀_vec: Array of unregularized bound vortex sheet strengths, obtained using the re-scaled regularization operator, with the i-th entry the bound vortex sheet strength due to a uniform unit boundary condition for the streamfunction on the i-th immersed body and zero everywhere else.

  • f̃_vec::Vector: f̃vec: Array of unregularized bound vortex sheet strengths, obtained using the re-scaled regularization operator, with the i-th entry the bound vortex sheet strength due to the i-th vorticity field in `dvec` and a zero boundary condition for the streamfunction on all bodies.

  • Γ₀::Float64: Γ₀: The circulation of the of the bound vortex sheet strength f₀.

  • d_vec::Vector: d_vec: Array of vorticity fields with the i-th entry the vorticity field due to the i-th point vortex that is used for regularizing the edges with its strength set to one and the other point vortex strengths set to zero.

  • activef̃lim_vec::Vector{Float64}: activef̃lim_vec: Array of f̃ values that are used as the right-hand side for the constraints on f̃ when solving the system. These values are chosen by comparing the unconstrained f̃ from the inner system to the limits provided in rhs to ldiv! and selecting the limit that is exceeded or setting it to Inf if no limit is exceeded.

  • Sout::Matrix{Float64}: Sout: Schur complement for the outer system.

  • _TU_buf::Any: Buffers

  • _f_buf::Any

  • _r₂_buf::Vector{Float64}

  • _y_buf::Vector{Float64}

source
GridPotentialFlow._computeδΓandψ₀!Method
_computeδΓandψ₀!(sol, sys, rhs, sheddingedges)

Computes the vortex strengths for the edges sheddingedges and ψ₀ values and stores them in the δΓ_vec and ψ₀ fields of sol. If there are edges that are not in sheddingedges, their corresponding vortex strengths are set to zero.

source
GridPotentialFlow.getpositionsMethod
getpositions(vl::StructArrays.StructArray{Vortex}) -> Any

Returns the positions of all point vortices in the StructArray vl as VectorData.

source
GridPotentialFlow.getregularizededgesMethod
getregularizededges(
    b::AbstractVector{PotentialFlowBody},
    i::Int64
) -> Any

Returns the indices in the global set of surface point data of the regularized points of body i in b.

source
GridPotentialFlow.getregularizededgesMethod
getregularizededges(
    b::AbstractVector{PotentialFlowBody}
) -> Vector{Int64}

Returns the indices in the global set of surface point data of all regularized points in b.

source
GridPotentialFlow.getstrengthsMethod
getstrengths(
    vl::StructArrays.StructArray{Vortex}
) -> ScalarData{_A, T} where {_A, T<:Number}

Returns the strengths of all point vortices in the StructArray vl as ScalarData.

source
GridPotentialFlow.setpositions!Method
setpositions!(
    vl::StructArrays.StructArray{Vortex},
    xnew,
    ynew
) -> Any

Sets the x and y fields of the point vortices in the StructArray vl to the entries of xnew and ynew, respectively.

source
GridPotentialFlow.setstrengths!Function
setstrengths!(
    vl::StructArrays.StructArray{Vortex},
    Γnew
) -> Any
setstrengths!(
    vl::StructArrays.StructArray{Vortex},
    Γnew,
    idx
) -> Any

Sets the Γ field of the point vortices in the StructArray vl to the entries of Γnew.

source