ARTEMIS
VelocityProperties.H
Go to the documentation of this file.
1 /* Copyright 2021 Hannah Klion
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 
8 #ifndef VELOCITY_PROPERTIES_H_
9 #define VELOCITY_PROPERTIES_H_
10 
11 #include <AMReX_ParmParse.H>
12 #include <AMReX_Parser.H>
13 #include <AMReX_REAL.H>
14 
15 /* Type of velocity initialization. Used by VelocityProperties and GetVelocity. */
17 
26 {
38 
39  /* Type of velocity initialization */
41 
42  /* Velocity direction */
43  int m_dir; // Index x=0, y=1, z=2
44  int m_sign_dir; // Sign of the velocity direction positive=1, negative=-1
45 
46  /* Constant velocity value, if m_type == VelConstantValue */
47  amrex::Real m_velocity;
48  /* Storage of the parser function, if m_type == VelParserFunction */
49  std::unique_ptr<amrex::Parser> m_ptr_velocity_parser;
50 };
51 
52 #endif
amrex::ParmParse pp
VelocityInitType
Definition: VelocityProperties.H:16
@ VelConstantValue
Definition: VelocityProperties.H:16
@ VelParserFunction
Definition: VelocityProperties.H:16
Struct to store velocity properties, for use in momentum initialization.
Definition: VelocityProperties.H:26
int m_dir
Definition: VelocityProperties.H:43
std::unique_ptr< amrex::Parser > m_ptr_velocity_parser
Definition: VelocityProperties.H:49
VelocityInitType m_type
Definition: VelocityProperties.H:40
VelocityProperties(amrex::ParmParse &pp)
Read runtime parameters to populate constant or spatially-varying velocity information.
Definition: VelocityProperties.cpp:14
amrex::Real m_velocity
Definition: VelocityProperties.H:47
int m_sign_dir
Definition: VelocityProperties.H:44