28 std::vector<GlobalVector*>
const& x,
int const process_id,
32 template <
typename ShapeFunction,
typename IntegrationMethod,
int GlobalDim>
45 :
N(std::move(N_)),
weight(weight_)
53 static std::vector<NAndWeight, Eigen::aligned_allocator<NAndWeight>>
55 unsigned const integration_order)
57 IntegrationMethod
const integration_method(integration_order);
58 std::vector<NAndWeight, Eigen::aligned_allocator<NAndWeight>>
60 ns_and_weights.reserve(integration_method.getNumberOfPoints());
63 GlobalDim>(e, is_axially_symmetric,
65 for (
unsigned ip = 0; ip < sms.size(); ++ip)
69 sm.detJ * sm.integralMeasure *
70 integration_method.getWeightedPoint(ip).getWeight();
72 ns_and_weights.emplace_back(std::move(sm.N), w);
75 return ns_and_weights;
81 unsigned const integration_order)
91 std::vector<NAndWeight, Eigen::aligned_allocator<NAndWeight>>
const
Definition of the Element class.
Global vector based on Eigen vector.
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
virtual ~GenericNaturalBoundaryConditionLocalAssemblerInterface()=default
MeshLib::Element const & _element
IntegrationMethod const _integration_method
static std::vector< NAndWeight, Eigen::aligned_allocator< NAndWeight > > initNsAndWeights(MeshLib::Element const &e, bool is_axially_symmetric, unsigned const integration_order)
typename ShapeMatricesType::NodalMatrixType NodalMatrixType
typename ShapeMatricesType::NodalVectorType NodalVectorType
ShapeMatrixPolicyType< ShapeFunction, GlobalDim > ShapeMatricesType
std::vector< NAndWeight, Eigen::aligned_allocator< NAndWeight > > const _ns_and_weights
GenericNaturalBoundaryConditionLocalAssembler(MeshLib::Element const &e, bool is_axially_symmetric, unsigned const integration_order)
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
NAndWeight(typename ShapeMatricesType::ShapeMatrices::ShapeType &&N_, double const weight_)
ShapeMatricesType::ShapeMatrices::ShapeType const N