MFEM v4.9.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::Options Struct Reference

Options for the Incompressible Schrödinger Flow solver. More...

#include <schrodinger_flow.hpp>

Inheritance diagram for mfem::Options:
[legend]
Collaboration diagram for mfem::Options:
[legend]

Public Types

enum class  JetGeom : int { Band = 0 , Disc = 1 , Rect = 2 }
 
enum class  VisData : int {
  Velocity , Vorticity , X , Y ,
  Z , Jet , Unknown
}
 
- Public Types inherited from mfem::OptionsParser
enum  OptionType {
  INT , DOUBLE , STRING , STD_STRING ,
  ENABLE , DISABLE , ARRAY , VECTOR
}
 

Public Member Functions

 Options (int argc, char *argv[])
 
- Public Member Functions inherited from mfem::OptionsParser
 OptionsParser (int argc_, char *argv_[])
 Construct a command line option parser with 'argc_' and 'argv_'.
 
void AddOption (bool *var, const char *enable_short_name, const char *enable_long_name, const char *disable_short_name, const char *disable_long_name, const char *description, bool required=false)
 Add a boolean option and set 'var' to receive the value. Enable/disable tags are used to set the bool to true/false respectively.
 
void AddOption (int *var, const char *short_name, const char *long_name, const char *description, bool required=false)
 Add an integer option and set 'var' to receive the value.
 
void AddOption (real_t *var, const char *short_name, const char *long_name, const char *description, bool required=false)
 Add a double option and set 'var' to receive the value.
 
void AddOption (const char **var, const char *short_name, const char *long_name, const char *description, bool required=false)
 Add a string (char*) option and set 'var' to receive the value.
 
void AddOption (std::string *var, const char *short_name, const char *long_name, const char *description, bool required=false)
 Add a string (std::string) option and set 'var' to receive the value.
 
void AddOption (Array< int > *var, const char *short_name, const char *long_name, const char *description, bool required=false)
 
void AddOption (Vector *var, const char *short_name, const char *long_name, const char *description, bool required=false)
 
void Parse ()
 Parse the command-line options. Note that this function expects all the options provided through the command line to have a corresponding AddOption. In particular, this function cannot be used for partial parsing.
 
void ParseCheck (std::ostream &out=mfem::out)
 
bool Good () const
 Return true if the command line options were parsed successfully.
 
bool Help () const
 Return true if we are flagged to print the help message.
 
void PrintOptions (std::ostream &out) const
 Print the options.
 
void PrintError (std::ostream &out) const
 Print the error message.
 
void PrintHelp (std::ostream &out) const
 Print the help message.
 
void PrintUsage (std::ostream &out) const
 Print the usage message.
 

Public Attributes

const char * device = "cpu"
 
int order = 1
 
real_t dt = 0.0
 
real_t hbar = 1e-1
 
int max_steps = 256
 
int dim = 2
 
int nx = 64
 
int ny = 64
 
int nz = 64
 
real_t sx = 4.0
 
real_t sy = 4.0
 
real_t sz = 4.0
 
bool periodic = true
 
bool set_bc = false
 
bool leapfrog = false
 
real_t leapfrog_vx = -0.1
 
real_t leapfrog_sw = 1.0
 
real_t leapfrog_r1 = 0.4
 
real_t leapfrog_r2 = 0.26
 
bool jet = false
 
real_t jet_vx = 0.6
 
int jet_geom = 1
 
real_t rtol = 1e-6
 
real_t atol = 0.0
 
real_t ftz = 1e-15
 
int max_iters = 1000
 
int print_level = -1
 
bool visualization = true
 
bool paraview = false
 
int vis_steps = 1
 
int vis_width = 1024
 
int vis_height = 1024
 
int vis_data = static_cast<int>(VisData::Vorticity)
 
const char * vis_keys = "cgjR"
 

Detailed Description

Options for the Incompressible Schrödinger Flow solver.

Definition at line 33 of file schrodinger_flow.hpp.

Member Enumeration Documentation

◆ JetGeom

enum class mfem::Options::JetGeom : int
strong
Enumerator
Band 
Disc 
Rect 

Definition at line 53 of file schrodinger_flow.hpp.

◆ VisData

enum class mfem::Options::VisData : int
strong
Enumerator
Velocity 
Vorticity 
Jet 
Unknown 

Definition at line 59 of file schrodinger_flow.hpp.

Constructor & Destructor Documentation

◆ Options()

mfem::Options::Options ( int argc,
char * argv[] )
inline

Definition at line 71 of file schrodinger_flow.hpp.

Member Data Documentation

◆ atol

real_t mfem::Options::atol = 0.0

Definition at line 56 of file schrodinger_flow.hpp.

◆ device

const char* mfem::Options::device = "cpu"

Definition at line 35 of file schrodinger_flow.hpp.

◆ dim

int mfem::Options::dim = 2

Definition at line 42 of file schrodinger_flow.hpp.

◆ dt

real_t mfem::Options::dt = 0.0

Definition at line 38 of file schrodinger_flow.hpp.

◆ ftz

real_t mfem::Options::ftz = 1e-15

Definition at line 56 of file schrodinger_flow.hpp.

◆ hbar

real_t mfem::Options::hbar = 1e-1

Definition at line 39 of file schrodinger_flow.hpp.

◆ jet

bool mfem::Options::jet = false

Definition at line 51 of file schrodinger_flow.hpp.

◆ jet_geom

int mfem::Options::jet_geom = 1

Definition at line 54 of file schrodinger_flow.hpp.

◆ jet_vx

real_t mfem::Options::jet_vx = 0.6

Definition at line 52 of file schrodinger_flow.hpp.

◆ leapfrog

bool mfem::Options::leapfrog = false

Definition at line 47 of file schrodinger_flow.hpp.

◆ leapfrog_r1

real_t mfem::Options::leapfrog_r1 = 0.4

Definition at line 49 of file schrodinger_flow.hpp.

◆ leapfrog_r2

real_t mfem::Options::leapfrog_r2 = 0.26

Definition at line 49 of file schrodinger_flow.hpp.

◆ leapfrog_sw

real_t mfem::Options::leapfrog_sw = 1.0

Definition at line 48 of file schrodinger_flow.hpp.

◆ leapfrog_vx

real_t mfem::Options::leapfrog_vx = -0.1

Definition at line 48 of file schrodinger_flow.hpp.

◆ max_iters

int mfem::Options::max_iters = 1000

Definition at line 57 of file schrodinger_flow.hpp.

◆ max_steps

int mfem::Options::max_steps = 256

Definition at line 40 of file schrodinger_flow.hpp.

◆ nx

int mfem::Options::nx = 64

Definition at line 43 of file schrodinger_flow.hpp.

◆ ny

int mfem::Options::ny = 64

Definition at line 43 of file schrodinger_flow.hpp.

◆ nz

int mfem::Options::nz = 64

Definition at line 43 of file schrodinger_flow.hpp.

◆ order

int mfem::Options::order = 1

Definition at line 36 of file schrodinger_flow.hpp.

◆ paraview

bool mfem::Options::paraview = false

Definition at line 66 of file schrodinger_flow.hpp.

◆ periodic

bool mfem::Options::periodic = true

Definition at line 45 of file schrodinger_flow.hpp.

◆ print_level

int mfem::Options::print_level = -1

Definition at line 57 of file schrodinger_flow.hpp.

◆ rtol

real_t mfem::Options::rtol = 1e-6

Definition at line 56 of file schrodinger_flow.hpp.

◆ set_bc

bool mfem::Options::set_bc = false

Definition at line 45 of file schrodinger_flow.hpp.

◆ sx

real_t mfem::Options::sx = 4.0

Definition at line 44 of file schrodinger_flow.hpp.

◆ sy

real_t mfem::Options::sy = 4.0

Definition at line 44 of file schrodinger_flow.hpp.

◆ sz

real_t mfem::Options::sz = 4.0

Definition at line 44 of file schrodinger_flow.hpp.

◆ vis_data

int mfem::Options::vis_data = static_cast<int>(VisData::Vorticity)

Definition at line 68 of file schrodinger_flow.hpp.

◆ vis_height

int mfem::Options::vis_height = 1024

Definition at line 67 of file schrodinger_flow.hpp.

◆ vis_keys

const char* mfem::Options::vis_keys = "cgjR"

Definition at line 69 of file schrodinger_flow.hpp.

◆ vis_steps

int mfem::Options::vis_steps = 1

Definition at line 67 of file schrodinger_flow.hpp.

◆ vis_width

int mfem::Options::vis_width = 1024

Definition at line 67 of file schrodinger_flow.hpp.

◆ visualization

bool mfem::Options::visualization = true

Definition at line 66 of file schrodinger_flow.hpp.


The documentation for this struct was generated from the following file: