|
| | HArDCore3D::YangMillsNorms::YangMillsNorms (double norm_E, double norm_A, double norm_lambda) |
| | Constructor.
|
| |
| | HArDCore3D::YangMills::YangMills (const DDRCore &ddrcore, const LieAlgebra &liealgebra, bool use_threads, std::ostream &output=std::cout) |
| | Constructor.
|
| |
| void | HArDCore3D::YangMills::assembleLinearSystem (double dt) |
| | Assemble the global system
|
| |
| void | HArDCore3D::YangMills::setSystemVector (const Eigen::VectorXd &interp_f, const Eigen::VectorXd &interp_dE, const Eigen::VectorXd &interp_A, const Eigen::VectorXd &E_old, const Eigen::VectorXd &A_old, double dt, double theta, double nonlinear_coeff) |
| | Sets system vector for the nonlinear problem.
|
| |
| void | HArDCore3D::YangMills::assembleSystemNewton (const Eigen::VectorXd &E_i, const Eigen::VectorXd &A_i, const Eigen::VectorXd &Elambdac_k, const Eigen::VectorXd &sysVec, double dt, double theta, double nonlinear_coeff) |
| | Assembles the system for Newton iterations.
|
| |
| double | HArDCore3D::YangMills::stoppingCrit (const Eigen::VectorXd &v, const Eigen::VectorXd &u) |
| | Stops once changes become small.
|
| |
| double | HArDCore3D::YangMills::stoppingCrit2 (const Eigen::VectorXd &Elambda_k, const Eigen::VectorXd &E_i, const Eigen::VectorXd &A_i, const Eigen::VectorXd &sysVec, double dt, double theta, double nonlinear_coeff) |
| | Stops once close enough to system vector for nonlinear problem.
|
| |
| void | HArDCore3D::YangMills::addBoundaryConditions (const LAMagneticFieldType &curl_A, double dt) |
| | Adds boundary condition for chosen solution to the system vector.
|
| |
| Eigen::VectorXd | HArDCore3D::YangMills::computeInitialConditions (const Eigen::MatrixXd &Eh, const Eigen::MatrixXd &Ah, const double nonlinear_coeff, const size_t solver) |
| | Computes the projected initial conditions that satisfy the constraint.
|
| |
| Eigen::MatrixXd | HArDCore3D::YangMills::epsBkt_v (size_t iT, boost::multi_array< double, 3 > &ebkt_T, const Eigen::VectorXd &v) const |
| | Calculates the matrix of *[v,.]^div in element index iT.
|
| |
| Eigen::MatrixXd | HArDCore3D::YangMills::L2v_Bkt (size_t iT, boost::multi_array< double, 3 > &intPciPcjPgk, const Eigen::VectorXd &v, const size_t &entry) const |
| | Wrapper to plug vector into L2 integral product: int (Pcurl 1,[Pcurl 2, Pgrad 3])
|
| |
| Eigen::MatrixXd | HArDCore3D::YangMills::L2v_epsBkt (size_t iT, boost::multi_array< double, 3 > &ebkt_T, const Eigen::VectorXd &v_T, const Eigen::MatrixXd &L2prod) const |
| | Calculates the bracket inside the L2prod with v.
|
| |
| size_t | HArDCore3D::YangMills::dimension () const |
| | Returns the global problem dimension.
|
| |
| size_t | HArDCore3D::YangMills::sizeSystem () const |
| | Returns the size of the system.
|
| |
| const LieAlgebra & | HArDCore3D::YangMills::lieAlg () const |
| | Returns the Lie algebra.
|
| |
| const LAXGrad & | HArDCore3D::YangMills::laXGrad () const |
| | Returns the space LAXGrad.
|
| |
| const LAXCurl & | HArDCore3D::YangMills::laXCurl () const |
| | Returns the space LAXCurl.
|
| |
| const LAXDiv & | HArDCore3D::YangMills::laXDiv () const |
| | Returns the space LAXCurl.
|
| |
| const XGrad & | HArDCore3D::YangMills::xGrad () const |
| | Returns the space XDiv.
|
| |
| const XCurl & | HArDCore3D::YangMills::xCurl () const |
| | Returns the space XDiv.
|
| |
| const XDiv & | HArDCore3D::YangMills::xDiv () const |
| | Returns the space XDiv.
|
| |
| const SystemMatrixType & | HArDCore3D::YangMills::systemMatrix () const |
| | Returns the linear system matrix.
|
| |
| SystemMatrixType & | HArDCore3D::YangMills::systemMatrix () |
| | Returns the linear system matrix.
|
| |
| const Eigen::VectorXd & | HArDCore3D::YangMills::systemVector () const |
| | Returns the linear system right-hand side vector.
|
| |
| Eigen::VectorXd & | HArDCore3D::YangMills::systemVector () |
| | Returns the linear system right-hand side vector.
|
| |
| const double & | HArDCore3D::YangMills::stabilizationParameter () const |
| | Returns the stabilization parameter.
|
| |
| double & | HArDCore3D::YangMills::stabilizationParameter () |
| | Returns the stabilization parameter.
|
| |
| std::vector< YangMillsNorms > | HArDCore3D::YangMills::computeYangMillsNorms (const std::vector< Eigen::VectorXd > &list_dofs) const |
| | Compute the discrete L2 norms, for a family of Eigen::VectorXd representing the electric field and potential.
|
| |
| template<typename outValue , typename TFct > |
| std::function< outValue(const Eigen::Vector3d &)> | HArDCore3D::YangMills::contractPara (const TFct &F, double t) const |
| | Takes a two parameter function and a value and returns a function with the first parameter fixed to value.
|
| |
| template<typename outValue , typename Fct , typename TFct > |
| std::vector< Fct > | HArDCore3D::YangMills::contractParaLA (const std::vector< TFct > &TF, double t) const |
| | Takes a vector of two parameter functions and a value and returns a function with the first parameter fixed to value.
|
| |
| double | HArDCore3D::YangMills::computeResidual (const Eigen::VectorXd &x) const |
| | Calculates residual with current matrix and rhs from given x (m_A*x = m_b)
|
| |
| Eigen::VectorXd | HArDCore3D::YangMills::computeConstraint (const Eigen::VectorXd &E, const Eigen::VectorXd &A, const double nonlinear_coeff) |
| | Computes the constraint [E, grad P'] + int <E, [A, P']> for the DOFs.
|
| |
| double | HArDCore3D::YangMills::computeConstraintNorm (const Eigen::VectorXd &Ch, const size_t itersolver) const |
| | Solves a system to calculate the norm of the constraint (in the dual space of LaXgrad)
|
| |
| std::pair< double, double > | HArDCore3D::YangMills::computeConditionNum () const |
| |
| template<typename outValue , typename Fct > |
| std::vector< Fct > | HArDCore3D::sumLA (const std::vector< Fct > &LAF, const std::vector< Fct > &LAG, double lambda) |
| | Template to evaluate a vector of functions.
|
| |
| | HArDCore3D::AssembleSystems::AssembleSystems (std::vector< Eigen::MatrixXd > sys, std::vector< Eigen::VectorXd > vec) |
| | Constructor.
|
| |
| | HArDCore3D::AssembledSystems::AssembledSystems (std::vector< Eigen::SparseMatrix< double > > sys, std::vector< Eigen::VectorXd > vec) |
| | Constructor.
|
| |
|
| double | HArDCore3D::YangMillsNorms::E |
| | Norm of electric field.
|
| |
| double | HArDCore3D::YangMillsNorms::A |
| | Norm of potential.
|
| |
| double | HArDCore3D::YangMillsNorms::lambda |
| | Norm of Lagrange multiplier.
|
| |
| static const double | HArDCore3D::PI = boost::math::constants::pi<double>() |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_E1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_E2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_E3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::trigonometric_E = {trigonometric_E1, trigonometric_E2, trigonometric_E3} |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_A1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_A2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_A3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::trigonometric_A = {trigonometric_A1, trigonometric_A2, trigonometric_A3} |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::trigonometric_B1_linear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::trigonometric_B2_linear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::trigonometric_B3_linear |
| |
| static YangMills::TLAMagneticFieldType | HArDCore3D::trigonometric_B_linear = {trigonometric_B1_linear, trigonometric_B2_linear, trigonometric_B3_linear} |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::trigonometric_B1_nonlinear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::trigonometric_B2_nonlinear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::trigonometric_B3_nonlinear |
| |
| static YangMills::TLAMagneticFieldType | HArDCore3D::trigonometric_B_nonlinear = {trigonometric_B1_nonlinear, trigonometric_B2_nonlinear, trigonometric_B3_nonlinear} |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_dtE1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_dtE2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::trigonometric_dtE3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::trigonometric_dtE = {trigonometric_dtE1, trigonometric_dtE2, trigonometric_dtE3} |
| |
| static YangMills::TForcingTermType | HArDCore3D::trigonometric_f1_linear |
| |
| static YangMills::TForcingTermType | HArDCore3D::trigonometric_f2_linear |
| |
| static YangMills::TForcingTermType | HArDCore3D::trigonometric_f3_linear |
| |
| static YangMills::TLAForcingTermType | HArDCore3D::trigonometric_f_linear = {trigonometric_f1_linear, trigonometric_f2_linear, trigonometric_f3_linear} |
| |
| static YangMills::TForcingTermType | HArDCore3D::trigonometric_f1_nonlinear |
| |
| static YangMills::TForcingTermType | HArDCore3D::trigonometric_f2_nonlinear |
| |
| static YangMills::TForcingTermType | HArDCore3D::trigonometric_f3_nonlinear |
| |
| static YangMills::TLAForcingTermType | HArDCore3D::trigonometric_f_nonlinear = {trigonometric_f1_nonlinear, trigonometric_f2_nonlinear, trigonometric_f3_nonlinear} |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_E1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_E2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_E3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::linear_E = {linear_E1, linear_E2, linear_E3} |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_A1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_A2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_A3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::linear_A = {linear_A1, linear_A2, linear_A3} |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::linear_B1_linear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::linear_B2_linear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::linear_B3_linear |
| |
| static YangMills::TLAMagneticFieldType | HArDCore3D::linear_B_linear = {linear_B1_linear, linear_B2_linear, linear_B3_linear} |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::linear_B1_nonlinear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::linear_B2_nonlinear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::linear_B3_nonlinear |
| |
| static YangMills::TLAMagneticFieldType | HArDCore3D::linear_B_nonlinear = {linear_B1_nonlinear, linear_B2_nonlinear, linear_B3_nonlinear} |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_dtE1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_dtE2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::linear_dtE3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::linear_dtE = {linear_dtE1, linear_dtE2, linear_dtE3} |
| |
| static YangMills::TForcingTermType | HArDCore3D::linear_f1_linear |
| |
| static YangMills::TForcingTermType | HArDCore3D::linear_f2_linear |
| |
| static YangMills::TForcingTermType | HArDCore3D::linear_f3_linear |
| |
| static YangMills::TLAForcingTermType | HArDCore3D::linear_f_linear = {linear_f1_linear, linear_f2_linear, linear_f3_linear} |
| |
| static YangMills::TForcingTermType | HArDCore3D::linear_f1_nonlinear |
| |
| static YangMills::TForcingTermType | HArDCore3D::linear_f2_nonlinear |
| |
| static YangMills::TForcingTermType | HArDCore3D::linear_f3_nonlinear |
| |
| static YangMills::TLAForcingTermType | HArDCore3D::linear_f_nonlinear = {linear_f1_nonlinear, linear_f2_nonlinear, linear_f3_nonlinear} |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_E1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_E2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_E3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::const_E = {const_E1, const_E2, const_E3} |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_A1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_A2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_A3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::const_A = {const_A1, const_A2, const_A3} |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::const_B1_linear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::const_B2_linear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::const_B3_linear |
| |
| static YangMills::TLAMagneticFieldType | HArDCore3D::const_B_linear = {const_B1_linear, const_B2_linear, const_B3_linear} |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::const_B1_nonlinear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::const_B2_nonlinear |
| |
| static YangMills::TMagneticFieldType | HArDCore3D::const_B3_nonlinear |
| |
| static YangMills::TLAMagneticFieldType | HArDCore3D::const_B_nonlinear = {const_B1_nonlinear, const_B2_nonlinear, const_B3_nonlinear} |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_dtE1 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_dtE2 |
| |
| static YangMills::TElectricFieldType | HArDCore3D::const_dtE3 |
| |
| static YangMills::TLAElectricFieldType | HArDCore3D::const_dtE = {const_dtE1, const_dtE2, const_dtE3} |
| |
| static YangMills::TForcingTermType | HArDCore3D::const_f1_linear |
| |
| static YangMills::TForcingTermType | HArDCore3D::const_f2_linear |
| |
| static YangMills::TForcingTermType | HArDCore3D::const_f3_linear |
| |
| static YangMills::TLAForcingTermType | HArDCore3D::const_f_linear = {const_f1_linear, const_f2_linear, const_f3_linear} |
| |
| static YangMills::TForcingTermType | HArDCore3D::const_f1_nonlinear |
| |
| static YangMills::TForcingTermType | HArDCore3D::const_f2_nonlinear |
| |
| static YangMills::TForcingTermType | HArDCore3D::const_f3_nonlinear |
| |
| static YangMills::TLAForcingTermType | HArDCore3D::const_f_nonlinear = {const_f1_nonlinear, const_f2_nonlinear, const_f3_nonlinear} |
| |
| std::vector< Eigen::MatrixXd > | HArDCore3D::AssembleSystems::systems |
| |
| std::vector< Eigen::VectorXd > | HArDCore3D::AssembleSystems::vectors |
| |
| std::vector< Eigen::SparseMatrix< double > > | HArDCore3D::AssembledSystems::systems |
| |
| std::vector< Eigen::VectorXd > | HArDCore3D::AssembledSystems::vectors |
| |
Implementation of the lowest order DDR scheme for the Yang-Mills problem.