1#ifndef INCG_LF_FIXDOF_H
2#define INCG_LF_FIXDOF_H
86template <
typename SCALAR,
typename SELECTOR,
typename RHSVECTOR>
90 LF_ASSERT_MSG(
A.rows() ==
N,
"Matrix must be square!");
91 LF_ASSERT_MSG(
N ==
b.size(),
92 "Mismatch N = " <<
N <<
" <-> b.size() = " <<
b.size());
97 Eigen::Matrix<SCALAR, Eigen::Dynamic, 1>
tmp_vec(
N);
183template <
typename SCALAR,
typename SELECTOR,
typename RHSVECTOR>
187 LF_ASSERT_MSG(
A.rows() ==
N,
"Matrix must be square!");
188 LF_ASSERT_MSG(
N ==
b.size(),
189 "Mismatch N = " <<
N <<
" <-> b.size() = " <<
b.size());
224template <
typename SCALAR>
226 std::vector<std::pair<lf::assemble::gdof_idx_t, SCALAR>>;
250template <
typename SCALAR,
typename RHSVECTOR>
255 LF_ASSERT_MSG(
A.rows() ==
N,
"Matrix must be square!");
256 LF_ASSERT_MSG(
N ==
b.size(),
257 "Mismatch N = " <<
N <<
" <-> b.size() = " <<
b.size());
261 Eigen::Matrix<SCALAR, Eigen::Dynamic, 1>
fixed_vec(
b.size());
276 "Illegal index " <<
i);
A temporary data structure for matrix in COO format.
void AssembleMatrixLocally(dim_t codim, const DofHandler &dof_handler_trial, const DofHandler &dof_handler_test, ENTITY_MATRIX_PROVIDER &entity_matrix_provider, TMPMATRIX &matrix)
Assembly function for standard assembly of finite element matrices.
D.o.f. index mapping and assembly facilities.
void FixSolutionComponentsLse(const fixed_components_t< SCALAR > &fixed_components, COOMatrix< SCALAR > &A, RHSVECTOR &b)
manipulate a square linear system of equations with a coefficient matrix in COO format so that some s...
void FixFlaggedSolutionComponents(SELECTOR &&selectvals, COOMatrix< SCALAR > &A, RHSVECTOR &b)
enforce prescribed solution components
lf::base::size_type size_type
void FixFlaggedSolutionCompAlt(SELECTOR &&selectvals, COOMatrix< SCALAR > &A, RHSVECTOR &b)
Setting unknowns of a sparse linear system of equations to fixed values.
std::vector< std::pair< lf::assemble::gdof_idx_t, SCALAR > > fixed_components_t
Information about fixed solution components.