overset_ops Namespace Reference

AMR-Wind API: amr_wind::overset_ops Namespace Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
amr_wind::overset_ops Namespace Reference

Functions

amrex::Real AMREX_GPU_DEVICE AMREX_FORCE_INLINE asdf (const amrex::Real a_vof, const amrex::Real i_th, const amrex::Real tiny)
 
amrex::Real AMREX_GPU_DEVICE AMREX_FORCE_INLINE alpha_flux (const int i, const int j, const int k, const int dir, const amrex::Real margin, amrex::Array4< amrex::Real const > const &vof, amrex::Array4< amrex::Real const > const &tg_vof, amrex::Array4< amrex::Real const > const &normal)
 
void AMREX_GPU_DEVICE AMREX_FORCE_INLINE velocity_face (const int i, const int j, const int k, const int dir, amrex::Array4< amrex::Real const > const &vof, amrex::Array4< amrex::Real const > const &velocity, amrex::Real &uface, amrex::Real &vface, amrex::Real &wface)
 
void AMREX_GPU_DEVICE AMREX_FORCE_INLINE gp_rho_face (const int i, const int j, const int k, const int dir, amrex::Array4< amrex::Real const > const &vof, amrex::Array4< amrex::Real const > const &gp, amrex::Array4< amrex::Real const > const &rho, amrex::Real &uface, amrex::Real &vface, amrex::Real &wface)
 
vs::Tensor AMREX_GPU_DEVICE AMREX_FORCE_INLINE gp_flux_tensor (const int i, const int j, const int k, amrex::Array4< amrex::Real const > const &fx, amrex::Array4< amrex::Real const > const &fy, amrex::Array4< amrex::Real const > const &fz, const amrex::Real tiny)
 
vs::Tensor AMREX_GPU_DEVICE AMREX_FORCE_INLINE normal_reinit_tensor (const int i, const int j, const int k, amrex::Array4< amrex::Real const > const &fx, amrex::Array4< amrex::Real const > const &fy, amrex::Array4< amrex::Real const > const &fz, amrex::Array4< amrex::Real const > const &vof, const amrex::Real tiny)
 
void iblank_to_mask (const IntField &iblank, IntField &maskf)
 
void iblank_node_to_mask_vof (const IntField &iblank, const Field &voff, IntField &maskf)
 
void prepare_mask_cell_for_mac (FieldRepo &repo)
 
void revert_mask_cell_after_mac (FieldRepo &repo)
 
void populate_psi (amrex::MultiFab &mf_psi, const amrex::MultiFab &mf_vof, const amrex::Real i_th, const amrex::Real asdf_tiny)
 
void process_vof (amrex::MultiFab &mf_vof, const amrex::Real vof_tol)
 
void harmonize_vof (amrex::MultiFab &mf_vof_target, const amrex::MultiFab &mf_vof_original, const amrex::iMultiFab &mf_iblank)
 
void populate_normal_vector (amrex::MultiFab &mf_normvec, const amrex::MultiFab &mf_vof, const amrex::iMultiFab &mf_iblank)
 
void populate_sharpen_fluxes (amrex::MultiFab &mf_fx, amrex::MultiFab &mf_fy, amrex::MultiFab &mf_fz, const amrex::MultiFab &mf_vof, const amrex::MultiFab &mf_target_vof, const amrex::MultiFab &mf_norm, const amrex::MultiFab &mf_velocity, const amrex::MultiFab &mf_gp, const amrex::MultiFab &mf_density, const amrex::Real Gamma, const amrex::Real margin, const amrex::Real rho1, const amrex::Real rho2)
 
void process_fluxes_calc_src (amrex::MultiFab &mf_fx, amrex::MultiFab &mf_fy, amrex::MultiFab &mf_fz, amrex::MultiFab &mf_psource, const amrex::MultiFab &mf_vof, const amrex::iMultiFab &mf_iblank)
 
amrex::Real calculate_pseudo_velocity_scale (const amrex::iMultiFab &mf_iblank, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dx, const amrex::Real pvmax)
 
amrex::Real calculate_pseudo_dt_flux (const amrex::MultiFab &mf_fx, const amrex::MultiFab &mf_fy, const amrex::MultiFab &mf_fz, const amrex::MultiFab &mf_vof, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx, const amrex::Real tol)
 
void apply_fluxes (const amrex::MultiFab &mf_fx, const amrex::MultiFab &mf_fy, const amrex::MultiFab &mf_fz, const amrex::MultiFab &mf_psource, amrex::MultiFab &mf_vof, amrex::MultiFab &mf_dens, amrex::MultiFab &mf_vel, amrex::MultiFab &mf_gp, amrex::MultiFab &mf_pressure, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dx, const amrex::Real ptfac, const amrex::Real vof_tol)
 
amrex::Real measure_convergence (amrex::MultiFab &mf_fx, amrex::MultiFab &mf_fy, amrex::MultiFab &mf_fz)
 
void equate_field (amrex::MultiFab &mf_dest, const amrex::MultiFab &mf_src)
 
void replace_gradp (amrex::MultiFab &mf_gp, const amrex::MultiFab &mf_gp0, const amrex::iMultiFab &mf_iblank)
 
void apply_pressure_gradient (amrex::MultiFab &mf_vel, const amrex::MultiFab &mf_density, const amrex::MultiFab &mf_gp, const amrex::Real scaling_factor)
 

Function Documentation

◆ alpha_flux()

amrex::Real AMREX_GPU_DEVICE AMREX_FORCE_INLINE amr_wind::overset_ops::alpha_flux ( const int i,
const int j,
const int k,
const int dir,
const amrex::Real margin,
amrex::Array4< amrex::Real const > const & vof,
amrex::Array4< amrex::Real const > const & tg_vof,
amrex::Array4< amrex::Real const > const & normal )

◆ apply_fluxes()

void amr_wind::overset_ops::apply_fluxes ( const amrex::MultiFab & mf_fx,
const amrex::MultiFab & mf_fy,
const amrex::MultiFab & mf_fz,
const amrex::MultiFab & mf_psource,
amrex::MultiFab & mf_vof,
amrex::MultiFab & mf_dens,
amrex::MultiFab & mf_vel,
amrex::MultiFab & mf_gp,
amrex::MultiFab & mf_pressure,
const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dx,
const amrex::Real ptfac,
const amrex::Real vof_tol )

◆ apply_pressure_gradient()

void amr_wind::overset_ops::apply_pressure_gradient ( amrex::MultiFab & mf_vel,
const amrex::MultiFab & mf_density,
const amrex::MultiFab & mf_gp,
const amrex::Real scaling_factor )

◆ asdf()

amrex::Real AMREX_GPU_DEVICE AMREX_FORCE_INLINE amr_wind::overset_ops::asdf ( const amrex::Real a_vof,
const amrex::Real i_th,
const amrex::Real tiny )

◆ calculate_pseudo_dt_flux()

amrex::Real amr_wind::overset_ops::calculate_pseudo_dt_flux ( const amrex::MultiFab & mf_fx,
const amrex::MultiFab & mf_fy,
const amrex::MultiFab & mf_fz,
const amrex::MultiFab & mf_vof,
const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & dx,
const amrex::Real tol )

◆ calculate_pseudo_velocity_scale()

amrex::Real amr_wind::overset_ops::calculate_pseudo_velocity_scale ( const amrex::iMultiFab & mf_iblank,
const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dx,
const amrex::Real pvmax )

◆ equate_field()

void amr_wind::overset_ops::equate_field ( amrex::MultiFab & mf_dest,
const amrex::MultiFab & mf_src )

◆ gp_flux_tensor()

vs::Tensor AMREX_GPU_DEVICE AMREX_FORCE_INLINE amr_wind::overset_ops::gp_flux_tensor ( const int i,
const int j,
const int k,
amrex::Array4< amrex::Real const > const & fx,
amrex::Array4< amrex::Real const > const & fy,
amrex::Array4< amrex::Real const > const & fz,
const amrex::Real tiny )

◆ gp_rho_face()

void AMREX_GPU_DEVICE AMREX_FORCE_INLINE amr_wind::overset_ops::gp_rho_face ( const int i,
const int j,
const int k,
const int dir,
amrex::Array4< amrex::Real const > const & vof,
amrex::Array4< amrex::Real const > const & gp,
amrex::Array4< amrex::Real const > const & rho,
amrex::Real & uface,
amrex::Real & vface,
amrex::Real & wface )

◆ harmonize_vof()

void amr_wind::overset_ops::harmonize_vof ( amrex::MultiFab & mf_vof_target,
const amrex::MultiFab & mf_vof_original,
const amrex::iMultiFab & mf_iblank )

◆ iblank_node_to_mask_vof()

void amr_wind::overset_ops::iblank_node_to_mask_vof ( const IntField & iblank,
const Field & voff,
IntField & maskf )

VOF-sensitive conversion of iblank to mask at nodes

Masks most of the domain, including a layer around solid bodies, but avoids masking cells near the interface

◆ iblank_to_mask()

void amr_wind::overset_ops::iblank_to_mask ( const IntField & iblank,
IntField & maskf )

Convert iblanks to AMReX mask

\begin{align} \mathrm{mask}_{i,j,k} = \begin{cases} 1 & \mathrm{IBLANK}_{i, j, k} = 1 \\ 0 & \mathrm{IBLANK}_{i, j, k} \leq 0 \end{cases} \end{align}

◆ measure_convergence()

amrex::Real amr_wind::overset_ops::measure_convergence ( amrex::MultiFab & mf_fx,
amrex::MultiFab & mf_fy,
amrex::MultiFab & mf_fz )

◆ normal_reinit_tensor()

vs::Tensor AMREX_GPU_DEVICE AMREX_FORCE_INLINE amr_wind::overset_ops::normal_reinit_tensor ( const int i,
const int j,
const int k,
amrex::Array4< amrex::Real const > const & fx,
amrex::Array4< amrex::Real const > const & fy,
amrex::Array4< amrex::Real const > const & fz,
amrex::Array4< amrex::Real const > const & vof,
const amrex::Real tiny )

◆ populate_normal_vector()

void amr_wind::overset_ops::populate_normal_vector ( amrex::MultiFab & mf_normvec,
const amrex::MultiFab & mf_vof,
const amrex::iMultiFab & mf_iblank )

◆ populate_psi()

void amr_wind::overset_ops::populate_psi ( amrex::MultiFab & mf_psi,
const amrex::MultiFab & mf_vof,
const amrex::Real i_th,
const amrex::Real asdf_tiny )

◆ populate_sharpen_fluxes()

void amr_wind::overset_ops::populate_sharpen_fluxes ( amrex::MultiFab & mf_fx,
amrex::MultiFab & mf_fy,
amrex::MultiFab & mf_fz,
const amrex::MultiFab & mf_vof,
const amrex::MultiFab & mf_target_vof,
const amrex::MultiFab & mf_norm,
const amrex::MultiFab & mf_velocity,
const amrex::MultiFab & mf_gp,
const amrex::MultiFab & mf_density,
const amrex::Real Gamma,
const amrex::Real margin,
const amrex::Real rho1,
const amrex::Real rho2 )

◆ prepare_mask_cell_for_mac()

void amr_wind::overset_ops::prepare_mask_cell_for_mac ( FieldRepo & repo)

VOF-sensitive conversion of iblank to mask at cells

Same concept as iblank_node_to_mask_vof, but for MAC projection

◆ process_fluxes_calc_src()

void amr_wind::overset_ops::process_fluxes_calc_src ( amrex::MultiFab & mf_fx,
amrex::MultiFab & mf_fy,
amrex::MultiFab & mf_fz,
amrex::MultiFab & mf_psource,
const amrex::MultiFab & mf_vof,
const amrex::iMultiFab & mf_iblank )

◆ process_vof()

void amr_wind::overset_ops::process_vof ( amrex::MultiFab & mf_vof,
const amrex::Real vof_tol )

◆ replace_gradp()

void amr_wind::overset_ops::replace_gradp ( amrex::MultiFab & mf_gp,
const amrex::MultiFab & mf_gp0,
const amrex::iMultiFab & mf_iblank )

◆ revert_mask_cell_after_mac()

void amr_wind::overset_ops::revert_mask_cell_after_mac ( FieldRepo & repo)

Convert iblank to mask using ordinary method

Intended to return mask_cell back to original values following prepare_mask_cell_for_mac because mask_cell is used in other parts of the flow solver, not just the MAC projection

◆ velocity_face()

void AMREX_GPU_DEVICE AMREX_FORCE_INLINE amr_wind::overset_ops::velocity_face ( const int i,
const int j,
const int k,
const int dir,
amrex::Array4< amrex::Real const > const & vof,
amrex::Array4< amrex::Real const > const & velocity,
amrex::Real & uface,
amrex::Real & vface,
amrex::Real & wface )