4#include <AMReX_AmrCore.H>
5#include <AMReX_MultiFabUtil.H>
6#include <AMReX_ParmParse.H>
7#include <AMReX_iMultiFab.H>
8#include <hydro_NodalProjector.H>
20class RefinementCriteria;
21class RefineCriteriaManager;
63 ErrorEst(
int lev, amrex::TagBoxArray& tags, amrex::Real
time,
int ngrow)
71 const amrex::BoxArray& new_grids,
72 const amrex::DistributionMapping& new_dmap)
override;
79 const amrex::BoxArray& ba,
80 const amrex::DistributionMapping& dm)
override;
87 const amrex::BoxArray& ba,
88 const amrex::DistributionMapping& dm)
override;
100 void do_advance(
const int fixed_point_iteration);
101 void advance(
const int fixed_point_iteration);
138 const bool incremental_projection =
false,
139 const int fixed_point_iteration = 0);
144 amrex::Vector<amrex::MultiFab const*>
density,
146 amrex::Real scaling_factor,
196 amrex::FabFactory<amrex::FArrayBox>
const&
Factory(
int lev)
const noexcept
pde::PDEMgr & pde_manager()
Definition CFDSim.H:65
amrex::Vector< TypePtr > TypeVector
Definition CollMgr.H:25
Definition FieldRepo.H:86
Field & get_field(const std::string &name, const FieldState fstate=FieldState::New) const
Definition FieldRepo.cpp:149
const amrex::FabFactory< amrex::FArrayBox > & factory(int lev) const noexcept
Return factory instance at a given level.
Definition FieldRepo.H:377
Definition OversetOps.H:10
PDEBase & icns()
Return the incompressible Navier-Stokes instance.
Definition PDEBase.H:122
TypeVector & scalar_eqns()
Definition PDEBase.H:148
void Evolve()
Definition incflo.cpp:276
const amr_wind::pde::PDEMgr::TypeVector & scalar_eqns() const
Definition incflo.H:119
void ApplyPredictor(const bool incremental_projection=false, const int fixed_point_iteration=0)
Definition incflo_advance.cpp:182
const amr_wind::SimTime & time() const
Definition incflo.H:106
amr_wind::Field & density() const
Definition incflo.H:125
void ApplyPrescribeStep()
Definition incflo_advance.cpp:673
void pre_advance_stage1()
Definition incflo_advance.cpp:14
void ClearLevel(int lev) override
Definition incflo_regrid.cpp:38
incflo()
Definition incflo.cpp:16
void ApplyProjection(amrex::Vector< amrex::MultiFab const * > density, amrex::Real time, amrex::Real scaling_factor, bool incremental)
Definition incflo_apply_nodal_projection.cpp:147
void ComputePrescribeDt()
Definition incflo_compute_dt.cpp:200
amr_wind::Field & temperature() const
Definition incflo.H:126
std::unique_ptr< amr_wind::RefineCriteriaManager > m_mesh_refiner
Definition incflo.H:164
bool m_dry_run
Definition incflo.H:179
bool m_prescribe_vel
Definition incflo.H:176
amr_wind::Field & velocity() const
Definition incflo.H:124
void prepare_for_time_integration()
Definition incflo.cpp:134
void advance(const int fixed_point_iteration)
Definition incflo_advance.cpp:59
void post_advance_work()
Definition incflo.cpp:248
void InitialIterations()
Definition init.cpp:102
void init_amr_wind_modules()
Definition incflo.cpp:99
void ReadParameters()
Definition init.cpp:47
void RemakeLevel(int lev, amrex::Real time, const amrex::BoxArray &ba, const amrex::DistributionMapping &dm) override
Definition incflo_regrid.cpp:24
amr_wind::CFDSim m_sim
Definition incflo.H:159
void do_advance(const int fixed_point_iteration)
Definition incflo.cpp:332
int m_initial_iterations
Definition incflo.H:171
void CheckAndSetUpDryRun()
Definition init.cpp:13
int m_fixed_point_iterations
Definition incflo.H:182
void ReadCheckpointFile()
Definition io.cpp:20
bool need_divtau() const
Definition incflo.H:201
void PrintMaxGp(int lev) const
Definition diagnostics.cpp:626
void PrintMaxVelLocations(const std::string &header)
Definition diagnostics.cpp:607
amr_wind::OversetOps m_ovst_ops
Definition incflo.H:162
amr_wind::Field & grad_p() const
Definition incflo.H:131
DiffusionType m_diff_type
Definition incflo.H:187
bool m_use_godunov
Definition incflo.H:173
amr_wind::pde::PDEBase & icns()
Definition incflo.H:110
amr_wind::SimTime & m_time
Definition incflo.H:160
void MakeNewLevelFromScratch(int lev, amrex::Real time, const amrex::BoxArray &new_grids, const amrex::DistributionMapping &new_dmap) override
Definition incflo.cpp:354
amrex::Long m_cell_count
number of cells on all levels including covered cells
Definition incflo.H:185
amr_wind::CFDSim & sim()
Definition incflo.H:105
void prepare_time_step()
Definition incflo_advance.cpp:33
void prescribe_advance()
Definition incflo_advance.cpp:664
amr_wind::FieldRepo & m_repo
Definition incflo.H:161
void ErrorEst(int lev, amrex::TagBoxArray &tags, amrex::Real time, int ngrow) override
Definition incflo.cpp:437
bool m_do_initial_proj
Definition incflo.H:170
void MakeNewLevelFromCoarse(int lev, amrex::Real time, const amrex::BoxArray &ba, const amrex::DistributionMapping &dm) override
Definition incflo_regrid.cpp:8
void init_physics_and_pde()
Initialize Physics instances as well as PDEs (include turbulence models)
Definition incflo.cpp:385
void InitData()
Definition incflo.cpp:170
amr_wind::FieldRepo & repo()
Definition incflo.H:107
void InitialProjection()
Definition init.cpp:183
bool m_reconstruct_true_pressure
reconstruct true pressure
Definition incflo.H:190
bool regrid_and_update()
Definition incflo.cpp:183
void PrintMaxVel(int lev) const
Definition diagnostics.cpp:615
const amr_wind::pde::PDEBase & icns() const
Definition incflo.H:111
int m_verbose
Definition incflo.H:167
amr_wind::Field & pressure() const
Definition incflo.H:130
void pre_advance_stage2()
Definition incflo_advance.cpp:23
void CheckForNans(int lev) const
Definition diagnostics.cpp:635
void ComputeDt(bool explicit_diffusion)
Definition incflo_compute_dt.cpp:35
void init_mesh()
Definition incflo.cpp:43
void PrintMaxValues(const std::string &header)
Definition diagnostics.cpp:564
amr_wind::pde::PDEMgr::TypeVector & scalar_eqns()
Definition incflo.H:115
void ApplyCorrector()
Definition incflo_advance.cpp:538
const amr_wind::FieldRepo & repo() const
Definition incflo.H:108
amrex::FabFactory< amrex::FArrayBox > const & Factory(int lev) const noexcept
Definition incflo.H:196
DiffusionType
Definition incflo_enums.H:4
Definition BCInterface.cpp:7