76      const std::vector<Eigen::MatrixXd> 
potential()
 const 
 
  209                                  const Eigen::VectorXd & uph_old,
 
  210                                  const Eigen::VectorXd & uph_prev,
 
  211                                  const double time_step,
 
  212                                  const double current_time);
 
  216                                  const Eigen::VectorXd & uph_old) {
 
  217                                    Eigen::VectorXd uph_prev = Eigen::VectorXd::Zero(uph_old.size());
 
  221                                                           std::numeric_limits<double>::infinity(),
 
 
  276                                                        const size_t cell_degree,
 
  277                                                        const double viscosity,
 
  278                                                        const Eigen::VectorXd uT_old,
 
  279                                                        const double current_time = 0.) 
const;
 
  285                          const Eigen::VectorXd & uT_old,
 
  286                          const Eigen::VectorXd & uT_prev,
 
  287                          const double time_step); 
 
  288      std::pair<Eigen::MatrixXd, Eigen::VectorXd> 
_viscous_term(
size_t iT, 
const Eigen::VectorXd & uT_old);
 
  289      virtual std::pair<Eigen::MatrixXd, Eigen::VectorXd> 
_nonlinear_viscous_term(
size_t iT, 
const Eigen::VectorXd & uT_old);
 
  293                                              const Eigen::VectorXd & uT_old,
 
  294                                              const Eigen::VectorXd & pT_old,
 
  295                          const double & current_time = 0.
 
  300               const double current_time = 0.
 
  302      virtual std::pair<Eigen::MatrixXd, Eigen::VectorXd>
 
  304      virtual std::pair<Eigen::MatrixXd, Eigen::VectorXd>
 
  306                                     const Eigen::VectorXd & uT_old,
 
  308                                     const double current_time = 0.);
 
  310      std::pair<Eigen::MatrixXd, Eigen::VectorXd>
 
  314                                  const Eigen::VectorXd & uph_old,
 
  315                                  const Eigen::VectorXd & uph_prev,
 
  316                                  const double time_step,
 
  317                                  const double current_time);
 
  318      std::pair<Eigen::MatrixXd, Eigen::VectorXd>
 
  322                                  const Eigen::VectorXd & uph_old) {
 
  323                                    Eigen::VectorXd uph_prev = uph_old;
 
  328                                                                       std::numeric_limits<double>::infinity(),
 
 
  337                                        const std::pair<Eigen::MatrixXd, Eigen::VectorXd> & lsT,
 
  338                                        std::list<Eigen::Triplet<double> > & A1,
 
  339                                        Eigen::VectorXd & b1,
 
  340                                        std::list<Eigen::Triplet<double> > & A2,
 
 
The BoundaryConditions class provides definition of boundary conditions.
Definition BoundaryConditions.hpp:45
 
const size_t n_dir_edges() const
Returns the number of Dirichlet edges.
Definition BoundaryConditions.hpp:70
 
Definition discrete-space.hpp:20
 
const Eigen::MatrixXd & potential(size_t iT) const
Returns the potential reconstruction.
Definition hypre.hpp:88
 
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)
Definition hypre.cpp:834
 
Eigen::VectorXd m_b
Definition hypre.hpp:370
 
const std::vector< Eigen::MatrixXd > potential() const
Returns the vector of potential reconstructions.
Definition hypre.hpp:76
 
virtual Eigen::MatrixXd _forcing_terms(size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const double current_time=0.)
Definition hypre.cpp:616
 
bool m_static_condensation
Definition hypre.hpp:347
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _linearized_convective_term(size_t iT, const Eigen::VectorXd &uT_old)
Definition hypre.cpp:657
 
LocalStaticCondensation _compute_static_condensation(const size_t &iT)
Definition hypre.cpp:921
 
std::function< VectorRd(const VectorRd &)> VelocityType
Definition hypre.hpp:37
 
const SystemMatrixType & staticallyCondensedMatrix() const
Returns the static condensation recovery operator.
Definition hypre.hpp:192
 
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 ¤t_time=0.)
Definition hypre.cpp:555
 
std::vector< Eigen::MatrixXd > m_gradient_rhs
Definition hypre.hpp:360
 
size_t degree() const
Returns the degree.
Definition hypre.hpp:64
 
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.
Definition hypre.cpp:1155
 
std::function< VectorRd(const VectorRd &)> PressureGradientType
Definition hypre.hpp:40
 
const SystemMatrixType & systemMatrix() const
Returns the linear system matrix.
Definition hypre.hpp:172
 
const std::vector< Eigen::MatrixXd > stabilization() const
Returns the vector of stabilization matrices.
Definition hypre.hpp:82
 
const Mesh & mesh() const
Returns the mesh.
Definition hypre.hpp:166
 
std::ostream & m_output
Definition hypre.hpp:353
 
std::function< MatrixRd(const VectorRd &)> VelocityGradientType
Definition hypre.hpp:38
 
const DiscreteSpace & pressureSpace() const
Returns the pressure space.
Definition hypre.hpp:160
 
double stabilizationParameter() const
Returns the stabilization parameter.
Definition hypre.hpp:70
 
std::vector< Eigen::MatrixXd > m_symgradient
Definition hypre.hpp:361
 
size_t numStaticallyCondensedDofsVelocity() const
Returns the number of statically condensed DOFs for the velocity.
Definition hypre.hpp:106
 
double m_stabilization_parameter
Definition hypre.hpp:349
 
Eigen::VectorXd m_sc_b
Definition hypre.hpp:373
 
size_t m_nloc_sc_u
Definition hypre.hpp:355
 
size_t numStaticallyCondensedDofs() const
Returns the number of statically condensed DOFs.
Definition hypre.hpp:118
 
size_t numLocalStaticallyCondensedDofsVelocity() const
Returns the local number of velocity statically condensed DOFs.
Definition hypre.hpp:94
 
std::unique_ptr< DiscreteSpace > m_pressure_space
Definition hypre.hpp:367
 
void _construct_local_operators(size_t iT)
Definition hypre.cpp:42
 
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.
Definition hypre.cpp:1042
 
const DiscreteSpace & velocitySpace() const
Returns the velocity space.
Definition hypre.hpp:154
 
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)
Definition hypre.cpp:253
 
Eigen::SparseMatrix< double > SystemMatrixType
Definition hypre.hpp:33
 
std::vector< Eigen::MatrixXd > m_discrete_l2
Definition hypre.hpp:358
 
const Eigen::VectorXd & systemVector() const
Returns the linear system right-hand side vector.
Definition hypre.hpp:182
 
const BoundaryConditions & boundaryConditions() const
Returns the boundary condition handler.
Definition hypre.hpp:202
 
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.)
Definition hypre.cpp:775
 
std::function< VectorRd(const VectorRd &)> MomentumForcingTermType
Definition hypre.hpp:35
 
std::vector< Eigen::MatrixXd > m_symgradient_rhs
Definition hypre.hpp:362
 
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)
Definition hypre.cpp:1095
 
double m_degen_param
Definition hypre.hpp:352
 
std::vector< int > m_nsc_to_dof_map
Definition hypre.hpp:375
 
const Eigen::VectorXd & staticallyCondensedVector() const
Returns the static condensation rhs.
Definition hypre.hpp:197
 
size_t dimVelocity() const
Returns the dimension of velocity space.
Definition hypre.hpp:130
 
std::unique_ptr< DiscreteSpace > m_velocity_space
Definition hypre.hpp:366
 
SystemMatrixType & systemMatrix()
Returns the linear system matrix.
Definition hypre.hpp:177
 
SystemMatrixType m_A
Definition hypre.hpp:369
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _compute_local_contribution(size_t iT, const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old)
Definition hypre.hpp:319
 
size_t m_nloc_sc_p
Definition hypre.hpp:356
 
std::function< double(const VectorRd &)> CompressibilityForcingTermType
Definition hypre.hpp:36
 
std::vector< Eigen::MatrixXd > m_potential
Definition hypre.hpp:363
 
size_t sizeSystem() const
Returns the size of the final system with Lagrange multiplier, after application of SC and removal of...
Definition hypre.hpp:148
 
std::vector< Eigen::MatrixXd > m_stabilization
Definition hypre.hpp:364
 
size_t dimPressure() const
Returns the dimension of pressure space.
Definition hypre.hpp:136
 
size_t numLocalStaticallyCondensedDofsPressure() const
Returns the local number of pressure statically condensed DOFs.
Definition hypre.hpp:100
 
size_t m_degree
Definition hypre.hpp:345
 
size_t numNonStaticallyCondensedDofs() const
Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DO...
Definition hypre.hpp:142
 
Eigen::VectorXd reconstructSolution(const Eigen::VectorXd &uhp_solsystem) const
Reconstruct the solution from the vector of non-statically-condensed DOFs.
Definition hypre.cpp:1133
 
const BoundaryConditions & m_bc
Definition hypre.hpp:346
 
Eigen::VectorXd pkpoPkPkPkInterpolate(const F &v, const InterpolateParameters ¶meters={}) const
Compute the interpolate for the Pk+1-Pk-Pk-Pk method.
 
SystemMatrixType m_sc_A
Definition hypre.hpp:372
 
double m_viscosity
Definition hypre.hpp:350
 
double m_flow_index
Definition hypre.hpp:351
 
virtual ~HYPRE()
Definition hypre.hpp:48
 
virtual std::pair< Eigen::MatrixXd, Eigen::VectorXd > _nonlinear_viscous_term(size_t iT, const Eigen::VectorXd &uT_old)
Definition hypre.cpp:274
 
std::function< double(const VectorRd &)> PressureType
Definition hypre.hpp:39
 
bool m_use_threads
Definition hypre.hpp:348
 
std::vector< int > m_sc_to_dof_map
Definition hypre.hpp:376
 
std::vector< Eigen::MatrixXd > m_gradient
Definition hypre.hpp:359
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > _viscous_term(size_t iT, const Eigen::VectorXd &uT_old)
Definition hypre.cpp:264
 
size_t numStaticallyCondensedDofsPressure() const
Returns the number of statically condensed DOFs for the pressure.
Definition hypre.hpp:112
 
Eigen::VectorXd & systemVector()
Returns the linear system right-hand side vector.
Definition hypre.hpp:187
 
virtual Eigen::VectorXd interpolate(const VelocityType &u, const PressureType &p) const =0
Interpolates velocity and pressure.
 
size_t numDirichletDofs() const
Returns the number of Dirichlet DOFs.
Definition hypre.hpp:124
 
void assembleResidualSystem(const HArDCore2D::NavierStokesSolutions::IExactSolution *isolution, const Eigen::VectorXd &uph_old)
Definition hypre.hpp:214
 
Eigen::Vector2d VectorRd
Definition basis.hpp:55
 
Eigen::Matrix2d MatrixRd
Definition basis.hpp:54
 
Definition ddr-klplate.hpp:27
 
static auto v
Definition ddrcore-test.hpp:32
 
double flow_index
Definition hypre.hpp:26
 
bool static_condensation
Definition hypre.hpp:22
 
double degen_param
Definition hypre.hpp:27
 
double stabilization_parameter
Definition hypre.hpp:24
 
std::ostream & output
Definition hypre.hpp:28
 
bool use_threads
Definition hypre.hpp:23
 
double viscosity
Definition hypre.hpp:25
 
Definition hho-interpolate.hpp:15
 
Structure to store information for, and perform, local static condensation.
Definition local_static_condensation.hpp:25
 
Definition ns-solutions.hpp:15