29 std::vector<GlobalVector*>
const& x,
int const process_id,
33template <
typename ShapeFunction,
int GlobalDim>
44 NAndWeight(
typename ShapeMatricesType::ShapeMatrices::ShapeType&& N_,
46 :
N(std::move(N_)),
weight(weight_)
49 typename ShapeMatricesType::ShapeMatrices::ShapeType
const N;
54 static std::vector<NAndWeight, Eigen::aligned_allocator<NAndWeight>>
58 std::vector<NAndWeight, Eigen::aligned_allocator<NAndWeight>>
63 GlobalDim>(e, is_axially_symmetric,
65 for (
unsigned ip = 0; ip < sms.size(); ++ip)
69 sm.detJ * sm.integralMeasure *
72 ns_and_weights.emplace_back(std::move(sm.N), w);
75 return ns_and_weights;
91 std::vector<NAndWeight, Eigen::aligned_allocator<NAndWeight>>
const
Definition of the Element class.
Global vector based on Eigen vector.
MathLib::WeightedPoint const & getWeightedPoint(unsigned const igp) const
unsigned getNumberOfPoints() const
virtual ~GenericNaturalBoundaryConditionLocalAssemblerInterface()=default
virtual void assemble(std::size_t const id, NumLib::LocalToGlobalIndexMap const &dof_table_boundary, double const t, std::vector< GlobalVector * > const &x, int const process_id, GlobalMatrix *K, GlobalVector &b, GlobalMatrix *Jac)=0
GenericNaturalBoundaryConditionLocalAssembler(MeshLib::Element const &e, bool is_axially_symmetric, NumLib::GenericIntegrationMethod const &integration_method)
static std::vector< NAndWeight, Eigen::aligned_allocator< NAndWeight > > initNsAndWeights(MeshLib::Element const &e, bool is_axially_symmetric, NumLib::GenericIntegrationMethod const &integration_method)
MeshLib::Element const & _element
NumLib::GenericIntegrationMethod const & _integration_method
std::vector< NAndWeight, Eigen::aligned_allocator< NAndWeight > > const _ns_and_weights
ShapeMatrixPolicyType< ShapeFunction, GlobalDim > ShapeMatricesType
typename ShapeMatricesType::NodalMatrixType NodalMatrixType
typename ShapeMatricesType::NodalVectorType NodalVectorType
std::vector< typename ShapeMatricesType::ShapeMatrices, Eigen::aligned_allocator< typename ShapeMatricesType::ShapeMatrices > > initShapeMatrices(MeshLib::Element const &e, bool const is_axially_symmetric, IntegrationMethod const &integration_method)
MatrixType< ShapeFunction::NPOINTS, ShapeFunction::NPOINTS > NodalMatrixType
VectorType< ShapeFunction::NPOINTS > NodalVectorType
ShapeMatricesType::ShapeMatrices::ShapeType const N
NAndWeight(typename ShapeMatricesType::ShapeMatrices::ShapeType &&N_, double const weight_)