OGS
ProcessLib::VolumetricSourceTerm Class Referencefinal

Detailed Description

Definition at line 21 of file VolumetricSourceTerm.h.

#include <VolumetricSourceTerm.h>

Inheritance diagram for ProcessLib::VolumetricSourceTerm:
[legend]
Collaboration diagram for ProcessLib::VolumetricSourceTerm:
[legend]

Public Member Functions

 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
 
- Public Member Functions inherited from ProcessLib::SourceTerm
 SourceTerm (std::unique_ptr< NumLib::LocalToGlobalIndexMap > source_term_dof_table)
 
virtual ~SourceTerm ()=default
 

Private Attributes

ParameterLib::Parameter< double > const & _source_term_parameter
 
std::vector< std::unique_ptr< VolumetricSourceTermLocalAssemblerInterface > > _local_assemblers
 

Additional Inherited Members

- Protected Attributes inherited from ProcessLib::SourceTerm
std::unique_ptr< NumLib::LocalToGlobalIndexMap > const _source_term_dof_table
 

Constructor & Destructor Documentation

◆ VolumetricSourceTerm()

ProcessLib::VolumetricSourceTerm::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 )

Definition at line 17 of file VolumetricSourceTerm.cpp.

22 : SourceTerm(std::move(source_term_dof_table)),
23 _source_term_parameter(source_term_parameter)
24{
26 VolumetricSourceTermLocalAssembler>(
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}
SourceTerm(std::unique_ptr< NumLib::LocalToGlobalIndexMap > source_term_dof_table)
Definition SourceTerm.h:23
std::unique_ptr< NumLib::LocalToGlobalIndexMap > const _source_term_dof_table
Definition SourceTerm.h:35
ParameterLib::Parameter< double > const & _source_term_parameter
std::vector< std::unique_ptr< VolumetricSourceTermLocalAssemblerInterface > > _local_assemblers
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)

References _local_assemblers, ProcessLib::SourceTerm::_source_term_dof_table, _source_term_parameter, ProcessLib::BoundaryConditionAndSourceTerm::createLocalAssemblers(), MeshLib::Mesh::getElements(), and MeshLib::Mesh::isAxiallySymmetric().

Member Function Documentation

◆ integrate()

void ProcessLib::VolumetricSourceTerm::integrate ( const double t,
GlobalVector const & x,
GlobalVector & b,
GlobalMatrix * jac ) const
overridevirtual

Implements ProcessLib::SourceTerm.

Definition at line 33 of file VolumetricSourceTerm.cpp.

36{
37 DBUG("Assemble VolumetricSourceTerm.");
38
39 // Call global assembler for each local assembly item.
43}
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:30
virtual void integrate(std::size_t const id, NumLib::LocalToGlobalIndexMap const &source_term_dof_table, double const t, GlobalVector &b)=0
static void executeMemberOnDereferenced(Method method, Container const &container, Args &&... args)

References _local_assemblers, ProcessLib::SourceTerm::_source_term_dof_table, DBUG(), NumLib::SerialExecutor::executeMemberOnDereferenced(), and ProcessLib::VolumetricSourceTermLocalAssemblerInterface::integrate().

Member Data Documentation

◆ _local_assemblers

std::vector<std::unique_ptr<VolumetricSourceTermLocalAssemblerInterface> > ProcessLib::VolumetricSourceTerm::_local_assemblers
private

Definition at line 37 of file VolumetricSourceTerm.h.

Referenced by VolumetricSourceTerm(), and integrate().

◆ _source_term_parameter

ParameterLib::Parameter<double> const& ProcessLib::VolumetricSourceTerm::_source_term_parameter
private

Definition at line 35 of file VolumetricSourceTerm.h.

Referenced by VolumetricSourceTerm().


The documentation for this class was generated from the following files: