26 template <
typename ShapeFunction,
typename IntegrationMethod,
int GlobalDim>
29 ShapeFunction, IntegrationMethod, GlobalDim>
32 ShapeFunction, IntegrationMethod, GlobalDim>;
37 std::size_t
const local_matrix_size,
38 bool is_axially_symmetric,
39 unsigned const integration_order,
41 :
Base(e, is_axially_symmetric, integration_order),
43 _local_K(local_matrix_size, local_matrix_size),
51 double const t, std::vector<GlobalVector*>
const& ,
58 unsigned const n_integration_points =
63 .template topRows<ShapeFunction::MeshElement::n_all_nodes>();
66 .template topRows<ShapeFunction::MeshElement::n_all_nodes>();
68 for (
unsigned ip = 0; ip < n_integration_points; ++ip)
71 auto const& N = ip_data.N;
72 auto const& w = ip_data.weight;
81 double integral_measure = 1.0;
91 N *
alpha.dot(N) * w * integral_measure;
93 N *
alpha.dot(N) * u_0.dot(N) * w * integral_measure;
int add(IndexType row, IndexType col, double val)
Global vector based on Eigen vector.
void add(IndexType rowId, double v)
add entry
virtual std::size_t getID() const final
Returns the ID of the element.
MeshLib::Element const & _element
IntegrationMethod const _integration_method
typename ShapeMatricesType::NodalMatrixType NodalMatrixType
typename ShapeMatricesType::NodalVectorType NodalVectorType
std::vector< NAndWeight, Eigen::aligned_allocator< NAndWeight > > const _ns_and_weights
void assemble(std::size_t const id, NumLib::LocalToGlobalIndexMap const &dof_table_boundary, double const t, std::vector< GlobalVector * > const &, int const, GlobalMatrix &K, GlobalVector &b, GlobalMatrix *) override
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
RobinBoundaryConditionLocalAssembler(MeshLib::Element const &e, std::size_t const local_matrix_size, bool is_axially_symmetric, unsigned const integration_order, RobinBoundaryConditionData const &data)
Base::NodalMatrixType _local_K
RobinBoundaryConditionData const & _data
Base::NodalVectorType _local_rhs
MathLib::TemplatePoint< double, 3 > Point3d
std::vector< GlobalIndexType > getIndices(std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table)
std::array< double, 3 > interpolateCoordinates(MeshLib::Element const &e, typename ShapeMatricesType::ShapeMatrices::ShapeType const &N)
virtual Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > getNodalValuesOnElement(MeshLib::Element const &element, double const t) const
Returns a matrix of values for all nodes of the given element.
ParameterLib::Parameter< double > const *const integral_measure
ParameterLib::Parameter< double > const & alpha
ParameterLib::Parameter< double > const & u_0