54 int const variable_id,
int const component_id,
55 MeshLib::Mesh const& bc_mesh,
unsigned const integration_order,
56 MeshLib::Mesh const& bulk_mesh,
double const constraint_threshold,
58 std::function<Eigen::Vector3d(std::size_t
const,
60 std::vector<GlobalVector*>
const&)>
63 void preTimestep(
double const t, std::vector<GlobalVector*>
const& x,
64 int const process_id)
override;
90 std::vector<std::pair<std::size_t, unsigned>>
_bulk_ids;
96 std::vector<std::unique_ptr<
117 std::vector<GlobalVector*>
const&)>
123std::unique_ptr<ConstraintDirichletBoundaryCondition>
127 unsigned const integration_order,
int const component_id,
128 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
129 Process const& constraining_process);
Global vector based on Eigen vector.
ParameterLib::Parameter< double > const & _parameter
void getEssentialBCValues(const double t, const GlobalVector &x, NumLib::IndexValueVector< GlobalIndexType > &bc_values) const override
Writes the values of essential BCs to bc_values.
double const _constraint_threshold
std::function< Eigen::Vector3d(std::size_t const, MathLib::Point3d const &, double const, std::vector< GlobalVector * > const &)> _getFlux
The function _getFlux calculates the flux through the boundary element.
std::vector< std::unique_ptr< ConstraintDirichletBoundaryConditionLocalAssemblerInterface > > _local_assemblers
Local assemblers for each boundary element.
std::unique_ptr< NumLib::LocalToGlobalIndexMap > _dof_table_boundary
void preTimestep(double const t, std::vector< GlobalVector * > const &x, int const process_id) override
MeshLib::Mesh const & _bc_mesh
MeshLib::Mesh const & _bulk_mesh
std::vector< std::pair< std::size_t, unsigned > > _bulk_ids
std::vector< double > _flux_values
Stores the results of the flux computations per boundary element.
ConstraintDirichletBoundaryCondition(ParameterLib::Parameter< double > const ¶meter, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, int const variable_id, int const component_id, MeshLib::Mesh const &bc_mesh, unsigned const integration_order, MeshLib::Mesh const &bulk_mesh, double const constraint_threshold, bool const lower, std::function< Eigen::Vector3d(std::size_t const, MathLib::Point3d const &, double const, std::vector< GlobalVector * > const &)> getFlux)
unsigned const _integration_order
Integration order for integration over the lower-dimensional elements.
std::unique_ptr< ConstraintDirichletBoundaryCondition > createConstraintDirichletBoundaryCondition(BaseLib::ConfigTree const &config, MeshLib::Mesh const &bc_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, int const variable_id, unsigned const integration_order, int const component_id, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, Process const &constraining_process)