Workflow in FV
In order to create a Finite Volume problem you have several options you should think through and decide:
Geometry
, i.e. the cells and interfaces on which your finite volume problem is defined can be generated in two ways:- prior using this guide
- on the fly: passing arguments to
VoronoiFVProblem
in the third step below as if it was aVoronoiGeometry
.
- You may whish to define some step functions or interface function or any type of customized functions from integrated data using this guide
- Create a
VoronoiFVProblem
(if not done in first step)- provide the
VoronoiGeometry
- optionally provide
integralfunctions
whose values are infered on cells and interfaces using the chosen integration method - optionally provide
discretefunctions
whose values are infered by pointwise evaluation - optionally provide
fluxes
as a named tuple of description how fluxes should be calculated using this guide - optionally provide
rhs_functions
a named tuple of descriptions how to compute a potential right hand side in the FV problem using this guide - optionally provide
bulk_integrals
as a way to integrate a function over the tessellation using this guide - optionally provide
flux_integrals
as a way to integrate a function over the interfaces of the tessallation using this guide
- provide the
- You may whish to define some more step functions or interface function or any type of customized functions from integrated data using this guide and the integrate information in
VoronoiFVProblem
using this guide - Call
linearVoronoiFVProblem
with a given description of fluxes and right hand sides provided byVoronoiFVProblem
and your favorite boundary conditions using this guide. (caution: since boundary conditions rely on a given boundary, the periodic boundary conditions are subject ofVoronoiGeometry
, resp.Boundary
, so this has to be implemented in the very first step.)