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  source_term_mesh.isAxiallySymmetric(), integration_order,
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, 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(char const *fmt, Args const &... args)
Definition: Logging.h:27
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: