21 #ifndef FUB_AMREX_COUPLED_GRIDDING_ALGORITHM_HPP 
   22 #define FUB_AMREX_COUPLED_GRIDDING_ALGORITHM_HPP 
   43       std::vector<std::shared_ptr<GriddingAlgorithm>> tubes,
 
   44       std::vector<std::shared_ptr<cutcell::GriddingAlgorithm>> plena,
 
   45       std::vector<BlockConnection> connectivity);
 
   49       std::vector<std::shared_ptr<GriddingAlgorithm>> tubes,
 
   50       std::vector<std::shared_ptr<cutcell::GriddingAlgorithm>> plena,
 
   51       std::vector<BlockConnection> connectivity,
 
   52       std::vector<std::shared_ptr<PressureValve>> valves);
 
   75     return boundaries_[
static_cast<std::size_t
>(level)];
 
   82   std::vector<std::shared_ptr<GriddingAlgorithm>> 
tubes_;
 
   83   std::vector<std::shared_ptr<cutcell::GriddingAlgorithm>> 
plena_;
 
   90 template <
typename Pr
intDuration>
 
   95                 std::chrono::steady_clock::time_point ref)
 
  101         reference_{std::chrono::steady_clock::now()} {}
 
  104                 std::vector<std::ptrdiff_t> frequencies,
 
  105                 std::vector<Duration> intervals)
 
  107             std::move(frequencies), std::move(intervals)),
 
  111     std::chrono::steady_clock::time_point now =
 
  112         std::chrono::steady_clock::now();
 
  114         std::chrono::duration_cast<std::chrono::nanoseconds>(now - 
reference_);
 
  115     std::vector<CounterResult> statistics = grid.
GetPlena()[0]
 
  116                                                 ->GetPatchHierarchy()
 
  117                                                 .GetCounterRegistry()
 
  118                                                 ->gather_statistics();
 
  119     if (statistics.size()) {
 
  120       print_statistics<PrintDuration>(statistics, diff.count());
 
CounterOutput(const ProgramOptions &po, std::chrono::steady_clock::time_point ref)
Definition: MultiBlockGriddingAlgorithm.hpp:94
 
std::chrono::steady_clock::time_point reference_
Definition: MultiBlockGriddingAlgorithm.hpp:125
 
CounterOutput(const ProgramOptions &po)
Definition: MultiBlockGriddingAlgorithm.hpp:99
 
void operator()(const amrex::MultiBlockGriddingAlgorithm &grid) override
Definition: MultiBlockGriddingAlgorithm.hpp:110
 
CounterOutput(std::chrono::steady_clock::time_point reference, std::vector< std::ptrdiff_t > frequencies, std::vector< Duration > intervals)
Definition: MultiBlockGriddingAlgorithm.hpp:103
 
Definition: CounterOutput.hpp:34
 
std::chrono::steady_clock::time_point reference_
Definition: CounterOutput.hpp:64
 
A class mimicking the IdealGasMix / Reactor / ReactorNet interface of Cantera, but with FlameMaster c...
Definition: FlameMasterReactor.hpp:159
 
Definition: OutputAtFrequencyOrInterval.hpp:32
 
This class modifies and initializes a PatchLevel in a PatchHierarchy.
Definition: AMReX/GriddingAlgorithm.hpp:60
 
Definition: MultiBlockBoundary.hpp:64
 
Definition: MultiBlockGriddingAlgorithm.hpp:39
 
span< const std::shared_ptr< GriddingAlgorithm > > GetTubes() const noexcept
 
std::ptrdiff_t GetCycles() const noexcept
Definition: MultiBlockGriddingAlgorithm.hpp:64
 
std::vector< std::vector< MultiBlockBoundary > > boundaries_
Definition: MultiBlockGriddingAlgorithm.hpp:85
 
std::vector< std::shared_ptr< cutcell::GriddingAlgorithm > > plena_
Definition: MultiBlockGriddingAlgorithm.hpp:83
 
MultiBlockGriddingAlgorithm & operator=(const MultiBlockGriddingAlgorithm &other)
 
span< const std::shared_ptr< cutcell::GriddingAlgorithm > > GetPlena() const noexcept
 
FlameMasterReactor reactor_
Definition: MultiBlockGriddingAlgorithm.hpp:81
 
span< const BlockConnection > GetConnectivity() const noexcept
 
void RegridAllFinerLevels(int which_level)
 
MultiBlockGriddingAlgorithm(FlameMasterReactor reactor, std::vector< std::shared_ptr< GriddingAlgorithm >> tubes, std::vector< std::shared_ptr< cutcell::GriddingAlgorithm >> plena, std::vector< BlockConnection > connectivity, std::vector< std::shared_ptr< PressureValve >> valves)
 
MultiBlockGriddingAlgorithm(MultiBlockGriddingAlgorithm &&other) noexcept=default
 
MultiBlockGriddingAlgorithm(FlameMasterReactor reactor, std::vector< std::shared_ptr< GriddingAlgorithm >> tubes, std::vector< std::shared_ptr< cutcell::GriddingAlgorithm >> plena, std::vector< BlockConnection > connectivity)
 
std::vector< BlockConnection > connectivity_
Definition: MultiBlockGriddingAlgorithm.hpp:84
 
std::vector< std::shared_ptr< GriddingAlgorithm > > tubes_
Definition: MultiBlockGriddingAlgorithm.hpp:82
 
MultiBlockGriddingAlgorithm(const MultiBlockGriddingAlgorithm &other)
 
Duration GetTimePoint() const noexcept
Definition: MultiBlockGriddingAlgorithm.hpp:66
 
span< MultiBlockBoundary > GetBoundaries(int level=0) noexcept
Definition: MultiBlockGriddingAlgorithm.hpp:74
 
MultiBlockGriddingAlgorithm & operator=(MultiBlockGriddingAlgorithm &&other) noexcept=default
 
A span is a view over a contiguous sequence of objects, the storage of which is owned by some other o...
Definition: span.hpp:81
 
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
 
std::chrono::duration< double > Duration
Definition: Duration.hpp:31
 
std::map< std::string, pybind11::object > ProgramOptions
Definition: ProgramOptions.hpp:40
 
Definition: MultiBlockBoundary.hpp:54