MFEM v4.9.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction > Struct Template Referenceabstract

Crank-Nicolson time solver for the Schrodinger equation. More...

#include <schrodinger_flow.hpp>

Inheritance diagram for mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >:
[legend]
Collaboration diagram for mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >:
[legend]

Public Member Functions

 CrankNicolsonTimeBaseSolver (TFiniteElementSpace &fes, real_t hbar, real_t dt, std::function< GMRESSolver()> CreateGMRESSolver, real_t rtol, real_t atol, int maxiter, int print_level)
 
virtual void Mult (TComplexGridFunction &psi)=0
 

Public Attributes

ConstantCoefficient one
 
ConstantCoefficient dthq
 
ConstantCoefficient mdthq
 
TSesquilinearForm C_form
 
TSesquilinearForm R_form
 
Array< int > no_bc
 
OperatorHandle C_op
 
OperatorHandle R_op
 
TComplexGridFunction z
 
GMRESSolver gmres_solver
 

Detailed Description

template<typename TFiniteElementSpace, typename TSesquilinearForm, typename TComplexGridFunction>
struct mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >

Crank-Nicolson time solver for the Schrodinger equation.

Definition at line 652 of file schrodinger_flow.hpp.

Constructor & Destructor Documentation

◆ CrankNicolsonTimeBaseSolver()

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::CrankNicolsonTimeBaseSolver ( TFiniteElementSpace & fes,
real_t hbar,
real_t dt,
std::function< GMRESSolver()> CreateGMRESSolver,
real_t rtol,
real_t atol,
int maxiter,
int print_level )
inline

Definition at line 666 of file schrodinger_flow.hpp.

Member Function Documentation

◆ Mult()

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
virtual void mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::Mult ( TComplexGridFunction & psi)
pure virtual

Member Data Documentation

◆ C_form

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
TSesquilinearForm mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::C_form

Definition at line 655 of file schrodinger_flow.hpp.

◆ C_op

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
OperatorHandle mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::C_op

Definition at line 657 of file schrodinger_flow.hpp.

◆ dthq

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
ConstantCoefficient mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::dthq

Definition at line 654 of file schrodinger_flow.hpp.

◆ gmres_solver

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
GMRESSolver mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::gmres_solver

Definition at line 659 of file schrodinger_flow.hpp.

◆ mdthq

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
ConstantCoefficient mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::mdthq

Definition at line 654 of file schrodinger_flow.hpp.

◆ no_bc

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
Array<int> mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::no_bc

Definition at line 656 of file schrodinger_flow.hpp.

◆ one

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
ConstantCoefficient mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::one

Definition at line 654 of file schrodinger_flow.hpp.

◆ R_form

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
TSesquilinearForm mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::R_form

Definition at line 655 of file schrodinger_flow.hpp.

◆ R_op

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
OperatorHandle mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::R_op

Definition at line 657 of file schrodinger_flow.hpp.

◆ z

template<typename TFiniteElementSpace , typename TSesquilinearForm , typename TComplexGridFunction >
TComplexGridFunction mfem::CrankNicolsonTimeBaseSolver< TFiniteElementSpace, TSesquilinearForm, TComplexGridFunction >::z

Definition at line 658 of file schrodinger_flow.hpp.


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