|
REMORA
Regional Modeling of Oceans Refined Adaptively
|
#include <REMORA_PC.H>


Public Member Functions | |
| REMORAPC (amrex::ParGDBBase *a_gdb, const std::string &a_name="particles") | |
| REMORAPC (const amrex::Geometry &a_geom, const amrex::DistributionMapping &a_dmap, const amrex::BoxArray &a_ba, const std::string &a_name="particles") | |
| virtual void | InitializeParticles (const std::unique_ptr< amrex::MultiFab > &a_ptr=nullptr) |
| virtual void | EvolveParticles (int a_lev, amrex::Real a_dt_lev, amrex::Vector< amrex::MultiFab const * > &a_flow_vel, const amrex::Vector< std::unique_ptr< amrex::MultiFab > > &a_z_phys_nd) |
| virtual amrex::Vector< std::string > | varNames () const |
| virtual amrex::Vector< std::string > | meshPlotVarNames () const |
| virtual void | AdvectWithFlow (int a_lev, amrex::Real a_dt, amrex::Vector< amrex::MultiFab const * > &a_umac, const std::unique_ptr< amrex::MultiFab > &a_z_height) |
| void | WritePlotFile (const std::string &a_fname, const std::string &a_name, const amrex::Vector< amrex::MultiFab > &a_xy) const |
| virtual void | massDensity (amrex::MultiFab &a_mf, const int &a_lev, const int &a_comp=0) const |
| virtual void | computeMeshVar (const std::string &a_var_name, amrex::MultiFab &a_mf, const int a_lev) const |
| void | setAdvectWithFlow (bool a_flag) |
| void | initializeParticlesUniformDistributionInBox (const std::unique_ptr< amrex::MultiFab > &a_ptr, const amrex::RealBox &particle_box) |
Protected Member Functions | |
| virtual void | readInputs () |
Protected Attributes | |
| bool | m_advect_w_flow |
| amrex::RealBox | m_particle_box |
| std::string | m_name |
| std::string | m_initialization_type |
| int | m_ppc_init |
Private Attributes | |
| bool | place_randomly_in_cells |
Definition at line 105 of file REMORA_PC.H.
|
inline |
|
virtual |
Uses midpoint method to advance particles using flow velocity.
| a_lev | level at which to evolve particles |
| a_dt | time step |
| a_umac | flow velocities |
| a_z_height | z nodal positions of grid |
Definition at line 37 of file REMORA_PC_Evolve.cpp.
Referenced by EvolveParticles().


|
inlinevirtual |
Compute mesh variable from particles
Definition at line 183 of file REMORA_PC.H.

|
virtual |
Evolve particles for one time step
| a_lev | level at which to evolve particles |
| a_dt_lev | time step |
| a_flow_vel | flow velocities |
| a_z_phys_nd | z nodal positions of grid |
Definition at line 16 of file REMORA_PC_Evolve.cpp.

|
virtual |
Initialize particles in domain
Definition at line 51 of file REMORA_PC_Init.cpp.

| void REMORAPC::initializeParticlesUniformDistributionInBox | ( | const std::unique_ptr< amrex::MultiFab > & | a_ptr, |
| const amrex::RealBox & | particle_box | ||
| ) |
Default particle initialization
Uniform distribution: the number of particles per grid cell is specified by "initial_particles_per_cell", and they are randomly distributed.
Definition at line 68 of file REMORA_PC_Init.cpp.
Referenced by InitializeParticles().


|
virtual |
Compute mass density
| a_mf | Multifab to calculate over |
| a_lev | level to calculate on |
| a_comp | component to calculate |
Definition at line 14 of file REMORA_PC_Utils.cpp.
Referenced by computeMeshVar().


|
inlinevirtual |
Get real-type particle attribute names
Definition at line 163 of file REMORA_PC.H.

|
protectedvirtual |
read inputs from file
Definition at line 8 of file REMORA_PC_Init.cpp.
Referenced by REMORAPC(), and REMORAPC().


|
inline |
Specify if particles should advect with flow
Definition at line 195 of file REMORA_PC.H.

|
inlinevirtual |
Get real-type particle attribute names
Definition at line 156 of file REMORA_PC.H.
Referenced by WritePlotFile().


| void REMORAPC::WritePlotFile | ( | const std::string & | a_fname, |
| const std::string & | a_name, | ||
| const amrex::Vector< amrex::MultiFab > & | a_xy | ||
| ) | const |
Write the particles to a plotfile with x and y in physical coordinates
Write the particles to a plotfile with x and y in physical coordinates. The particles move in the uniform coordinates of the AMReX geometry; for output, x and y are replaced by the physical coordinates of the cell corners (psi points) interpolated bilinearly to each particle. These are the corner positions the plotfile's nodal displacement gives a viewer, so each particle is drawn inside the cell that holds it. z is already the physical height. Only a copy of the particles is converted, so writing a plotfile does not change the run.
| a_fname | plotfile directory |
| a_name | particle species name |
| a_xy | per level, physical x and y of the psi points (REMORA::plot_node_coords) |
Definition at line 59 of file REMORA_PC_Utils.cpp.

|
protected |
advect with flow velocity
Definition at line 210 of file REMORA_PC.H.
Referenced by EvolveParticles(), readInputs(), and setAdvectWithFlow().
|
protected |
initial particle distribution type
Definition at line 216 of file REMORA_PC.H.
Referenced by InitializeParticles(), and readInputs().
|
protected |
name of this particle species
Definition at line 214 of file REMORA_PC.H.
Referenced by InitializeParticles(), readInputs(), REMORAPC(), and REMORAPC().
|
protected |
box within which to place particles
Definition at line 212 of file REMORA_PC.H.
Referenced by InitializeParticles(), and readInputs().
|
protected |
initial number of particles per cell
Definition at line 217 of file REMORA_PC.H.
Referenced by initializeParticlesUniformDistributionInBox(), and readInputs().
|
private |
place particles at random positions?
Definition at line 224 of file REMORA_PC.H.
Referenced by initializeParticlesUniformDistributionInBox(), and readInputs().