Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
fub::amrex::IgniteDetonation Class Reference

#include <IgniteDetonation.hpp>

Public Member Functions

 IgniteDetonation (const IdealGasMix< 1 > &eq, int max_refinement_level, const IgniteDetonationOptions &opts={})
 Constructs the source term. More...
 
void ResetHierarchyConfiguration (std::shared_ptr< GriddingAlgorithm > grid)
 Resets internal configuration. More...
 
Duration ComputeStableDt (int) const noexcept
 Returns numeric_limits<double>::max() More...
 
Result< void, TimeStepTooLargeAdvanceLevel (IntegratorContext &simulation_data, int level, Duration dt, const ::amrex::IntVect &ngrow=::amrex::IntVect(0))
 Uses the scratch space of simulation_data to evaluate the criterion on the current equivalence ratio. More...
 
const IgniteDetonationOptionsGetOptions () const noexcept
 Returns the options for this operator. More...
 
Duration GetNextIgnitionTimePoint (int level) const noexcept
 Returns the time points for the last ignition on refinement level level. More...
 
void SetNextIgnitionTimePoint (int level, Duration t) noexcept
 Set a time point for an ignition on refinement level level. More...
 

Static Public Attributes

static constexpr int Rank
 

Private Member Functions

template<typename Archive >
void serialize (Archive &ar, unsigned int version)
 

Private Attributes

IdealGasMix< 1 > equation_
 
IgniteDetonationOptions options_
 
std::vector< Durationnext_ignition_time_backup_
 
std::vector< Durationnext_ignition_time_
 

Constructor & Destructor Documentation

◆ IgniteDetonation()

fub::amrex::IgniteDetonation::IgniteDetonation ( const IdealGasMix< 1 > &  eq,
int  max_refinement_level,
const IgniteDetonationOptions opts = {} 
)

Constructs the source term.

Parameters
[in]eqThe equation which knows the species
[in]max_refinement_levelThis is needed to allocate storate for ignition times at each refinement level.
[in]optsOptions which manipulate the way of igniting the the gas mixture

Member Function Documentation

◆ AdvanceLevel()

Result<void, TimeStepTooLarge> fub::amrex::IgniteDetonation::AdvanceLevel ( IntegratorContext simulation_data,
int  level,
Duration  dt,
const ::amrex::IntVect &  ngrow = ::amrex::IntVect(0) 
)

Uses the scratch space of simulation_data to evaluate the criterion on the current equivalence ratio.

◆ ComputeStableDt()

Duration fub::amrex::IgniteDetonation::ComputeStableDt ( int  ) const
noexcept

Returns numeric_limits<double>::max()

This operator artificially ignites a detonation and has no restriction on the time step size.

◆ GetNextIgnitionTimePoint()

Duration fub::amrex::IgniteDetonation::GetNextIgnitionTimePoint ( int  level) const
noexcept

Returns the time points for the last ignition on refinement level level.

◆ GetOptions()

const IgniteDetonationOptions& fub::amrex::IgniteDetonation::GetOptions ( ) const
inlinenoexcept

Returns the options for this operator.

◆ ResetHierarchyConfiguration()

void fub::amrex::IgniteDetonation::ResetHierarchyConfiguration ( std::shared_ptr< GriddingAlgorithm grid)

Resets internal configuration.

Resets the last ignition time points if the time point on grid is lower than the last recorded ignition. This happens when the CFL condition gets violated right after the ignition.

◆ serialize()

template<typename Archive >
void fub::amrex::IgniteDetonation::serialize ( Archive &  ar,
unsigned int  version 
)
private

◆ SetNextIgnitionTimePoint()

void fub::amrex::IgniteDetonation::SetNextIgnitionTimePoint ( int  level,
Duration  t 
)
noexcept

Set a time point for an ignition on refinement level level.

Member Data Documentation

◆ equation_

IdealGasMix<1> fub::amrex::IgniteDetonation::equation_
private

◆ next_ignition_time_

std::vector<Duration> fub::amrex::IgniteDetonation::next_ignition_time_
private

◆ next_ignition_time_backup_

std::vector<Duration> fub::amrex::IgniteDetonation::next_ignition_time_backup_
private

◆ options_

IgniteDetonationOptions fub::amrex::IgniteDetonation::options_
private

◆ Rank

constexpr int fub::amrex::IgniteDetonation::Rank
staticconstexpr

The documentation for this class was generated from the following file: