libMesh
|
Go to the source code of this file.
Classes | |
class | SlepcSolverConfiguration |
A class that interfaces the SolverConfiguration to add the SLEPC option SetST. More... | |
Enumerations | |
enum | SpectralTransform { SHIFT =0, SINVERT, CAYLEY, INVALID_ST } |
Defines an enum for spectral tronsformations applied before solving the (generalised) eigenproblem. More... | |
Functions | |
void | assemble_SchroedingerEquation (EquationSystems &es, const std::string &system_name) |
In this function, we assemble the actual system matrices. More... | |
void | line_print (EquationSystems &es, std::string output, std::string SysName) |
int | main (int argc, char **argv) |
enum SpectralTransform |
Defines an enum
for spectral tronsformations applied before solving the (generalised) eigenproblem.
Enumerator | |
---|---|
SHIFT | |
SINVERT | |
CAYLEY | |
INVALID_ST |
Definition at line 78 of file miscellaneous_ex14.C.
void assemble_SchroedingerEquation | ( | EquationSystems & | es, |
const std::string & | system_name | ||
) |
In this function, we assemble the actual system matrices.
The initial equation is the eigen system \( H \Psi = \epsilon \Psi \) where H is the Hamilton operator and Psi the eigen vector with corresponding eigen value \(\epsilon\). In the FEM-scheme, this becomes the generalised eigen problem \( H \Psi = \epsilon M \Psi \) where M is the element mass matrix.
All done!
Definition at line 332 of file miscellaneous_ex14.C.
References libMesh::MeshBase::active_local_subdomain_elements_ptr_range(), libMesh::SparseMatrix< T >::add_matrix(), libMesh::FEGenericBase< OutputType >::build(), libMesh::FEGenericBase< OutputType >::build_InfFE(), libMesh::Elem::close_to_point(), libMesh::DofMap::constrain_element_matrix(), dim, libMesh::DofMap::dof_indices(), libMesh::err, libMesh::Parameters::get(), libMesh::System::get_dof_map(), libMesh::FEGenericBase< OutputType >::get_dphase(), libMesh::FEGenericBase< OutputType >::get_dphi_over_decayxR(), libMesh::FEAbstract::get_fe_type(), libMesh::FEAbstract::get_JxWxdecay_sq(), libMesh::EigenSystem::get_matrix_A(), libMesh::EigenSystem::get_matrix_B(), libMesh::EquationSystems::get_mesh(), libMesh::FEGenericBase< OutputType >::get_phi_over_decayxR(), libMesh::FEGenericBase< OutputType >::get_Sobolev_dweightxR_sq(), libMesh::FEGenericBase< OutputType >::get_Sobolev_weightxR_sq(), libMesh::EquationSystems::get_system(), libMesh::FEAbstract::get_xyz(), libMesh::libmesh_assert(), libMesh::libmesh_ignore(), mesh, libMesh::MeshBase::mesh_dimension(), libMesh::FEInterface::n_dofs(), libMesh::FEAbstract::n_quadrature_points(), libMesh::Elem::neighbor_ptr(), libMesh::TensorTools::norm(), libMesh::EquationSystems::parameters, libMesh::pi, libMesh::Real, libMesh::FEAbstract::reinit(), libMesh::DenseMatrix< T >::resize(), libMesh::Parameters::set(), libMesh::DofMap::variable_type(), and libMesh::MeshTools::weight().
Referenced by main().
void line_print | ( | EquationSystems & | es, |
std::string | output, | ||
std::string | SysName | ||
) |
Definition at line 725 of file miscellaneous_ex14.C.
References libMesh::Parameters::get(), libMesh::EquationSystems::get_system(), std::imag(), libMesh::libmesh_ignore(), libMesh::EquationSystems::parameters, libMesh::System::point_gradient(), libMesh::System::point_value(), std::real(), libMesh::Real, and libMesh::System::variable_number().
Referenced by main().
Definition at line 134 of file miscellaneous_ex14.C.
References libMesh::EquationSystems::add_system(), libMesh::System::add_variable(), libMesh::ARNOLDI, assemble_SchroedingerEquation(), libMesh::System::attach_assemble_function(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::MeshTools::Generation::build_sphere(), libMesh::CARTESIAN, dim, libMesh::MeshBase::find_neighbors(), libMesh::FOURTH, libMesh::EigenSystem::get_eigen_solver(), libMesh::EigenSystem::get_eigenpair(), libMesh::EigenSystem::get_n_converged(), libMesh::GNHEP, libMesh::HEX27, std::imag(), libMesh::TriangleWrapper::init(), libMesh::EquationSystems::init(), libMesh::JACOBI_20_00, libMesh::KRYLOVSCHUR, libMesh::LAGRANGE, line_print(), mesh, libMesh::out, libMesh::EquationSystems::parameters, libMesh::Utility::pow(), libMesh::Real, libMesh::SECOND, libMesh::Parameters::set(), libMesh::EigenSystem::set_eigenproblem_type(), libMesh::EigenSolver< T >::set_solver_configuration(), SINVERT, libMesh::EigenSystem::solve(), libMesh::TOLERANCE, and libMesh::ExodusII_IO::write_equation_systems().