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 DiscreteSpacevelocitySpace () const
 Returns the velocity space.
 
const DiscreteSpacepressureSpace () const
 Returns the pressure space.
 
const Meshmesh () const
 Returns the mesh.
 
const SystemMatrixTypesystemMatrix () const
 Returns the linear system matrix.
 
SystemMatrixTypesystemMatrix ()
 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 SystemMatrixTypestaticallyCondensedMatrix () const
 Returns the static condensation recovery operator.
 
const Eigen::VectorXd & staticallyCondensedVector () const
 Returns the static condensation rhs.
 
const BoundaryConditionsboundaryConditions () 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 DiscreteSpacevelocitySpace () const
 Returns the velocity space.
 
const DiscreteSpacepressureSpace () const
 Returns the pressure space.
 
const Meshmesh () const
 Returns the mesh.
 
const SystemMatrixTypesystemMatrix () const
 Returns the linear system matrix.
 
SystemMatrixTypesystemMatrix ()
 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 SystemMatrixTypestaticallyCondensedMatrix () const
 Returns the static condensation recovery operator.
 
const Eigen::VectorXd & staticallyCondensedVector () const
 Returns the static condensation rhs.
 
const BoundaryConditionsboundaryConditions () 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 DiscreteSpacevelocitySpace () const
 Returns the velocity space.
 
const DiscreteSpacepressureSpace () const
 Returns the pressure space.
 
const Meshmesh () const
 Returns the mesh.
 
const SystemMatrixTypesystemMatrix () const
 Returns the linear system matrix.
 
SystemMatrixTypesystemMatrix ()
 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 SystemMatrixTypestaticallyCondensedMatrix () const
 Returns the static condensation recovery operator.
 
const Eigen::VectorXd & staticallyCondensedVector () const
 Returns the static condensation rhs.
 
const BoundaryConditionsboundaryConditions () const
 Returns the boundary condition handler.
 
void assembleResidualSystem (const HArDCore2D::NavierStokesSolutions::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::NavierStokesSolutions::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.
 
double convective_stabilization_parameter (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const size_t cell_degree, const double viscosity, const double current_time=0.) const
 
double magnetic_convective_stabilization_parameter (size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const size_t cell_degree, const double magnetic_diffusivity, const double current_time=0.) 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::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 > _magnetic_field_magnetic_pressure_coupling (size_t iT, const HArDCore2D::NavierStokesSolutions::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::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::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 HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const double current_time=0.)
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _magnetic_convective_stabilization_term (size_t iT, const Eigen::VectorXd &bT_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 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::NavierStokesSolutions::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 BoundaryConditionsm_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< DiscreteSpacem_velocity_space
 
std::unique_ptr< DiscreteSpacem_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_VitoParameter
 
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::NavierStokesSolutions::IExactSolution isolution,
const Eigen::VectorXd &  uph_old 
)
inlineprotected

◆ _compute_local_contribution() [2/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() [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,
const Eigen::VectorXd &  brh_old 
)
inlineprotected

◆ _compute_local_contribution() [4/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() [5/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_local_contribution() [6/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 Eigen::VectorXd &  brh_old,
const Eigen::VectorXd &  brh_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 HArDCore2D::NavierStokesSolutions::IExactSolution isolution,
const double  current_time = 0. 
)
protectedvirtual

◆ _convective_stabilization_term() [2/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

◆ _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::NavierStokesSolutions::IExactSolution isolution,
const double  current_time = 0. 
)
protectedvirtual

◆ _forcing_terms() [2/3]

virtual Eigen::MatrixXd HArDCore2D::DSL::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 &  bT_old,
const HArDCore2D::NavierStokesSolutions::IExactSolution isolution,
const double  current_time = 0. 
)
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::NavierStokesSolutions::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::NavierStokesSolutions::IExactSolution isolution,
const Eigen::VectorXd &  uT_old,
const Eigen::VectorXd &  pT_old,
const double &  current_time = 0. 
)
protectedvirtual

◆ _velocity_pressure_coupling() [2/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

◆ _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::NavierStokesSolutions::IExactSolution isolution,
const Eigen::VectorXd &  uph_old 
)
inline

◆ assembleResidualSystem() [2/6]

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

◆ assembleResidualSystem() [3/6]

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

◆ assembleResidualSystem() [4/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() [5/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.

◆ assembleResidualSystem() [6/6]

void HYPRE::assembleResidualSystem ( const HArDCore2D::NavierStokesSolutions::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.

◆ 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 HArDCore2D::DSL::HYPRE::convective_stabilization_parameter ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution isolution,
const size_t  cell_degree,
const double  viscosity,
const double  current_time = 0. 
) const
inline

◆ 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 HArDCore2D::DSL::HYPRE::magnetic_convective_stabilization_parameter ( size_t  iT,
const HArDCore2D::NavierStokesSolutions::IExactSolution isolution,
const size_t  cell_degree,
const double  magnetic_diffusivity,
const double  current_time = 0. 
) const
inline

◆ 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_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

◆ m_VitoParameter

bool HArDCore2D::DSL::HYPRE::m_VitoParameter
protected

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