![]() |
MFEM v4.9.0
Finite element discretization library
|
Base class for Schrodinger solver kernels. More...
#include <schrodinger_flow.hpp>
Public Member Functions | |
| SchrodingerBaseKernels (Options &config, std::function< TMesh(Mesh &)> CreateMesh, std::function< OrthoSolver()> CreateOrthoSolver, std::function< CGSolver()> CreateCGSolver) | |
| void | Initialize (Vector &phase_r) |
| Initialize the wavefunctions psi1 and psi2. | |
| void | Normalize () |
| Normalize the wavefunctions psi1 and psi2. | |
| void | Restrict (const real_t t, const TGridFunction &isJet_in, const real_t omega, const TGridFunction &phase_in) |
| Restrict the wavefunctions psi1 and psi2. | |
| template<typename Gfn , typename Xfn , typename Yfn , typename Zfn > | |
| void | GradPsi (Gfn &Grad_nd, Xfn &x_dot_Mm1, Yfn &y_dot_Mm1, Zfn &z_dot_Mm1) |
| void | GradPsiVelocity (const real_t hbar, TGridFunction &ux, TGridFunction &uy, TGridFunction &uz) |
| void | ComputeDivU () |
| void | GaugeTransform () |
| void | AddCircularVortex (const real3_t center, const real3_t normal, const real_t radius, const real_t swirling) |
| Add a circular vortex to the wavefunctions psi1 and psi2. | |
Public Member Functions inherited from mfem::Options | |
| 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. | |
Additional Inherited Members | |
Public Types inherited from mfem::Options | |
| 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 } |
Base class for Schrodinger solver kernels.
Definition at line 241 of file schrodinger_flow.hpp.
|
inline |
Definition at line 270 of file schrodinger_flow.hpp.
|
inline |
Add a circular vortex to the wavefunctions psi1 and psi2.
Definition at line 614 of file schrodinger_flow.hpp.
|
inline |
Definition at line 575 of file schrodinger_flow.hpp.
|
inline |
Definition at line 595 of file schrodinger_flow.hpp.
|
inline |
Definition at line 504 of file schrodinger_flow.hpp.
|
inline |
Definition at line 531 of file schrodinger_flow.hpp.
|
inline |
Initialize the wavefunctions psi1 and psi2.
Definition at line 440 of file schrodinger_flow.hpp.
|
inline |
Normalize the wavefunctions psi1 and psi2.
Definition at line 463 of file schrodinger_flow.hpp.
|
inline |
Restrict the wavefunctions psi1 and psi2.
Definition at line 480 of file schrodinger_flow.hpp.
| std::function<Mesh()> mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::CreateMesh2D |
Definition at line 243 of file schrodinger_flow.hpp.
| std::function<Mesh()> mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::CreateMesh3D |
Definition at line 243 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::delta_psi1 |
Definition at line 262 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::delta_psi2 |
Definition at line 262 of file schrodinger_flow.hpp.
| TBilinearForm mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::diff_h1 |
Definition at line 253 of file schrodinger_flow.hpp.
| CGSolver mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::diff_h1_cgs |
Definition at line 260 of file schrodinger_flow.hpp.
| OperatorHandle mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::diff_h1_op |
Definition at line 267 of file schrodinger_flow.hpp.
| OrthoSolver mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::diff_h1_ortho |
Definition at line 259 of file schrodinger_flow.hpp.
| bool mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::diff_h1_setup |
Definition at line 257 of file schrodinger_flow.hpp.
| OperatorJacobiSmoother mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::diff_h1_smoother |
Definition at line 258 of file schrodinger_flow.hpp.
| TGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::div_u |
Definition at line 264 of file schrodinger_flow.hpp.
| GridFunctionCoefficient mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::div_u_coeff |
Definition at line 266 of file schrodinger_flow.hpp.
| Array<int> mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::ess_tdof_list |
Definition at line 255 of file schrodinger_flow.hpp.
| bool mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::ess_tdof_list_setup |
Definition at line 257 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::gpsi1_nd |
Definition at line 262 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::gpsi1_x |
Definition at line 263 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::gpsi1_y |
Definition at line 263 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::gpsi1_z |
Definition at line 263 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::gpsi2_nd |
Definition at line 262 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::gpsi2_x |
Definition at line 263 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::gpsi2_y |
Definition at line 263 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::gpsi2_z |
Definition at line 263 of file schrodinger_flow.hpp.
| TMixedBilinearForm mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::grad_nd |
Definition at line 254 of file schrodinger_flow.hpp.
| OperatorHandle mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::grad_nd_op |
Definition at line 268 of file schrodinger_flow.hpp.
| H1_FECollection mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::h1_fec |
Definition at line 246 of file schrodinger_flow.hpp.
| TFiniteElementSpace mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::h1_fes |
Definition at line 248 of file schrodinger_flow.hpp.
| TGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::h1_gf |
Definition at line 264 of file schrodinger_flow.hpp.
| TBilinearForm mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::mass_h1 |
Definition at line 253 of file schrodinger_flow.hpp.
| CGSolver mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::mass_h1_cgs |
Definition at line 260 of file schrodinger_flow.hpp.
| OperatorHandle mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::mass_h1_op |
Definition at line 267 of file schrodinger_flow.hpp.
| TBilinearForm mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::mass_nd |
Definition at line 253 of file schrodinger_flow.hpp.
| CGSolver mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::mass_nd_cgs |
Definition at line 260 of file schrodinger_flow.hpp.
| OperatorHandle mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::mass_nd_op |
Definition at line 267 of file schrodinger_flow.hpp.
| TMesh mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::mesh |
Definition at line 245 of file schrodinger_flow.hpp.
| TMixedBilinearForm mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_dot_x_h1 |
Definition at line 254 of file schrodinger_flow.hpp.
| OperatorHandle mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_dot_x_h1_op |
Definition at line 268 of file schrodinger_flow.hpp.
| TMixedBilinearForm mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_dot_y_h1 |
Definition at line 254 of file schrodinger_flow.hpp.
| OperatorHandle mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_dot_y_h1_op |
Definition at line 268 of file schrodinger_flow.hpp.
| TMixedBilinearForm mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_dot_z_h1 |
Definition at line 254 of file schrodinger_flow.hpp.
| OperatorHandle mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_dot_z_h1_op |
Definition at line 268 of file schrodinger_flow.hpp.
| ND_FECollection mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_fec |
Definition at line 247 of file schrodinger_flow.hpp.
| TFiniteElementSpace mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_fes |
Definition at line 248 of file schrodinger_flow.hpp.
| TGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nd_gf |
Definition at line 264 of file schrodinger_flow.hpp.
| const int mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::ndofs |
Definition at line 250 of file schrodinger_flow.hpp.
| const int mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::ne |
Definition at line 250 of file schrodinger_flow.hpp.
| TFiniteElementSpace mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nodal_fes |
Definition at line 248 of file schrodinger_flow.hpp.
| TGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::nodes |
Definition at line 249 of file schrodinger_flow.hpp.
| ConstantCoefficient mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::one |
Definition at line 251 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::psi1 |
Definition at line 261 of file schrodinger_flow.hpp.
| TComplexGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::psi2 |
Definition at line 261 of file schrodinger_flow.hpp.
| TGridFunction mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::q |
Definition at line 264 of file schrodinger_flow.hpp.
| TLinearForm mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::rhs |
Definition at line 265 of file schrodinger_flow.hpp.
| Mesh mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::serial_mesh |
Definition at line 244 of file schrodinger_flow.hpp.
| std::function<void()> mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::SetEssentialTrueDofs |
Definition at line 256 of file schrodinger_flow.hpp.
| VectorFunctionCoefficient mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::Vx |
Definition at line 252 of file schrodinger_flow.hpp.
| VectorFunctionCoefficient mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::Vy |
Definition at line 252 of file schrodinger_flow.hpp.
| VectorFunctionCoefficient mfem::SchrodingerBaseKernels< TMesh, TFiniteElementSpace, TComplexGridFunction, TGridFunction, TBilinearForm, TMixedBilinearForm, TLinearForm >::Vz |
Definition at line 252 of file schrodinger_flow.hpp.