|
| | HArDCore3D::BrinkmanParameters::BrinkmanParameters (const ViscosityType &_mu, const PermeabilityInvType &_kappainv) |
| | Constructor.
|
| |
| double | HArDCore3D::BrinkmanParameters::Cf (const Cell &T) const |
| | Returns the friction coefficient.
|
| |
| | HArDCore3D::BrinkmanNorms::BrinkmanNorms (double norm_u, double norm_p) |
| | Constructor.
|
| |
| | HArDCore3D::Brinkman::Brinkman (const VHHOSpace &vhho_space, const GlobalDOFSpace &p_space, const BoundaryConditions &BC, bool use_threads, std::ostream &output=std::cout) |
| | Constructor.
|
| |
| void | HArDCore3D::Brinkman::assembleLinearSystem (const MomentumForcingTermType &f, const CompressibilityForcingTermType &g, const BrinkmanParameters ¶, const VelocityType &u, Eigen::VectorXd &UDir) |
| | Assemble the global system
|
| |
| size_t | HArDCore3D::Brinkman::nloc_sc_u () const |
| | Returns the local number of velocity statically condensed DOFs.
|
| |
| size_t | HArDCore3D::Brinkman::nloc_sc_p () const |
| | Returns the local number of pressure statically condensed DOFs.
|
| |
| size_t | HArDCore3D::Brinkman::numSCDOFs_u () const |
| | Returns the number of velocity statically condensed DOFs.
|
| |
| size_t | HArDCore3D::Brinkman::numSCDOFs_p () const |
| | Returns the number of pressure statically condensed DOFs.
|
| |
| size_t | HArDCore3D::Brinkman::numSCDOFs () const |
| | Returns the number of statically condensed DOFs.
|
| |
| size_t | HArDCore3D::Brinkman::numDirDOFs () const |
| | Returns the number of Dirichlet DOFs.
|
| |
| size_t | HArDCore3D::Brinkman::dimVelocity () const |
| | Returns the dimension of velocity space.
|
| |
| size_t | HArDCore3D::Brinkman::dimPressure () const |
| | Returns the dimension of pressure space.
|
| |
| size_t | HArDCore3D::Brinkman::numNonSCDOFs () const |
| | Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DOFs.
|
| |
| size_t | HArDCore3D::Brinkman::sizeSystem () const |
| | Returns the size of the final system with Lagrange multiplier, after application of SC and removal of Dirichlet BCs.
|
| |
| const VHHOSpace & | HArDCore3D::Brinkman::vhhospace () const |
| | Returns the velocity space.
|
| |
| const GlobalDOFSpace & | HArDCore3D::Brinkman::pspace () const |
| | Returns the pressure space.
|
| |
| const Mesh & | HArDCore3D::Brinkman::mesh () const |
| | Returns the mesh.
|
| |
| const SystemMatrixType & | HArDCore3D::Brinkman::systemMatrix () const |
| | Returns the linear system matrix.
|
| |
| SystemMatrixType & | HArDCore3D::Brinkman::systemMatrix () |
| | Returns the linear system matrix.
|
| |
| const Eigen::VectorXd & | HArDCore3D::Brinkman::systemVector () const |
| | Returns the linear system right-hand side vector.
|
| |
| Eigen::VectorXd & | HArDCore3D::Brinkman::systemVector () |
| | Returns the linear system right-hand side vector.
|
| |
| const std::pair< double, double > & | HArDCore3D::Brinkman::stabilizationParameter () const |
| | Returns the stabilization parameter (scaling)
|
| |
| std::pair< double, double > & | HArDCore3D::Brinkman::stabilizationParameter () |
| | Returns the stabilization parameter.
|
| |
| const SystemMatrixType & | HArDCore3D::Brinkman::scMatrix () const |
| | Returns the static condensation recovery operator.
|
| |
| Eigen::VectorXd & | HArDCore3D::Brinkman::scVector () |
| | Returns the static condensation rhs.
|
| |
| Eigen::VectorXd | HArDCore3D::Brinkman::interpolate (const VelocityType &u, const PressureType &p, const int doe_cell=-1, const int doe_face=-1) const |
| | Interpolates velocity and pressure.
|
| |
| std::vector< BrinkmanNorms > | HArDCore3D::Brinkman::computeBrinkmanNorms (const std::vector< Eigen::VectorXd > &list_dofs, const BrinkmanParameters ¶) const |
| | Compute the discrete energy norm of a family of vectors representing the dofs.
|
| |
| std::vector< double > | HArDCore3D::Brinkman::pressureVertexValues (const Eigen::VectorXd &p) const |
| | Create vertex values for the pressure (from the element values), for plotting.
|
| |
| std::pair< double, double > | HArDCore3D::Brinkman::computeConditionNum () const |
| | Computes the condition number of the matrix.
|
| |
| std::pair< double, double > | HArDCore3D::Brinkman::computeFlux (const Eigen::VectorXd &u, const std::pair< std::vector< VectorRd >, VectorRd > &surf) const |
| | Compute the velocity flux (integral of u.n) across a given surface, and the area of the surface, assumed to be star-shaped with respect the barycenter of its vertices.
|
| |
|
| ViscosityType | HArDCore3D::BrinkmanParameters::mu |
| |
| PermeabilityInvType | HArDCore3D::BrinkmanParameters::kappainv |
| |
| double | HArDCore3D::BrinkmanNorms::u |
| | Energy norm of velocity.
|
| |
| double | HArDCore3D::BrinkmanNorms::p |
| | L2 norm of p.
|
| |
| double | HArDCore3D::BrinkmanNorms::energy |
| | Global energy norm
|
| |
| static const double | HArDCore3D::PI = boost::math::constants::pi<double>() |
| |
| double | HArDCore3D::scaling_mu = 1. |
| |
| double | HArDCore3D::scaling_kappainv = 1. |
| |
| double constexpr | HArDCore3D::eps =1e-14 |
| |
| static BrinkmanParameters::ViscosityType | HArDCore3D::linear_mu = BrinkmanParameters::ViscosityType(1.) |
| |
| static BrinkmanParameters::PermeabilityInvType | HArDCore3D::linear_kappainv = BrinkmanParameters::PermeabilityInvType(1.) |
| |
| static const MatrixRd | HArDCore3D::mat_u = (MatrixRd() << 1.,2.,3., 0.,-1.,1. , 0.,1.,1.).finished() |
| |
| static const VectorRd | HArDCore3D::vec_p = VectorRd(-1., 2., -5.) |
| |
| static Brinkman::VelocityType | HArDCore3D::linear_u |
| |
| static Brinkman::PressureType | HArDCore3D::linear_p |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::linear_gradu |
| |
| static Brinkman::PressureGradientType | HArDCore3D::linear_gradp |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::linear_f |
| |
| static Brinkman::CompressibilityForcingTermType | HArDCore3D::linear_g = [](const VectorRd & x)->double { return linear_gradu(x).trace();} |
| |
| static BrinkmanParameters::ViscosityType | HArDCore3D::quadratic_mu = BrinkmanParameters::ViscosityType(1.) |
| |
| static BrinkmanParameters::PermeabilityInvType | HArDCore3D::quadratic_kappainv = BrinkmanParameters::PermeabilityInvType(1.) |
| |
| static Brinkman::VelocityType | HArDCore3D::quadratic_u |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::quadratic_gradu |
| |
| static Brinkman::PressureType | HArDCore3D::quadratic_p |
| |
| static Brinkman::PressureGradientType | HArDCore3D::quadratic_gradp |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::quadratic_f |
| |
| static Brinkman::CompressibilityForcingTermType | HArDCore3D::quadratic_g = [](const VectorRd & x)->double { return quadratic_gradu(x).trace();} |
| |
| static BrinkmanParameters::ViscosityType | HArDCore3D::cubic_mu = BrinkmanParameters::ViscosityType(1.) |
| |
| static BrinkmanParameters::PermeabilityInvType | HArDCore3D::cubic_kappainv = BrinkmanParameters::PermeabilityInvType(1.) |
| |
| static Brinkman::VelocityType | HArDCore3D::cubic_u |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::cubic_gradu |
| |
| static Brinkman::PressureType | HArDCore3D::cubic_p |
| |
| static Brinkman::PressureGradientType | HArDCore3D::cubic_gradp |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::cubic_f |
| |
| static Brinkman::CompressibilityForcingTermType | HArDCore3D::cubic_g = [](const VectorRd & x)->double { return cubic_gradu(x).trace();} |
| |
| static BrinkmanParameters::ViscosityType | HArDCore3D::trigonometric_mu = BrinkmanParameters::ViscosityType(1.) |
| |
| static BrinkmanParameters::PermeabilityInvType | HArDCore3D::trigonometric_kappainv = BrinkmanParameters::PermeabilityInvType(1.) |
| |
| static Brinkman::VelocityType | HArDCore3D::trigonometric_u |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::trigonometric_gradu |
| |
| static Brinkman::PressureType | HArDCore3D::trigonometric_p |
| |
| static Brinkman::PressureGradientType | HArDCore3D::trigonometric_gradp |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::trigonometric_f |
| |
| static Brinkman::CompressibilityForcingTermType | HArDCore3D::trigonometric_g = [](const VectorRd & x)->double { return trigonometric_gradu(x).trace();} |
| |
| static BrinkmanParameters::ViscosityType | HArDCore3D::regimes_mu = BrinkmanParameters::ViscosityType(1.) |
| |
| static BrinkmanParameters::PermeabilityInvType | HArDCore3D::regimes_kappainv = BrinkmanParameters::PermeabilityInvType(1.) |
| |
| static Brinkman::PressureType | HArDCore3D::regimes_p = trigonometric_p |
| |
| static Brinkman::PressureGradientType | HArDCore3D::regimes_gradp = trigonometric_gradp |
| |
| static Brinkman::VelocityType | HArDCore3D::regimes_uD |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::regimes_graduD |
| |
| static Brinkman::VelocityType | HArDCore3D::regimes_uS = trigonometric_u |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::regimes_graduS = trigonometric_gradu |
| |
| static std::function< double(const VectorRd &)> | HArDCore3D::XiS |
| |
| static Brinkman::VelocityType | HArDCore3D::regimes_u = [](const VectorRd & x) -> VectorRd { return XiS(x) * regimes_uS(x) + (1.-XiS(x)) * regimes_uD(x);} |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::regimes_gradu = [](const VectorRd & x) -> MatrixRd { return XiS(x) * regimes_graduS(x) + (1.-XiS(x)) * regimes_graduD(x);} |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::regimes_f |
| |
| static Brinkman::CompressibilityForcingTermType | HArDCore3D::regimes_g = [](const VectorRd & x)->double { return regimes_gradu(x).trace() ;} |
| |
| static std::function< double(const VectorRd &)> | HArDCore3D::XiV = [](const VectorRd & x)->double { return (x.z() > 2*std::abs(x.x()-1.)+0.5-eps); } |
| |
| static BrinkmanParameters::ViscosityType | HArDCore3D::vcracked_mu = BrinkmanParameters::ViscosityType([](const VectorRd & x)->double { return 0.01 * XiV(x);}) |
| |
| static BrinkmanParameters::PermeabilityInvType | HArDCore3D::vcracked_kappainv = BrinkmanParameters::PermeabilityInvType([](const VectorRd & x)->double { return 1e-5*(1.-XiV(x)) + 0.001*XiV(x);}) |
| |
| static Brinkman::VelocityType | HArDCore3D::vcracked_u |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::vcracked_gradu |
| |
| static Brinkman::PressureType | HArDCore3D::vcracked_p |
| |
| static Brinkman::PressureGradientType | HArDCore3D::vcracked_gradp |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::vcracked_f |
| |
| static Brinkman::CompressibilityForcingTermType | HArDCore3D::vcracked_g |
| |
| static std::function< double(const VectorRd &)> | HArDCore3D::XiCavity |
| |
| static std::function< double(const VectorRd &)> | HArDCore3D::XiWedge |
| |
| static std::function< double(const VectorRd &)> | HArDCore3D::XiBox = [](const VectorRd & x)->double { return 1. - XiCavity(x) - XiWedge(x); } |
| |
| constexpr double | HArDCore3D::viscosity_in_cavity = 0.01 |
| |
| static BrinkmanParameters::ViscosityType | HArDCore3D::cavity_mu = viscosity_in_cavity * BrinkmanParameters::ViscosityType(XiCavity) |
| |
| constexpr double | HArDCore3D::permeability_in_wedge = 1e-2 |
| |
| constexpr double | HArDCore3D::permeability_in_box = 1e-7 |
| |
| static BrinkmanParameters::PermeabilityInvType | HArDCore3D::cavity_kappainv |
| |
| static Brinkman::VelocityType | HArDCore3D::cavity_u |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::cavity_gradu |
| |
| static Brinkman::PressureType | HArDCore3D::cavity_p |
| |
| static Brinkman::PressureGradientType | HArDCore3D::cavity_gradp |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::cavity_f |
| |
| static Brinkman::CompressibilityForcingTermType | HArDCore3D::cavity_g |
| |
| static std::function< double(const VectorRd &)> | HArDCore3D::Xi_S |
| |
| static std::function< double(const VectorRd &)> | HArDCore3D::Xi_D |
| |
| constexpr double | HArDCore3D::viscosity_S = 1. |
| |
| constexpr double | HArDCore3D::viscosity_D = 0. |
| |
| static BrinkmanParameters::ViscosityType | HArDCore3D::tworegions_mu |
| |
| constexpr double | HArDCore3D::permeability_S = 1e-7 |
| |
| constexpr double | HArDCore3D::permeability_D = 1e-2 |
| |
| static BrinkmanParameters::PermeabilityInvType | HArDCore3D::tworegions_kappainv |
| |
| static std::function< VectorRd(const VectorRd &)> | HArDCore3D::alpha |
| |
| static std::function< VectorRd(const VectorRd &)> | HArDCore3D::beta_S |
| |
| static std::function< VectorRd(const VectorRd &)> | HArDCore3D::beta_D |
| |
| static Brinkman::VelocityType | HArDCore3D::tworegions_u |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::grad_alpha |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::grad_beta_S |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::grad_beta_D |
| |
| static Brinkman::VelocityGradientType | HArDCore3D::tworegions_gradu |
| |
| static Brinkman::PressureType | HArDCore3D::tworegions_p = trigonometric_p |
| |
| static Brinkman::PressureGradientType | HArDCore3D::tworegions_gradp = trigonometric_gradp |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::DivGrad_alpha |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::DivGrad_beta_S |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::DivGrad_beta_D |
| |
| static Brinkman::MomentumForcingTermType | HArDCore3D::tworegions_f |
| |
| static Brinkman::CompressibilityForcingTermType | HArDCore3D::tworegions_g = [](const VectorRd & x)->double { return tworegions_gradu(x).trace();} |
| |