HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
HArDCore2D::DSL::HYPRE Class Referenceabstract

#include <hypre.hpp>

Inheritance diagram for HArDCore2D::DSL::HYPRE:
Inheritance graph
[legend]
Collaboration diagram for HArDCore2D::DSL::HYPRE:
Collaboration graph
[legend]

Public Types

typedef Eigen::SparseMatrix< double > SystemMatrixType
 
typedef std::function< VectorRd(const VectorRd &)> MomentumForcingTermType
 
typedef std::function< double(const VectorRd &)> CompressibilityForcingTermType
 
typedef std::function< VectorRd(const VectorRd &)> VelocityType
 
typedef std::function< MatrixRd(const VectorRd &)> VelocityGradientType
 
typedef std::function< double(const VectorRd &)> PressureType
 
typedef std::function< VectorRd(const VectorRd &)> PressureGradientType
 
typedef Eigen::SparseMatrix< double > SystemMatrixType
 
typedef std::function< VectorRd(const VectorRd &)> MomentumForcingTermType
 
typedef std::function< double(const VectorRd &)> CompressibilityForcingTermType
 
typedef std::function< VectorRd(const VectorRd &)> VelocityType
 
typedef std::function< MatrixRd(const VectorRd &)> VelocityGradientType
 
typedef std::function< double(const VectorRd &)> PressureType
 
typedef std::function< VectorRd(const VectorRd &)> PressureGradientType
 
typedef Eigen::SparseMatrix< double > SystemMatrixType
 
typedef std::function< VectorRd(const VectorRd &)> MomentumForcingTermType
 
typedef std::function< VectorRd(const VectorRd &)> MagneticForcingTermType
 
typedef std::function< double(const VectorRd &)> CompressibilityForcingTermType
 
typedef std::function< VectorRd(const VectorRd &)> VelocityType
 
typedef std::function< MatrixRd(const VectorRd &)> VelocityGradientType
 
typedef std::function< double(const VectorRd &)> PressureType
 
typedef std::function< VectorRd(const VectorRd &)> PressureGradientType
 

Public Member Functions

 HYPRE (const Mesh &mesh, size_t degree, const BoundaryConditions &bc, const HYPREParameters &parameters={})
 
virtual ~HYPRE ()
 
virtual Eigen::VectorXd interpolate (const VelocityType &u, const PressureType &p) const =0
 Interpolates velocity and pressure.
 
template<typename F >
Eigen::VectorXd pkpoPkPkPkInterpolate (const F &v, const InterpolateParameters &parameters={}) const
 Compute the interpolate for the Pk+1-Pk-Pk-Pk method.
 
size_t degree () const
 Returns the degree.
 
double stabilizationParameter () const
 Returns the stabilization parameter.
 
const std::vector< Eigen::MatrixXd > potential () const
 Returns the vector of potential reconstructions.
 
const std::vector< Eigen::MatrixXd > stabilization () const
 Returns the vector of stabilization matrices.
 
const Eigen::MatrixXd & potential (size_t iT) const
 Returns the potential reconstruction.
 
size_t numLocalStaticallyCondensedDofsVelocity () const
 Returns the local number of velocity statically condensed DOFs.
 
size_t numLocalStaticallyCondensedDofsPressure () const
 Returns the local number of pressure statically condensed DOFs.
 
size_t numStaticallyCondensedDofsVelocity () const
 Returns the number of statically condensed DOFs for the velocity.
 
size_t numStaticallyCondensedDofsPressure () const
 Returns the number of statically condensed DOFs for the pressure.
 
size_t numStaticallyCondensedDofs () const
 Returns the number of statically condensed DOFs.
 
size_t numDirichletDofs () const
 Returns the number of Dirichlet DOFs.
 
size_t dimVelocity () const
 Returns the dimension of velocity space.
 
size_t dimPressure () const
 Returns the dimension of pressure space.
 
size_t numNonStaticallyCondensedDofs () const
 Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DOFs.
 
size_t sizeSystem () const
 Returns the size of the final system with Lagrange multiplier, after application of SC and removal of Dirichlet BCs.
 
const DiscreteSpace & velocitySpace () const
 Returns the velocity space.
 
const DiscreteSpace & pressureSpace () const
 Returns the pressure space.
 
const Mesh & mesh () const
 Returns the mesh.
 
const SystemMatrixType & systemMatrix () const
 Returns the linear system matrix.
 
SystemMatrixType & systemMatrix ()
 Returns the linear system matrix.
 
const Eigen::VectorXd & systemVector () const
 Returns the linear system right-hand side vector.
 
Eigen::VectorXd & systemVector ()
 Returns the linear system right-hand side vector.
 
const SystemMatrixType & staticallyCondensedMatrix () const
 Returns the static condensation recovery operator.
 
const Eigen::VectorXd & staticallyCondensedVector () const
 Returns the static condensation rhs.
 
const BoundaryConditions & boundaryConditions () const
 Returns the boundary condition handler.
 
void assembleResidualSystem (const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old, const Eigen::VectorXd &uph_prev, const double time_step, const double current_time)
 Assemble the global system.
 
void assembleResidualSystem (const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old)
 
Eigen::VectorXd reconstructSolution (const Eigen::VectorXd &uhp_solsystem) const
 Reconstruct the solution from the vector of non-statically-condensed DOFs.
 
virtual double convective_stabilization_parameter (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const size_t cell_degree, const double viscosity, const Eigen::VectorXd uT_old, const double current_time=0.) const
 Evaluates convective stabilisation parameter.
 
 HYPRE (const Mesh &mesh, size_t degree, const BoundaryConditions &bc, const HYPREParameters &parameters={})
 
virtual ~HYPRE ()
 
virtual Eigen::VectorXd interpolate (const VelocityType &u, const PressureType &p) const =0
 Interpolates velocity and pressure.
 
template<typename F >
Eigen::VectorXd pkpoPkPkPkInterpolate (const F &v, const InterpolateParameters &parameters={}) const
 Compute the interpolate for the Pk+1-Pk-Pk-Pk method.
 
size_t degree () const
 Returns the degree.
 
double stabilizationParameter () const
 Returns the stabilization parameter.
 
const std::vector< Eigen::MatrixXd > potential () const
 Returns the vector of potential reconstructions.
 
const std::vector< Eigen::MatrixXd > stabilization () const
 Returns the vector of stabilization matrices.
 
const Eigen::MatrixXd & potential (size_t iT) const
 Returns the potential reconstruction.
 
size_t numLocalStaticallyCondensedDofsVelocity () const
 Returns the local number of velocity statically condensed DOFs.
 
size_t numLocalStaticallyCondensedDofsPressure () const
 Returns the local number of pressure statically condensed DOFs.
 
size_t numStaticallyCondensedDofsVelocity () const
 Returns the number of statically condensed DOFs for the velocity.
 
size_t numStaticallyCondensedDofsPressure () const
 Returns the number of statically condensed DOFs for the pressure.
 
size_t numStaticallyCondensedDofs () const
 Returns the number of statically condensed DOFs.
 
size_t numDirichletDofs () const
 Returns the number of Dirichlet DOFs.
 
size_t dimVelocity () const
 Returns the dimension of velocity space.
 
size_t dimPressure () const
 Returns the dimension of pressure space.
 
size_t numNonStaticallyCondensedDofs () const
 Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DOFs.
 
size_t sizeSystem () const
 Returns the size of the final system with Lagrange multiplier, after application of SC and removal of Dirichlet BCs.
 
const DiscreteSpace & velocitySpace () const
 Returns the velocity space.
 
const DiscreteSpace & pressureSpace () const
 Returns the pressure space.
 
const Mesh & mesh () const
 Returns the mesh.
 
const SystemMatrixType & systemMatrix () const
 Returns the linear system matrix.
 
SystemMatrixType & systemMatrix ()
 Returns the linear system matrix.
 
const Eigen::VectorXd & systemVector () const
 Returns the linear system right-hand side vector.
 
Eigen::VectorXd & systemVector ()
 Returns the linear system right-hand side vector.
 
const SystemMatrixType & staticallyCondensedMatrix () const
 Returns the static condensation recovery operator.
 
const Eigen::VectorXd & staticallyCondensedVector () const
 Returns the static condensation rhs.
 
const BoundaryConditions & boundaryConditions () const
 Returns the boundary condition handler.
 
void assembleResidualSystem (const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old, const Eigen::VectorXd &uph_prev, const double time_step, const double current_time)
 Assemble the global system.
 
void assembleResidualSystem (const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old)
 
Eigen::VectorXd reconstructSolution (const Eigen::VectorXd &uhp_solsystem) const
 Reconstruct the solution from the vector of non-statically-condensed DOFs.
 
virtual double convective_stabilization_parameter (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const size_t cell_degree, const double viscosity, const Eigen::VectorXd uT_old, const double current_time=0.) const
 Evaluates convective stabilisation parameter.
 
 HYPRE (const Mesh &mesh, size_t degree, const BoundaryConditions &bc, const HYPREParameters &parameters={})
 
virtual ~HYPRE ()
 
virtual Eigen::VectorXd interpolate (const VelocityType &u, const PressureType &p) const =0
 Interpolates velocity and pressure.
 
template<typename F >
Eigen::VectorXd pkpoPkPkPkInterpolate (const F &v, const InterpolateParameters &parameters={}) const
 Compute the interpolate for the Pk+1-Pk-Pk-Pk method.
 
size_t degree () const
 Returns the degree.
 
double stabilizationParameter () const
 Returns the stabilization parameter.
 
const std::vector< Eigen::MatrixXd > potential () const
 Returns the vector of potential reconstructions.
 
const std::vector< Eigen::MatrixXd > stabilization () const
 Returns the vector of stabilization matrices.
 
const Eigen::MatrixXd & potential (size_t iT) const
 Returns the potential reconstruction.
 
size_t numLocalStaticallyCondensedDofsVelocity () const
 Returns the local number of velocity statically condensed DOFs.
 
size_t numLocalStaticallyCondensedDofsPressure () const
 Returns the local number of pressure statically condensed DOFs.
 
size_t numStaticallyCondensedDofsVelocity () const
 Returns the number of statically condensed DOFs for the velocity.
 
size_t numStaticallyCondensedDofsPressure () const
 Returns the number of statically condensed DOFs for the pressure.
 
size_t numStaticallyCondensedDofs () const
 Returns the number of statically condensed DOFs.
 
size_t numDirichletDofs () const
 Returns the number of Dirichlet DOFs.
 
size_t dimVelocity () const
 Returns the dimension of velocity space.
 
size_t dimPressure () const
 Returns the dimension of pressure space.
 
size_t numNonStaticallyCondensedDofs () const
 Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DOFs.
 
size_t sizeSystem () const
 Returns the size of the final system with Lagrange multiplier, after application of SC and removal of Dirichlet BCs.
 
size_t numNonStaticallyCondensedDofsVelocity () const
 Returns the number of non statically condensed DOFs for the velocity.
 
size_t numNonStaticallyCondensedDofsPressure () const
 Returns the number of non statically condensed DOFs for the pressure.
 
const DiscreteSpace & velocitySpace () const
 Returns the velocity space.
 
const DiscreteSpace & pressureSpace () const
 Returns the pressure space.
 
const Mesh & mesh () const
 Returns the mesh.
 
const SystemMatrixType & systemMatrix () const
 Returns the linear system matrix.
 
SystemMatrixType & systemMatrix ()
 Returns the linear system matrix.
 
const Eigen::VectorXd & systemVector () const
 Returns the linear system right-hand side vector.
 
Eigen::VectorXd & systemVector ()
 Returns the linear system right-hand side vector.
 
const SystemMatrixType & staticallyCondensedMatrix () const
 Returns the static condensation recovery operator.
 
const Eigen::VectorXd & staticallyCondensedVector () const
 Returns the static condensation rhs.
 
const BoundaryConditions & boundaryConditions () const
 Returns the boundary condition handler.
 
void assembleResidualSystem (const HArDCore2D::MHDSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old, const Eigen::VectorXd &uph_prev, const Eigen::VectorXd &brh_old, const Eigen::VectorXd &brh_prev, const double time_step, const double current_time)
 Assemble the global system.
 
void assembleResidualSystem (const HArDCore2D::MHDSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old, const Eigen::VectorXd &brh_old)
 
Eigen::VectorXd reconstructSolution (const Eigen::VectorXd &uhp_solsystem) const
 Reconstruct the solution from the vector of non-statically-condensed DOFs.
 
virtual double convective_stabilization_parameter (size_t iT, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &bT_old, const size_t cell_degree, const double viscosity, const double magnetic_diffusivity, const double current_time) const
 Evaluates convective stabilisation parameter.
 
virtual double magnetic_convective_stabilization_parameter (size_t iT, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &bT_old, const size_t cell_degree, const double viscosity, const double magnetic_diffusivity, const double current_time) const
 

Protected Member Functions

void _construct_local_operators (size_t iT)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _time_deriv_term (size_t iT, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &uT_prev, const double time_step)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _viscous_term (size_t iT, const Eigen::VectorXd &uT_old)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _nonlinear_viscous_term (size_t iT, const Eigen::VectorXd &uT_old)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _velocity_pressure_coupling (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &pT_old, const double &current_time=0.)
 
virtual Eigen::MatrixXd _forcing_terms (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const double current_time=0.)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _linearized_convective_term (size_t iT, const Eigen::VectorXd &uT_old)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _convective_stabilization_term (size_t iT, const Eigen::VectorXd &uT_old, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const double current_time=0.)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _compute_local_contribution (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old, const Eigen::VectorXd &uph_prev, const double time_step, const double current_time)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _compute_local_contribution (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old)
 
LocalStaticCondensation _compute_static_condensation (const size_t &iT)
 
void _assemble_local_contribution (size_t iT, const std::pair< Eigen::MatrixXd, Eigen::VectorXd > &lsT, std::list< Eigen::Triplet< double > > &A1, Eigen::VectorXd &b1, std::list< Eigen::Triplet< double > > &A2, Eigen::VectorXd &b2)
 
void _construct_local_operators (size_t iT)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _time_deriv_term (size_t iT, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &uT_prev, const double time_step)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _viscous_term (size_t iT, const Eigen::VectorXd &uT_old)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _velocity_pressure_coupling (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &pT_old, const double &current_time=0.)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _darcy_term (size_t iT, const Eigen::VectorXd &uT_old)
 
virtual Eigen::MatrixXd _forcing_terms (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const double current_time=0.)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _linearized_convective_term (size_t iT, const Eigen::VectorXd &uT_old)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _convective_stabilization_term (size_t iT, const Eigen::VectorXd &uT_old, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const double current_time=0.)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _compute_local_contribution (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old, const Eigen::VectorXd &uph_prev, const double time_step, const double current_time)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _compute_local_contribution (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old)
 
LocalStaticCondensation _compute_static_condensation (const size_t &iT)
 
void _assemble_local_contribution (size_t iT, const std::pair< Eigen::MatrixXd, Eigen::VectorXd > &lsT, std::list< Eigen::Triplet< double > > &A1, Eigen::VectorXd &b1, std::list< Eigen::Triplet< double > > &A2, Eigen::VectorXd &b2)
 
void _construct_local_operators (size_t iT)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _time_deriv_term (size_t iT, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &uT_prev, const double time_step)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _viscous_term (size_t iT, const Eigen::VectorXd &uT_old)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _magnetic_diffusive_term (size_t iT, const Eigen::VectorXd &bT_old)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _velocity_pressure_coupling (size_t iT, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &pT_old, const double &current_time=0.)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _magnetic_field_magnetic_pressure_coupling (size_t iT, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const Eigen::VectorXd &bT_old, const Eigen::VectorXd &rT_old, const double &current_time=0.)
 
virtual Eigen::MatrixXd _forcing_terms (size_t iT, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const double current_time=0.)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _linearized_convective_term (size_t iT, const Eigen::VectorXd &uT_old)
 
virtual std::tuple< Eigen::MatrixXd, Eigen::MatrixXd, Eigen::VectorXd > _linearized_convective_mixed_term (size_t iT, const Eigen::VectorXd &wT_old, const Eigen::VectorXd &vT_old)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _convective_stabilization_term (size_t iT, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &bT_old, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const double current_time)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _magnetic_convective_stabilization_term (size_t iT, const Eigen::VectorXd &uT_old, const Eigen::VectorXd &bT_old, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const double current_time)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _compute_local_contribution (size_t iT, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old, const Eigen::VectorXd &uph_prev, const Eigen::VectorXd &brh_old, const Eigen::VectorXd &brh_prev, const double time_step, const double current_time)
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _compute_local_contribution (size_t iT, const HArDCore2D::MHDSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old, const Eigen::VectorXd &brh_old)
 
LocalStaticCondensation _compute_static_condensation (const size_t &iT)
 
void _assemble_local_contribution (size_t iT, const std::pair< Eigen::MatrixXd, Eigen::VectorXd > &lsT, std::list< Eigen::Triplet< double > > &A1, Eigen::VectorXd &b1, std::list< Eigen::Triplet< double > > &A2, Eigen::VectorXd &b2)
 

Protected Attributes

size_t m_degree
 
const BoundaryConditions & m_bc
 
bool m_static_condensation
 
bool m_use_threads
 
double m_stabilization_parameter
 
double m_viscosity
 
double m_flow_index
 
double m_degen_param
 
std::ostream & m_output
 
size_t m_nloc_sc_u
 
size_t m_nloc_sc_p
 
std::vector< Eigen::MatrixXd > m_discrete_l2
 
std::vector< Eigen::MatrixXd > m_gradient
 
std::vector< Eigen::MatrixXd > m_gradient_rhs
 
std::vector< Eigen::MatrixXd > m_symgradient
 
std::vector< Eigen::MatrixXd > m_symgradient_rhs
 
std::vector< Eigen::MatrixXd > m_potential
 
std::vector< Eigen::MatrixXd > m_stabilization
 
std::unique_ptr< DiscreteSpace > m_velocity_space
 
std::unique_ptr< DiscreteSpace > m_pressure_space
 
SystemMatrixType m_A
 
Eigen::VectorXd m_b
 
SystemMatrixType m_sc_A
 
Eigen::VectorXd m_sc_b
 
std::vector< int > m_nsc_to_dof_map
 
std::vector< int > m_sc_to_dof_map
 
double m_permeability
 
bool m_upwinding
 
double m_magnetic_diffusivity
 

Member Typedef Documentation

◆ CompressibilityForcingTermType [1/3]

typedef std::function<double(const VectorRd &)> HArDCore2D::DSL::HYPRE::CompressibilityForcingTermType

◆ CompressibilityForcingTermType [2/3]

typedef std::function<double(const VectorRd &)> HArDCore2D::DSL::HYPRE::CompressibilityForcingTermType

◆ CompressibilityForcingTermType [3/3]

typedef std::function<double(const VectorRd &)> HArDCore2D::DSL::HYPRE::CompressibilityForcingTermType

◆ MagneticForcingTermType

◆ MomentumForcingTermType [1/3]

◆ MomentumForcingTermType [2/3]

◆ MomentumForcingTermType [3/3]

◆ PressureGradientType [1/3]

◆ PressureGradientType [2/3]

◆ PressureGradientType [3/3]

◆ PressureType [1/3]

typedef std::function<double(const VectorRd &)> HArDCore2D::DSL::HYPRE::PressureType

◆ PressureType [2/3]

typedef std::function<double(const VectorRd &)> HArDCore2D::DSL::HYPRE::PressureType

◆ PressureType [3/3]

typedef std::function<double(const VectorRd &)> HArDCore2D::DSL::HYPRE::PressureType

◆ SystemMatrixType [1/3]

typedef Eigen::SparseMatrix<double> HArDCore2D::DSL::HYPRE::SystemMatrixType

◆ SystemMatrixType [2/3]

typedef Eigen::SparseMatrix<double> HArDCore2D::DSL::HYPRE::SystemMatrixType

◆ SystemMatrixType [3/3]

typedef Eigen::SparseMatrix<double> HArDCore2D::DSL::HYPRE::SystemMatrixType

◆ VelocityGradientType [1/3]

◆ VelocityGradientType [2/3]

◆ VelocityGradientType [3/3]

◆ VelocityType [1/3]

typedef std::function<VectorRd(const VectorRd &)> HArDCore2D::DSL::HYPRE::VelocityType

◆ VelocityType [2/3]

typedef std::function<VectorRd(const VectorRd &)> HArDCore2D::DSL::HYPRE::VelocityType

◆ VelocityType [3/3]

typedef std::function<VectorRd(const VectorRd &)> HArDCore2D::DSL::HYPRE::VelocityType

Constructor & Destructor Documentation

◆ HYPRE() [1/3]

HYPRE::HYPRE ( const Mesh &  mesh,
size_t  degree,
const BoundaryConditions &  bc,
const HYPREParameters &  parameters = {} 
)

◆ ~HYPRE() [1/3]

virtual HArDCore2D::DSL::HYPRE::~HYPRE ( )
inlinevirtual

◆ HYPRE() [2/3]

HArDCore2D::DSL::HYPRE::HYPRE ( const Mesh &  mesh,
size_t  degree,
const BoundaryConditions &  bc,
const HYPREParameters &  parameters = {} 
)

◆ ~HYPRE() [2/3]

virtual HArDCore2D::DSL::HYPRE::~HYPRE ( )
inlinevirtual

◆ HYPRE() [3/3]

HArDCore2D::DSL::HYPRE::HYPRE ( const Mesh &  mesh,
size_t  degree,
const BoundaryConditions &  bc,
const HYPREParameters &  parameters = {} 
)

◆ ~HYPRE() [3/3]

virtual HArDCore2D::DSL::HYPRE::~HYPRE ( )
inlinevirtual

Member Function Documentation

◆ _assemble_local_contribution() [1/3]

void HYPRE::_assemble_local_contribution ( size_t  iT,
const std::pair< Eigen::MatrixXd, Eigen::VectorXd > &  lsT,
std::list< Eigen::Triplet< double > > &  A1,
Eigen::VectorXd &  b1,
std::list< Eigen::Triplet< double > > &  A2,
Eigen::VectorXd &  b2 
)
protected

◆ _assemble_local_contribution() [2/3]

void HArDCore2D::DSL::HYPRE::_assemble_local_contribution ( size_t  iT,
const std::pair< Eigen::MatrixXd, Eigen::VectorXd > &  lsT,
std::list< Eigen::Triplet< double > > &  A1,
Eigen::VectorXd &  b1,
std::list< Eigen::Triplet< double > > &  A2,
Eigen::VectorXd &  b2 
)
protected

◆ _assemble_local_contribution() [3/3]

void HArDCore2D::DSL::HYPRE::_assemble_local_contribution ( size_t  iT,
const std::pair< Eigen::MatrixXd, Eigen::VectorXd > &  lsT,
std::list< Eigen::Triplet< double > > &  A1,
Eigen::VectorXd &  b1,
std::list< Eigen::Triplet< double > > &  A2,
Eigen::VectorXd &  b2 
)
protected

◆ _compute_local_contribution() [1/6]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_compute_local_contribution ( size_t  iT,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old,
const Eigen::VectorXd &  brh_old 
)
inlineprotected

◆ _compute_local_contribution() [2/6]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_compute_local_contribution ( size_t  iT,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old,
const Eigen::VectorXd &  uph_prev,
const Eigen::VectorXd &  brh_old,
const Eigen::VectorXd &  brh_prev,
const double  time_step,
const double  current_time 
)
protected

◆ _compute_local_contribution() [3/6]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_compute_local_contribution ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old 
)
inlineprotected

◆ _compute_local_contribution() [4/6]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_compute_local_contribution ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old 
)
inlineprotected

◆ _compute_local_contribution() [5/6]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_compute_local_contribution ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old,
const Eigen::VectorXd &  uph_prev,
const double  time_step,
const double  current_time 
)
protected

◆ _compute_local_contribution() [6/6]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_compute_local_contribution ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old,
const Eigen::VectorXd &  uph_prev,
const double  time_step,
const double  current_time 
)
protected

◆ _compute_static_condensation() [1/3]

LocalStaticCondensation HYPRE::_compute_static_condensation ( const size_t &  iT)
protected

◆ _compute_static_condensation() [2/3]

LocalStaticCondensation HArDCore2D::DSL::HYPRE::_compute_static_condensation ( const size_t &  iT)
protected

◆ _compute_static_condensation() [3/3]

LocalStaticCondensation HArDCore2D::DSL::HYPRE::_compute_static_condensation ( const size_t &  iT)
protected

◆ _construct_local_operators() [1/3]

void HYPRE::_construct_local_operators ( size_t  iT)
protected

◆ _construct_local_operators() [2/3]

void HArDCore2D::DSL::HYPRE::_construct_local_operators ( size_t  iT)
protected

◆ _construct_local_operators() [3/3]

void HArDCore2D::DSL::HYPRE::_construct_local_operators ( size_t  iT)
protected

◆ _convective_stabilization_term() [1/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_convective_stabilization_term ( size_t  iT,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  bT_old,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const double  current_time 
)
protectedvirtual

◆ _convective_stabilization_term() [2/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_convective_stabilization_term ( size_t  iT,
const Eigen::VectorXd &  uT_old,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const double  current_time = 0. 
)
protectedvirtual

◆ _convective_stabilization_term() [3/3]

virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_convective_stabilization_term ( size_t  iT,
const Eigen::VectorXd &  uT_old,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const double  current_time = 0. 
)
protectedvirtual

◆ _darcy_term()

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_darcy_term ( size_t  iT,
const Eigen::VectorXd &  uT_old 
)
protectedvirtual

◆ _forcing_terms() [1/3]

Eigen::MatrixXd HYPRE::_forcing_terms ( size_t  iT,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const double  current_time = 0. 
)
protectedvirtual

◆ _forcing_terms() [2/3]

Eigen::MatrixXd HYPRE::_forcing_terms ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const double  current_time = 0. 
)
protectedvirtual

◆ _forcing_terms() [3/3]

virtual Eigen::MatrixXd HArDCore2D::DSL::HYPRE::_forcing_terms ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const double  current_time = 0. 
)
protectedvirtual

◆ _linearized_convective_mixed_term()

std::tuple< Eigen::MatrixXd, Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_linearized_convective_mixed_term ( size_t  iT,
const Eigen::VectorXd &  wT_old,
const Eigen::VectorXd &  vT_old 
)
protectedvirtual

◆ _linearized_convective_term() [1/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_linearized_convective_term ( size_t  iT,
const Eigen::VectorXd &  uT_old 
)
protectedvirtual

◆ _linearized_convective_term() [2/3]

virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_linearized_convective_term ( size_t  iT,
const Eigen::VectorXd &  uT_old 
)
protectedvirtual

◆ _linearized_convective_term() [3/3]

virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_linearized_convective_term ( size_t  iT,
const Eigen::VectorXd &  uT_old 
)
protectedvirtual

◆ _magnetic_convective_stabilization_term()

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_magnetic_convective_stabilization_term ( size_t  iT,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  bT_old,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const double  current_time 
)
protectedvirtual

◆ _magnetic_diffusive_term()

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_magnetic_diffusive_term ( size_t  iT,
const Eigen::VectorXd &  bT_old 
)
protected

◆ _magnetic_field_magnetic_pressure_coupling()

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_magnetic_field_magnetic_pressure_coupling ( size_t  iT,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  bT_old,
const Eigen::VectorXd &  rT_old,
const double &  current_time = 0. 
)
protectedvirtual

◆ _nonlinear_viscous_term()

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_nonlinear_viscous_term ( size_t  iT,
const Eigen::VectorXd &  uT_old 
)
protectedvirtual

◆ _time_deriv_term() [1/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_time_deriv_term ( size_t  iT,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  uT_prev,
const double  time_step 
)
protected

◆ _time_deriv_term() [2/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_time_deriv_term ( size_t  iT,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  uT_prev,
const double  time_step 
)
protected

◆ _time_deriv_term() [3/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_time_deriv_term ( size_t  iT,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  uT_prev,
const double  time_step 
)
protected

◆ _velocity_pressure_coupling() [1/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_velocity_pressure_coupling ( size_t  iT,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  pT_old,
const double &  current_time = 0. 
)
protectedvirtual

◆ _velocity_pressure_coupling() [2/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_velocity_pressure_coupling ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  pT_old,
const double &  current_time = 0. 
)
protectedvirtual

◆ _velocity_pressure_coupling() [3/3]

virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_velocity_pressure_coupling ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  pT_old,
const double &  current_time = 0. 
)
protectedvirtual

◆ _viscous_term() [1/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HYPRE::_viscous_term ( size_t  iT,
const Eigen::VectorXd &  uT_old 
)
protected

◆ _viscous_term() [2/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_viscous_term ( size_t  iT,
const Eigen::VectorXd &  uT_old 
)
protected

◆ _viscous_term() [3/3]

std::pair< Eigen::MatrixXd, Eigen::VectorXd > HArDCore2D::DSL::HYPRE::_viscous_term ( size_t  iT,
const Eigen::VectorXd &  uT_old 
)
protected

◆ assembleResidualSystem() [1/6]

void HArDCore2D::DSL::HYPRE::assembleResidualSystem ( const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old,
const Eigen::VectorXd &  brh_old 
)
inline

◆ assembleResidualSystem() [2/6]

void HYPRE::assembleResidualSystem ( const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old,
const Eigen::VectorXd &  uph_prev,
const Eigen::VectorXd &  brh_old,
const Eigen::VectorXd &  brh_prev,
const double  time_step,
const double  current_time 
)

Assemble the global system.

◆ assembleResidualSystem() [3/6]

void HArDCore2D::DSL::HYPRE::assembleResidualSystem ( const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old 
)
inline

◆ assembleResidualSystem() [4/6]

void HArDCore2D::DSL::HYPRE::assembleResidualSystem ( const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old 
)
inline

◆ assembleResidualSystem() [5/6]

void HYPRE::assembleResidualSystem ( const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old,
const Eigen::VectorXd &  uph_prev,
const double  time_step,
const double  current_time 
)

Assemble the global system.

◆ assembleResidualSystem() [6/6]

void HArDCore2D::DSL::HYPRE::assembleResidualSystem ( const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uph_old,
const Eigen::VectorXd &  uph_prev,
const double  time_step,
const double  current_time 
)

Assemble the global system.

◆ boundaryConditions() [1/3]

const BoundaryConditions & HArDCore2D::DSL::HYPRE::boundaryConditions ( ) const
inline

Returns the boundary condition handler.

◆ boundaryConditions() [2/3]

const BoundaryConditions & HArDCore2D::DSL::HYPRE::boundaryConditions ( ) const
inline

Returns the boundary condition handler.

◆ boundaryConditions() [3/3]

const BoundaryConditions & HArDCore2D::DSL::HYPRE::boundaryConditions ( ) const
inline

Returns the boundary condition handler.

◆ convective_stabilization_parameter() [1/3]

double HYPRE::convective_stabilization_parameter ( size_t  iT,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  bT_old,
const size_t  cell_degree,
const double  viscosity,
const double  magnetic_diffusivity,
const double  current_time 
) const
virtual

Evaluates convective stabilisation parameter.

Reimplemented in HArDCore2D::DSL::RTNPkPkPk.

◆ convective_stabilization_parameter() [2/3]

double HYPRE::convective_stabilization_parameter ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const size_t  cell_degree,
const double  viscosity,
const Eigen::VectorXd  uT_old,
const double  current_time = 0. 
) const
virtual

Evaluates convective stabilisation parameter.

Reimplemented in HArDCore2D::DSL::RTNPkPkPk, and HArDCore2D::DSL::RTNPkPkPk.

◆ convective_stabilization_parameter() [3/3]

virtual double HArDCore2D::DSL::HYPRE::convective_stabilization_parameter ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution *  isolution,
const size_t  cell_degree,
const double  viscosity,
const Eigen::VectorXd  uT_old,
const double  current_time = 0. 
) const
virtual

Evaluates convective stabilisation parameter.

Reimplemented in HArDCore2D::DSL::RTNPkPkPk, and HArDCore2D::DSL::RTNPkPkPk.

◆ degree() [1/3]

size_t HArDCore2D::DSL::HYPRE::degree ( ) const
inline

Returns the degree.

◆ degree() [2/3]

size_t HArDCore2D::DSL::HYPRE::degree ( ) const
inline

Returns the degree.

◆ degree() [3/3]

size_t HArDCore2D::DSL::HYPRE::degree ( ) const
inline

Returns the degree.

◆ dimPressure() [1/3]

size_t HArDCore2D::DSL::HYPRE::dimPressure ( ) const
inline

Returns the dimension of pressure space.

◆ dimPressure() [2/3]

size_t HArDCore2D::DSL::HYPRE::dimPressure ( ) const
inline

Returns the dimension of pressure space.

◆ dimPressure() [3/3]

size_t HArDCore2D::DSL::HYPRE::dimPressure ( ) const
inline

Returns the dimension of pressure space.

◆ dimVelocity() [1/3]

size_t HArDCore2D::DSL::HYPRE::dimVelocity ( ) const
inline

Returns the dimension of velocity space.

◆ dimVelocity() [2/3]

size_t HArDCore2D::DSL::HYPRE::dimVelocity ( ) const
inline

Returns the dimension of velocity space.

◆ dimVelocity() [3/3]

size_t HArDCore2D::DSL::HYPRE::dimVelocity ( ) const
inline

Returns the dimension of velocity space.

◆ interpolate() [1/3]

virtual Eigen::VectorXd HArDCore2D::DSL::HYPRE::interpolate ( const VelocityType &  u,
const PressureType &  p 
) const
pure virtual

◆ interpolate() [2/3]

virtual Eigen::VectorXd HArDCore2D::DSL::HYPRE::interpolate ( const VelocityType &  u,
const PressureType &  p 
) const
pure virtual

◆ interpolate() [3/3]

virtual Eigen::VectorXd HArDCore2D::DSL::HYPRE::interpolate ( const VelocityType &  u,
const PressureType &  p 
) const
pure virtual

◆ magnetic_convective_stabilization_parameter()

double HYPRE::magnetic_convective_stabilization_parameter ( size_t  iT,
const HArDCore2D::MHDSolutions::IExactSolution *  isolution,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  bT_old,
const size_t  cell_degree,
const double  viscosity,
const double  magnetic_diffusivity,
const double  current_time 
) const
virtual

Reimplemented in HArDCore2D::DSL::RTNPkPkPk.

◆ mesh() [1/3]

const Mesh & HArDCore2D::DSL::HYPRE::mesh ( ) const
inline

Returns the mesh.

◆ mesh() [2/3]

const Mesh & HArDCore2D::DSL::HYPRE::mesh ( ) const
inline

Returns the mesh.

◆ mesh() [3/3]

const Mesh & HArDCore2D::DSL::HYPRE::mesh ( ) const
inline

Returns the mesh.

◆ numDirichletDofs() [1/3]

size_t HArDCore2D::DSL::HYPRE::numDirichletDofs ( ) const
inline

Returns the number of Dirichlet DOFs.

◆ numDirichletDofs() [2/3]

size_t HArDCore2D::DSL::HYPRE::numDirichletDofs ( ) const
inline

Returns the number of Dirichlet DOFs.

◆ numDirichletDofs() [3/3]

size_t HArDCore2D::DSL::HYPRE::numDirichletDofs ( ) const
inline

Returns the number of Dirichlet DOFs.

◆ numLocalStaticallyCondensedDofsPressure() [1/3]

size_t HArDCore2D::DSL::HYPRE::numLocalStaticallyCondensedDofsPressure ( ) const
inline

Returns the local number of pressure statically condensed DOFs.

◆ numLocalStaticallyCondensedDofsPressure() [2/3]

size_t HArDCore2D::DSL::HYPRE::numLocalStaticallyCondensedDofsPressure ( ) const
inline

Returns the local number of pressure statically condensed DOFs.

◆ numLocalStaticallyCondensedDofsPressure() [3/3]

size_t HArDCore2D::DSL::HYPRE::numLocalStaticallyCondensedDofsPressure ( ) const
inline

Returns the local number of pressure statically condensed DOFs.

◆ numLocalStaticallyCondensedDofsVelocity() [1/3]

size_t HArDCore2D::DSL::HYPRE::numLocalStaticallyCondensedDofsVelocity ( ) const
inline

Returns the local number of velocity statically condensed DOFs.

◆ numLocalStaticallyCondensedDofsVelocity() [2/3]

size_t HArDCore2D::DSL::HYPRE::numLocalStaticallyCondensedDofsVelocity ( ) const
inline

Returns the local number of velocity statically condensed DOFs.

◆ numLocalStaticallyCondensedDofsVelocity() [3/3]

size_t HArDCore2D::DSL::HYPRE::numLocalStaticallyCondensedDofsVelocity ( ) const
inline

Returns the local number of velocity statically condensed DOFs.

◆ numNonStaticallyCondensedDofs() [1/3]

size_t HArDCore2D::DSL::HYPRE::numNonStaticallyCondensedDofs ( ) const
inline

Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DOFs.

◆ numNonStaticallyCondensedDofs() [2/3]

size_t HArDCore2D::DSL::HYPRE::numNonStaticallyCondensedDofs ( ) const
inline

Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DOFs.

◆ numNonStaticallyCondensedDofs() [3/3]

size_t HArDCore2D::DSL::HYPRE::numNonStaticallyCondensedDofs ( ) const
inline

Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DOFs.

◆ numNonStaticallyCondensedDofsPressure()

size_t HArDCore2D::DSL::HYPRE::numNonStaticallyCondensedDofsPressure ( ) const
inline

Returns the number of non statically condensed DOFs for the pressure.

◆ numNonStaticallyCondensedDofsVelocity()

size_t HArDCore2D::DSL::HYPRE::numNonStaticallyCondensedDofsVelocity ( ) const
inline

Returns the number of non statically condensed DOFs for the velocity.

◆ numStaticallyCondensedDofs() [1/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofs ( ) const
inline

Returns the number of statically condensed DOFs.

◆ numStaticallyCondensedDofs() [2/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofs ( ) const
inline

Returns the number of statically condensed DOFs.

◆ numStaticallyCondensedDofs() [3/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofs ( ) const
inline

Returns the number of statically condensed DOFs.

◆ numStaticallyCondensedDofsPressure() [1/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofsPressure ( ) const
inline

Returns the number of statically condensed DOFs for the pressure.

◆ numStaticallyCondensedDofsPressure() [2/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofsPressure ( ) const
inline

Returns the number of statically condensed DOFs for the pressure.

◆ numStaticallyCondensedDofsPressure() [3/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofsPressure ( ) const
inline

Returns the number of statically condensed DOFs for the pressure.

◆ numStaticallyCondensedDofsVelocity() [1/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofsVelocity ( ) const
inline

Returns the number of statically condensed DOFs for the velocity.

◆ numStaticallyCondensedDofsVelocity() [2/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofsVelocity ( ) const
inline

Returns the number of statically condensed DOFs for the velocity.

◆ numStaticallyCondensedDofsVelocity() [3/3]

size_t HArDCore2D::DSL::HYPRE::numStaticallyCondensedDofsVelocity ( ) const
inline

Returns the number of statically condensed DOFs for the velocity.

◆ pkpoPkPkPkInterpolate() [1/3]

template<typename F >
Eigen::VectorXd HArDCore2D::DSL::HYPRE::pkpoPkPkPkInterpolate ( const F &  v,
const InterpolateParameters &  parameters = {} 
) const

Compute the interpolate for the Pk+1-Pk-Pk-Pk method.

◆ pkpoPkPkPkInterpolate() [2/3]

template<typename F >
Eigen::VectorXd HArDCore2D::DSL::HYPRE::pkpoPkPkPkInterpolate ( const F &  v,
const InterpolateParameters &  parameters = {} 
) const

Compute the interpolate for the Pk+1-Pk-Pk-Pk method.

◆ pkpoPkPkPkInterpolate() [3/3]

template<typename F >
Eigen::VectorXd HArDCore2D::DSL::HYPRE::pkpoPkPkPkInterpolate ( const F &  v,
const InterpolateParameters &  parameters = {} 
) const

Compute the interpolate for the Pk+1-Pk-Pk-Pk method.

◆ potential() [1/6]

const std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::potential ( ) const
inline

Returns the vector of potential reconstructions.

◆ potential() [2/6]

const std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::potential ( ) const
inline

Returns the vector of potential reconstructions.

◆ potential() [3/6]

const std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::potential ( ) const
inline

Returns the vector of potential reconstructions.

◆ potential() [4/6]

const Eigen::MatrixXd & HArDCore2D::DSL::HYPRE::potential ( size_t  iT) const
inline

Returns the potential reconstruction.

◆ potential() [5/6]

const Eigen::MatrixXd & HArDCore2D::DSL::HYPRE::potential ( size_t  iT) const
inline

Returns the potential reconstruction.

◆ potential() [6/6]

const Eigen::MatrixXd & HArDCore2D::DSL::HYPRE::potential ( size_t  iT) const
inline

Returns the potential reconstruction.

◆ pressureSpace() [1/3]

const DiscreteSpace & HArDCore2D::DSL::HYPRE::pressureSpace ( ) const
inline

Returns the pressure space.

◆ pressureSpace() [2/3]

const DiscreteSpace & HArDCore2D::DSL::HYPRE::pressureSpace ( ) const
inline

Returns the pressure space.

◆ pressureSpace() [3/3]

const DiscreteSpace & HArDCore2D::DSL::HYPRE::pressureSpace ( ) const
inline

Returns the pressure space.

◆ reconstructSolution() [1/3]

Eigen::VectorXd HYPRE::reconstructSolution ( const Eigen::VectorXd &  uhp_solsystem) const

Reconstruct the solution from the vector of non-statically-condensed DOFs.

◆ reconstructSolution() [2/3]

Eigen::VectorXd HArDCore2D::DSL::HYPRE::reconstructSolution ( const Eigen::VectorXd &  uhp_solsystem) const

Reconstruct the solution from the vector of non-statically-condensed DOFs.

◆ reconstructSolution() [3/3]

Eigen::VectorXd HArDCore2D::DSL::HYPRE::reconstructSolution ( const Eigen::VectorXd &  uhp_solsystem) const

Reconstruct the solution from the vector of non-statically-condensed DOFs.

◆ sizeSystem() [1/3]

size_t HArDCore2D::DSL::HYPRE::sizeSystem ( ) const
inline

Returns the size of the final system with Lagrange multiplier, after application of SC and removal of Dirichlet BCs.

◆ sizeSystem() [2/3]

size_t HArDCore2D::DSL::HYPRE::sizeSystem ( ) const
inline

Returns the size of the final system with Lagrange multiplier, after application of SC and removal of Dirichlet BCs.

◆ sizeSystem() [3/3]

size_t HArDCore2D::DSL::HYPRE::sizeSystem ( ) const
inline

Returns the size of the final system with Lagrange multiplier, after application of SC and removal of Dirichlet BCs.

◆ stabilization() [1/3]

const std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::stabilization ( ) const
inline

Returns the vector of stabilization matrices.

◆ stabilization() [2/3]

const std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::stabilization ( ) const
inline

Returns the vector of stabilization matrices.

◆ stabilization() [3/3]

const std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::stabilization ( ) const
inline

Returns the vector of stabilization matrices.

◆ stabilizationParameter() [1/3]

double HArDCore2D::DSL::HYPRE::stabilizationParameter ( ) const
inline

Returns the stabilization parameter.

◆ stabilizationParameter() [2/3]

double HArDCore2D::DSL::HYPRE::stabilizationParameter ( ) const
inline

Returns the stabilization parameter.

◆ stabilizationParameter() [3/3]

double HArDCore2D::DSL::HYPRE::stabilizationParameter ( ) const
inline

Returns the stabilization parameter.

◆ staticallyCondensedMatrix() [1/3]

const SystemMatrixType & HArDCore2D::DSL::HYPRE::staticallyCondensedMatrix ( ) const
inline

Returns the static condensation recovery operator.

◆ staticallyCondensedMatrix() [2/3]

const SystemMatrixType & HArDCore2D::DSL::HYPRE::staticallyCondensedMatrix ( ) const
inline

Returns the static condensation recovery operator.

◆ staticallyCondensedMatrix() [3/3]

const SystemMatrixType & HArDCore2D::DSL::HYPRE::staticallyCondensedMatrix ( ) const
inline

Returns the static condensation recovery operator.

◆ staticallyCondensedVector() [1/3]

const Eigen::VectorXd & HArDCore2D::DSL::HYPRE::staticallyCondensedVector ( ) const
inline

Returns the static condensation rhs.

◆ staticallyCondensedVector() [2/3]

const Eigen::VectorXd & HArDCore2D::DSL::HYPRE::staticallyCondensedVector ( ) const
inline

Returns the static condensation rhs.

◆ staticallyCondensedVector() [3/3]

const Eigen::VectorXd & HArDCore2D::DSL::HYPRE::staticallyCondensedVector ( ) const
inline

Returns the static condensation rhs.

◆ systemMatrix() [1/6]

SystemMatrixType & HArDCore2D::DSL::HYPRE::systemMatrix ( )
inline

Returns the linear system matrix.

◆ systemMatrix() [2/6]

SystemMatrixType & HArDCore2D::DSL::HYPRE::systemMatrix ( )
inline

Returns the linear system matrix.

◆ systemMatrix() [3/6]

SystemMatrixType & HArDCore2D::DSL::HYPRE::systemMatrix ( )
inline

Returns the linear system matrix.

◆ systemMatrix() [4/6]

const SystemMatrixType & HArDCore2D::DSL::HYPRE::systemMatrix ( ) const
inline

Returns the linear system matrix.

◆ systemMatrix() [5/6]

const SystemMatrixType & HArDCore2D::DSL::HYPRE::systemMatrix ( ) const
inline

Returns the linear system matrix.

◆ systemMatrix() [6/6]

const SystemMatrixType & HArDCore2D::DSL::HYPRE::systemMatrix ( ) const
inline

Returns the linear system matrix.

◆ systemVector() [1/6]

Eigen::VectorXd & HArDCore2D::DSL::HYPRE::systemVector ( )
inline

Returns the linear system right-hand side vector.

◆ systemVector() [2/6]

Eigen::VectorXd & HArDCore2D::DSL::HYPRE::systemVector ( )
inline

Returns the linear system right-hand side vector.

◆ systemVector() [3/6]

Eigen::VectorXd & HArDCore2D::DSL::HYPRE::systemVector ( )
inline

Returns the linear system right-hand side vector.

◆ systemVector() [4/6]

const Eigen::VectorXd & HArDCore2D::DSL::HYPRE::systemVector ( ) const
inline

Returns the linear system right-hand side vector.

◆ systemVector() [5/6]

const Eigen::VectorXd & HArDCore2D::DSL::HYPRE::systemVector ( ) const
inline

Returns the linear system right-hand side vector.

◆ systemVector() [6/6]

const Eigen::VectorXd & HArDCore2D::DSL::HYPRE::systemVector ( ) const
inline

Returns the linear system right-hand side vector.

◆ velocitySpace() [1/3]

const DiscreteSpace & HArDCore2D::DSL::HYPRE::velocitySpace ( ) const
inline

Returns the velocity space.

◆ velocitySpace() [2/3]

const DiscreteSpace & HArDCore2D::DSL::HYPRE::velocitySpace ( ) const
inline

Returns the velocity space.

◆ velocitySpace() [3/3]

const DiscreteSpace & HArDCore2D::DSL::HYPRE::velocitySpace ( ) const
inline

Returns the velocity space.

Member Data Documentation

◆ m_A

SystemMatrixType HArDCore2D::DSL::HYPRE::m_A
protected

◆ m_b

Eigen::VectorXd HArDCore2D::DSL::HYPRE::m_b
protected

◆ m_bc

const BoundaryConditions & HArDCore2D::DSL::HYPRE::m_bc
protected

◆ m_degen_param

double HArDCore2D::DSL::HYPRE::m_degen_param
protected

◆ m_degree

size_t HArDCore2D::DSL::HYPRE::m_degree
protected

◆ m_discrete_l2

std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::m_discrete_l2
protected

◆ m_flow_index

double HArDCore2D::DSL::HYPRE::m_flow_index
protected

◆ m_gradient

std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::m_gradient
protected

◆ m_gradient_rhs

std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::m_gradient_rhs
protected

◆ m_magnetic_diffusivity

double HArDCore2D::DSL::HYPRE::m_magnetic_diffusivity
protected

◆ m_nloc_sc_p

size_t HArDCore2D::DSL::HYPRE::m_nloc_sc_p
protected

◆ m_nloc_sc_u

size_t HArDCore2D::DSL::HYPRE::m_nloc_sc_u
protected

◆ m_nsc_to_dof_map

std::vector< int > HArDCore2D::DSL::HYPRE::m_nsc_to_dof_map
protected

◆ m_output

std::ostream & HArDCore2D::DSL::HYPRE::m_output
protected

◆ m_permeability

double HArDCore2D::DSL::HYPRE::m_permeability
protected

◆ m_potential

std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::m_potential
protected

◆ m_pressure_space

std::unique_ptr< DiscreteSpace > HArDCore2D::DSL::HYPRE::m_pressure_space
protected

◆ m_sc_A

SystemMatrixType HArDCore2D::DSL::HYPRE::m_sc_A
protected

◆ m_sc_b

Eigen::VectorXd HArDCore2D::DSL::HYPRE::m_sc_b
protected

◆ m_sc_to_dof_map

std::vector< int > HArDCore2D::DSL::HYPRE::m_sc_to_dof_map
protected

◆ m_stabilization

std::vector< Eigen::MatrixXd > HArDCore2D::DSL::HYPRE::m_stabilization
protected

◆ m_stabilization_parameter

double HArDCore2D::DSL::HYPRE::m_stabilization_parameter
protected

◆ m_static_condensation

bool HArDCore2D::DSL::HYPRE::m_static_condensation
protected

◆ m_symgradient

std::vector<Eigen::MatrixXd> HArDCore2D::DSL::HYPRE::m_symgradient
protected

◆ m_symgradient_rhs

std::vector<Eigen::MatrixXd> HArDCore2D::DSL::HYPRE::m_symgradient_rhs
protected

◆ m_upwinding

bool HArDCore2D::DSL::HYPRE::m_upwinding
protected

◆ m_use_threads

bool HArDCore2D::DSL::HYPRE::m_use_threads
protected

◆ m_velocity_space

std::unique_ptr< DiscreteSpace > HArDCore2D::DSL::HYPRE::m_velocity_space
protected

◆ m_viscosity

double HArDCore2D::DSL::HYPRE::m_viscosity
protected

The documentation for this class was generated from the following files: