48 Eigen::DenseBase<TDerivedE>
const& E,
50 Eigen::DenseBase<TDerivedeg>
const& eg,
51 Eigen::DenseBase<TDerivedwg>
const& wg,
52 Eigen::MatrixBase<TDerivedNeg>
const& Neg,
53 Eigen::MatrixBase<TDerivedFeg>
const& Feg)
54 -> Eigen::Matrix<typename TDerivedFeg::Scalar, TDerivedFeg::RowsAtCompileTime, Eigen::Dynamic>
56 PBAT_PROFILE_NAMED_SCOPE(
"pbat.fem.LoadVector");
58 Eigen::Matrix<typename TDerivedFeg::Scalar, TDerivedFeg::RowsAtCompileTime, Eigen::Dynamic>;
59 MatrixType F = MatrixType::Zero(Feg.rows(), nNodes);
60 for (
auto g = 0; g < wg.size(); ++g)
62 auto const nodes = E.col(eg(g));
63 F(Eigen::placeholders::all, nodes) += wg(g) * Feg.col(g) * Neg.col(g).transpose();
auto LoadVectors(Eigen::DenseBase< TDerivedE > const &E, Eigen::Index nNodes, Eigen::DenseBase< TDerivedeg > const &eg, Eigen::DenseBase< TDerivedwg > const &wg, Eigen::MatrixBase< TDerivedNeg > const &Neg, Eigen::MatrixBase< TDerivedFeg > const &Feg) -> Eigen::Matrix< typename TDerivedFeg::Scalar, TDerivedFeg::RowsAtCompileTime, Eigen::Dynamic >
Computes the load vector for a given FEM mesh.
Definition LoadVector.h:47