OGS
VolumetricSourceTerm.cpp
Go to the documentation of this file.
1 
11 #include "VolumetricSourceTerm.h"
12 
14 
15 namespace ProcessLib
16 {
18  unsigned const bulk_mesh_dimension, MeshLib::Mesh const& source_term_mesh,
19  std::unique_ptr<NumLib::LocalToGlobalIndexMap> source_term_dof_table,
20  unsigned const integration_order, unsigned const shapefunction_order,
21  ParameterLib::Parameter<double> const& source_term_parameter)
22  : SourceTerm(std::move(source_term_dof_table)),
23  _source_term_parameter(source_term_parameter)
24 {
27  bulk_mesh_dimension, source_term_mesh.getElements(),
28  *_source_term_dof_table, shapefunction_order, _local_assemblers,
29  NumLib::IntegrationOrder{integration_order},
30  source_term_mesh.isAxiallySymmetric(), _source_term_parameter);
31 }
32 
33 void VolumetricSourceTerm::integrate(const double t, GlobalVector const& /*x*/,
34  GlobalVector& b,
35  GlobalMatrix* /*jac*/) const
36 {
37  DBUG("Assemble VolumetricSourceTerm.");
38 
39  // Call global assembler for each local assembly item.
43 }
44 
45 } // namespace ProcessLib
void DBUG(char const *fmt, Args const &... args)
Definition: Logging.h:29
Global vector based on Eigen vector.
Definition: EigenVector.h:28
bool isAxiallySymmetric() const
Definition: Mesh.h:131
std::vector< Element * > const & getElements() const
Get the element-vector for the mesh.
Definition: Mesh.h:103
std::unique_ptr< NumLib::LocalToGlobalIndexMap > const _source_term_dof_table
Definition: SourceTerm.h:35
virtual void integrate(std::size_t const id, NumLib::LocalToGlobalIndexMap const &source_term_dof_table, double const t, GlobalVector &b)=0
ParameterLib::Parameter< double > const & _source_term_parameter
VolumetricSourceTerm(unsigned const bulk_mesh_dimension, MeshLib::Mesh const &source_term_mesh, std::unique_ptr< NumLib::LocalToGlobalIndexMap > source_term_dof_table, unsigned const integration_order, unsigned const shapefunction_order, ParameterLib::Parameter< double > const &source_term_parameter)
void integrate(const double t, GlobalVector const &x, GlobalVector &b, GlobalMatrix *jac) const override
std::vector< std::unique_ptr< VolumetricSourceTermLocalAssemblerInterface > > _local_assemblers
static const double t
void createLocalAssemblers(const unsigned dimension, std::vector< MeshLib::Element * > const &mesh_elements, NumLib::LocalToGlobalIndexMap const &dof_table, const unsigned shapefunction_order, std::vector< std::unique_ptr< LocalAssemblerInterface >> &local_assemblers, NumLib::IntegrationOrder const integration_order, ExtraCtorArgs &&... extra_ctor_args)
static void executeMemberOnDereferenced(Method method, Container const &container, Args &&... args)