DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 CBaseNumericalTreatmemtBase implementation according to Eric McNeil Eric McNeil original code use an approach based on Nujic but implement the numerical flux with a HLL algorithm. Re-use Nujic implementation of the source term and pressure terms, but provide also
 Cdbpp::PhysicalSystem::BCNodeConstraint< Params >Type to repesent the nodal constraint
 Cdbpp::callCounter< CB >Generic class that wraps and counts calls of an arbitrary callback
 Cdbpp::CellCell concept is at the heart of the finite volume discretization. Usage: Reconstruction procedure based on MUSCL (UL,UR at each face) MusclReconstruction w_muscl(); w_muscl.reconstr(GlobalDisretization aGDiscr); // based on cell face global Id retrieve a cell to perform some operation std::map<unsigned shortglobal cell face Id,fluxpairFL,FR> w_fluxFace; list<cell> w_listOfCell; for(Cell w_cell : w_listOfCell) { Create a flux algorithm FluxAlgorithm w_fluxAlgo;
 Cdbpp::cellFaceCell face in the finite volume discretization Usage: caculFF(const cellFace& aFace) compute the numerical flux with Godunov-type scheme for example F(UL,UR) with Approximate Riemann Solver (discontinuity or shock represented by cell face)
 Cdbpp::cellFaceFluxFace flux variables at cell face (aggregate). Physical flux is used to compute the face flux ..
 CSfx::DamBreakDataHold data for validation. Two type: EMcneil, Hudson (DamBreak config)
 CSfx::DamBreakExSol
 CSfx::DamBreakInitialCndSole responsibility is to provide wave profile at initial start up based on DamBreakData
 Cdbpp::DamBreakProblemThe DAM-BREAK Problem class is a model of a well-posed problem
 CTestvs19::DataStoreFactoryData Store factory method
 CSfx::EMcNeilBndCnd::DownstreamCelerityAggregate that hold celerity wave downstream (characteristic)
 CSfx::EMcNeilBndCndCalculate the characteristic information to set boundary node values (A,Q,H)
 Cdbpp::EMcNeilPhysBCPhysical boundary (characteristic equation solved)
 Cstd::enable_shared_from_this
 CSfx::ExplicitOperatorSome prototype
 Cdbpp::FileDataStoreSpecify the DataStore file (save simulation results)
 CSfx::FiniteDifferenceDerivativeFirst derivative at second and fourth order. provide a stencil concept to evaluate derivative without spurious oscillations (ENO: Essentially Non-Oscillatory
 Cdbpp::FiniteDifferenceModel"Model of Explicit scheme with time integration algorithm. Finite difference model a numerical representation of the math equations
 Cdbpp::FiniteVolumeDiscretizationGlobal discretized domain is defined as a set of all nodes and all elements. PHYSICAL ENTITIES include nodes and elements Node <-— Cell; i.e., element depends on node Omega = { all Node, all Cell }; global discretized domain is defined as a set of all nodes and all elements
 Cdbpp::FirstDerivativeCompute first derivative at second-order (finite difference)
 Cdbpp::FluxAlgorithmAbstract base class for numerical flux algorithm
 Cdbpp::FluxTensorFlux tensor field (aggregate initialization)
 Cdbpp::FluxTensorMapMap cell face and flux values
 Cdbpp::GammaBoundary condition
 Cdbpp::HLLFlux1D"Model of" F_j +/- 1/2 numerical scheme at the cell interface. This class represents the HLL (Harten-Lax-Leer) solving algorithm (based on Riemann approximate solver)
 Cdbpp::HLLParameterStructAlgorithm parameters HLL Algorithm
 Cdbpp::HLLSolver1D::hllParamsAggregate that hold hll algorithm parameters
 Cdbpp::HLLPhysicalFlux
 Cdbpp::HLLSolver1DRiemann solver that belongs to Approximate Riemann solver. Solve the Riemann problem at cell Face. Riemann problem u want to set which is made of discontinuity and state vector (left/right) Shall return a map with key = cellFaceID and value is flux face (FF1,FF2)
 CSfx::HOperator
 CSfx::IFileDataStore
 CSfx::IFinalReport
 CSfx::IListBase
 CSfx::ILogger
 CSfx::IPhysicalAlgorithm
 CSfx::IPhysicalConfiguration
 CSfx::IPhysicalMeasurement
 Cdbpp::isHomogeneous< T, TN >Check if types are identical using fold expression
 CSfx::ListIterator
 Cdbpp::ListSectionsFlowList of cross-section flow (itereable)
 Cdbpp::ManningFormulaManning formula (friction law) Sf = g*n1*n1*V1*::fabs(V1)/A*A::pow(R1, 4./3.);
 Cdbpp::MinMod19< T >Minmod limiter function for slope limiting gradient evaluation
 Cdbpp::MUSCLReconstr
 Cdbpp::NodalTpl< Params >Implementation for nodal variable concept used in our application (use of variadic template)
 Cdbpp::NujicIntegratorBelongs two-step integrator Runge-Kutta family
 Cdbpp::NumericalMethodMapping between continuum and discrete domain. Transformation of the differential or integral equations to discrete algebraic equations involving the values of the unknowns at the mesh points. The basis of all numerical methods consists of this transformation of the physical euations into an algebraic, linear or non-linear, systems of equations
 CSfx::Object
 CSfx::Observable
 CSfx::Observer
 Cdbpp::ODESolver1DBase class ODE Solver (under construction)
 Cdbpp::OmegaGlobal Domain (part of global discretization) list of elements and geomeric nodes used by numerical method
 CSfx::PhysicalAlgorithmAbstract class provide an interface with services to implement physical based algorithm to solve st-Venant equations in a conservative form (divergence). Numerical integrate the numerical model in time ... advance ... to be completed
 Cdbpp::PhysicalBoundaryCndPhysical boundary condition (computational domain) based on characteristic equation ..
 CSfx::PhysicalConfigureResponsible to set initial configuration of the physical system (e.g. initial condition)
 Cdbpp::PhysicalMeasurementMeasure taken on the physical system (defines the required method for the Measurement bean). Still under development, physical state variables are the only measured quantities relevant for this simulation. we may be interested by energy slope, ... any other physics qty
 CSfx::PhysicalMeasurementPhysical measuremt taken on physical system (e.g. energy, friction, ...)
 CSfx::PhysicalSystem
 CSfx::SectionGeometryHandler::ProprietesGeometriquesSection
 Cdbpp::RiemannProblemSystem of conservation Law with an initial discontinuity in it. Two states connected by a left and right state which can be represented constant piecewise function over each cell where shock propagate (a cell face define a discontinuity)
 CSfx::SCLEquation
 Cdbpp::SectionFlowCross-sectional flow (2-dimensional)
 CSfx::SectionGeometryHandler
 Cdbpp::SemiDiscreteSchemeUnder construction ..
 CSfx::SfxSingleton
 CSfx::Simulation::SimPropProperty loaded at initialization (from file, user) Struct that hold parameters for the current simulation. At the end of the simulation these parameters will be saved (as a scenario) that could be retrieved later to run the scenario (it's not all clear in mind, but it will be part of the scenario concept)
 CSfx::Simulator
 CSfx::Singleton
 Cdbpp::SrcNumericalTreatmentBasic algorithm to evaluate source terms (bed slope and energy slope) The Manning formula can be read as follow:
 CSfx::FiniteDifferenceDerivative::stencil
 CSfx::StVenant1DTermsOne-dimensional St-Venant equation spatial terms
 CSfx::LDeltaOperator::SWE_RHSData structure RHS terms
 Cdbpp::SweLDeltaOperatorTo be completed ... see Swe_LDeltaOperator as base implementation U1n12 = w_LdeltaOp->applyTo(arr U1. arr U2).massEq(); // n+1/2 time step U1n12 = w_LdeltaOp->applyTo(arr U1. arr U2).momentumEq(); // ditto
 Cdbpp::SweRhsAlgorithmAbstract class. "Model" of the right-hand-side terms discretization. Hold discretization scheme or algorithm to be applied on each of them
 Cdbpp::SweRhsData< T, CONT >Aggregate (must support operator[])
 CSfx::TwoStepIntegrator
 Cdbpp::UhContainer of nodal variables
 CSfx::EMcNeilBndCnd::UpstreamCelerityAggregate that hold celerity wave upstream (characteristic)
 CSfx::FiniteDifferenceDerivative::vector