Solution objects
VoronoiFVM.AbstractSolutionArray — Type
abstract type AbstractSolutionArray{T, N} <: AbstractArray{T, N}Abstract type for stationary solution. Subtype of AbstractArray.
Dense solution arrays
VoronoiFVM.DenseSolutionArray — Type
mutable struct DenseSolutionArray{T, N} <: AbstractSolutionArray{T, N}Dense storage of solution. Subtype of AbstractSolutionArray
Fields:
u::Arrayhistory::Union{Nothing, NewtonSolverHistory}
VoronoiFVM.DenseSolutionArray — Method
DenseSolutionArray constructor.
VoronoiFVM.DenseSolutionArray — Method
DenseSolutionArray(
u::Array{T, 2}
) -> VoronoiFVM.DenseSolutionArray{_A, 2} where _A
DenseSolutionArray constructor.
VoronoiFVM.DenseSolutionArray — Method
DenseSolutionArray constructor.
VoronoiFVM._add — Method
_add(U::VoronoiFVM.DenseSolutionArray, idof, val) -> Any
Add residual value into global degree of freedom
(Internal method)
sourceVoronoiFVM._set — Method
_set(U::VoronoiFVM.DenseSolutionArray, idof, val) -> Any
Set residual value for global degree of freedom
(Internal method)
sourceVoronoiFVM.dof — Method
VoronoiFVM.dofs — Method
VoronoiFVM.solutionarray — Method
solutionarray(a::Matrix)sourceVoronoiFVM.unknown_indices — Method
Sparse solution arrays
VoronoiFVM.SparseSolutionArray — Type
mutable struct SparseSolutionArray{T, N, Ti} <: AbstractSolutionArray{T, N}Struct holding solution information for SparseSystem. Solution is stored in a sparse matrix structure.
This class plays well with the abstract array interface.
Fields:
u::SparseArrays.SparseMatrixCSC{T, Ti} where {T, Ti}: Sparse matrix holding actual data.
history::Union{Nothing, NewtonSolverHistory}
VoronoiFVM.SparseSolutionArray — Method
SparseSolutionArray(
a::SparseArrays.SparseMatrixCSC{Tv, Ti}
) -> VoronoiFVM.SparseSolutionArray{_A, 2} where _A
SparseSolutionArray constructor
Base.getindex — Method
Base.setindex! — Method
Base.similar — Method
VoronoiFVM._add — Method
_add(U::VoronoiFVM.SparseSolutionArray, idof, val) -> Any
Add residual value into global degree of freedom
(internal)
sourceVoronoiFVM._set — Method
_set(U::VoronoiFVM.SparseSolutionArray, idof, val) -> Any
Set residual value for global degree of freedom
(internal)
sourceVoronoiFVM.dof — Method
VoronoiFVM.dofs — Method
VoronoiFVM.getdof — Method
VoronoiFVM.setdof! — Method
VoronoiFVM.solutionarray — Method
solutionarray(a::SparseMatrixCSC)sourceVoronoiFVM.unknown_indices — Method
Transient solution
VoronoiFVM.AbstractTransientSolution — Type
abstract type AbstractTransientSolution{T, N, A, B} <: AbstractDiffEqArray{T, N, A}Abstract type for transient solution
sourceVoronoiFVM.TransientSolution — Type
mutable struct TransientSolution{T, N, A, B} <: VoronoiFVM.AbstractTransientSolution{T, N, A, B}Transient solution structure
Fields
u::Any: Vector of solutions
t::Any: Vector of times
history::Union{VoronoiFVM.DiffEqHistory, TransientSolverHistory}: History
Interface
Object of this type adhere to the AbstractDiffEqArray interface. For indexing and interpolation, see https://diffeq.sciml.ai/stable/basics/solution/.
In particular, a TransientSolution sol can be accessed as follows:
sol[i]contains the solution for timestepisol[ispec,:,i]contains the solution for componentispecat timestepisol(t)returns a (linearly) interpolated solution value fort.sol.t[i]is the corresponding time for timestepisol[ispec,ix,i]refers to solution of componentispecat nodeixat momenti
VoronoiFVM.TransientSolution — Method
TransientSolution(t0,inival;
in_memory=true,
keep_open=true,
fname=tempname(pwd())*".jld2"Constructor of transient solution with initial value and initial time.
in_memory: if true (default), data are kept in main memory, otherwise on disk (via JLD2)keep_open: if true, disk file is not closed during the existence of the objectfname: file name for the disk file
VoronoiFVM.VectorOfDiskArrays — Method
VectorOfDiskArrays(firstobj:AbstractArray;
keep_open=true,
fname= fname=tempname(pwd())*".jld2")Constructor of vector of arrays stored on disk (via JLD2).
keep_open: if true, disk file is not closed during the existence of the objectfname: file name for the disk file
The disk file is automatically removed if the object is garbage collected.
sourceBase.append! — Function
append!(tsol::AbstractTransientSolution, t, sol)Append time step solution sol as solution at time t to tsol. sol will be directly references in tsol. This method does not copy sol. If during a time steping process it is the same vector, a copy should appended.
Defined in VoronoiFVM.jl.
source