OGS
v6.4.0
|
Global vector based on Eigen vector.
Definition at line 26 of file EigenVector.h.
#include <EigenVector.h>
Public Types | |
using | RawVectorType = Eigen::VectorXd |
using | IndexType = Eigen::SparseMatrix< double >::Index |
Public Member Functions | |
EigenVector ()=default | |
EigenVector (IndexType length) | |
EigenVector (EigenVector const &src)=default | |
copy constructor More... | |
IndexType | size () const |
return a vector length More... | |
IndexType | getRangeEnd () const |
return an end index of the active data range More... | |
void | setZero () |
double const & | operator[] (IndexType rowId) const |
access entry More... | |
double & | operator[] (IndexType rowId) |
double | get (IndexType rowId) const |
get entry More... | |
std::vector< double > | get (std::vector< IndexType > const &indices) const |
get entries More... | |
void | set (IndexType rowId, double v) |
set entry More... | |
void | add (IndexType rowId, double v) |
add entry More... | |
template<class T_SUBVEC > | |
void | add (const std::vector< IndexType > &pos, const T_SUBVEC &sub_vec) |
add entries More... | |
void | copyValues (std::vector< double > &u) const |
Copy vector values. More... | |
void | write (const std::string &filename) const |
printout this equation for debugging More... | |
RawVectorType & | getRawVector () |
return a raw Eigen vector object More... | |
const RawVectorType & | getRawVector () const |
return a raw Eigen vector object More... | |
Static Public Member Functions | |
static constexpr IndexType | getRangeBegin () |
return a start index of the active data range More... | |
Private Attributes | |
RawVectorType | _vec |
using MathLib::EigenVector::IndexType = Eigen::SparseMatrix<double>::Index |
Definition at line 34 of file EigenVector.h.
using MathLib::EigenVector::RawVectorType = Eigen::VectorXd |
Definition at line 29 of file EigenVector.h.
|
default |
|
inlineexplicit |
Constructor for initialization of the number of rows
length | number of rows |
Definition at line 41 of file EigenVector.h.
|
default |
copy constructor
|
inline |
|
inline |
add entry
Definition at line 87 of file EigenVector.h.
References _vec.
Referenced by add(), ProcessLib::PythonBoundaryConditionLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::NormalTractionBoundaryCondition::NormalTractionBoundaryConditionLocalAssembler< ShapeFunctionDisplacement, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::NeumannBoundaryConditionLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::RobinBoundaryConditionLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::VectorMatrixAssembler::assemble(), ProcessLib::HCNonAdvectiveFreeComponentFlowBoundaryConditionLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::VariableDependentNeumannBoundaryConditionLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::SourceTerms::Python::PythonSourceTermLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::VectorMatrixAssembler::assembleWithJacobian(), NumLib::LocalLinearLeastSquaresExtrapolator::extrapolateElement(), ProcessLib::NodalSourceTerm::integrate(), ProcessLib::VolumetricSourceTermLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::integrate(), and ProcessLib::SmallDeformation::writeMaterialForces().
|
inline |
Copy vector values.
Definition at line 103 of file EigenVector.h.
References _vec.
Referenced by ProcessLib::PhaseField::PhaseFieldProcess< DisplacementDim >::assembleWithJacobianConcreteProcess(), and ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalProcess< DisplacementDim >::assembleWithJacobianConcreteProcess().
|
inline |
get entry
Definition at line 63 of file EigenVector.h.
References _vec.
Referenced by ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >::computeCrackIntegral(), ProcessLib::LocalAssemblerInterface::computeSecondaryVariable(), ProcessLib::PrimaryVariableConstraintDirichletBoundaryCondition::getEssentialBCValues(), NumLib::getNodalValue(), NumLib::getNonGhostNodalValue(), ProcessLib::TES::TESProcess::postIterationConcreteProcess(), ProcessLib::LocalAssemblerInterface::postNonLinearSolver(), ProcessLib::VectorMatrixAssembler::preAssemble(), ProcessLib::LocalAssemblerInterface::preTimestep(), ProcessLib::LocalAssemblerInterface::setInitialConditions(), and ProcessLib::SmallDeformation::writeMaterialForces().
|
inline |
|
inlinestaticconstexpr |
return a start index of the active data range
Definition at line 50 of file EigenVector.h.
|
inline |
return an end index of the active data range
Definition at line 53 of file EigenVector.h.
References size().
|
inline |
return a raw Eigen vector object
Definition at line 115 of file EigenVector.h.
References _vec.
Referenced by MathLib::applyKnownSolution(), MathLib::EigenLinearSolver::solve(), and MathLib::EigenLisLinearSolver::solve().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 56 of file EigenVector.h.
References _vec.
Referenced by NumLib::TimeDiscretizedODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Newton >::assemble(), NumLib::TimeDiscretizedODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >::assemble(), and ProcessLib::TimeLoop::outputSolutions().
|
inline |
return a vector length
Definition at line 47 of file EigenVector.h.
References _vec.
Referenced by getRangeEnd().
|
inline |
|
private |
Definition at line 121 of file EigenVector.h.
Referenced by add(), copyValues(), get(), getRawVector(), operator[](), set(), setZero(), size(), and write().