https://mooseframework.inl.gov
include
vectorpostprocessors
ExtraIDIntegralVectorPostprocessor.h
Go to the documentation of this file.
1
//* This file is part of the MOOSE framework
2
//* https://mooseframework.inl.gov
3
//*
4
//* All rights reserved, see COPYRIGHT for full restrictions
5
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6
//*
7
//* Licensed under LGPL 2.1, please see LICENSE for details
8
//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10
#pragma once
11
12
#include "
ElementVariableVectorPostprocessor.h
"
13
18
class
ExtraIDIntegralVectorPostprocessor
:
public
ElementVariableVectorPostprocessor
19
{
20
public
:
21
static
InputParameters
validParams
();
22
ExtraIDIntegralVectorPostprocessor
(
const
InputParameters
&
parameters
);
23
24
virtual
void
initialize
()
override
;
25
virtual
void
execute
()
override
;
26
virtual
void
finalize
()
override
;
27
virtual
void
threadJoin
(
const
UserObject
& uo)
override
;
29
const
std::vector<VectorPostprocessorValue *> &
getUniqueExtraIds
()
const
{
return
_extra_ids
; };
31
const
std::vector<VectorPostprocessorValue *> &
getIntegrals
()
const
{
return
_integrals
; };
32
33
protected
:
35
const
bool
_average
;
37
const
unsigned
int
_nvar
;
39
const
unsigned
int
_nprop
;
41
const
std::vector<MaterialPropertyName>
_prop_names
;
43
const
std::vector<ExtraElementIDName>
_extra_id
;
45
const
unsigned
int
_n_extra_id
;
46
// Map of element ids to parsed vpp ids
47
std::unordered_map<dof_id_type, dof_id_type>
_unique_vpp_ids
;
49
std::vector<VectorPostprocessorValue *>
_extra_ids
;
51
std::vector<const MooseVariable *>
_vars
;
53
std::vector<const VariableValue *>
_var_values
;
55
std::vector<const MaterialProperty<Real> *>
_props
;
57
std::vector<VectorPostprocessorValue *>
_integrals
;
59
std::vector<Real>
_volumes
;
60
};
ExtraIDIntegralVectorPostprocessor::_nprop
const unsigned int _nprop
Number of material properties to be integrated.
Definition:
ExtraIDIntegralVectorPostprocessor.h:39
ExtraIDIntegralVectorPostprocessor::execute
virtual void execute() override
Execute method.
Definition:
ExtraIDIntegralVectorPostprocessor.C:106
ExtraIDIntegralVectorPostprocessor::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition:
ExtraIDIntegralVectorPostprocessor.C:96
ExtraIDIntegralVectorPostprocessor::_integrals
std::vector< VectorPostprocessorValue * > _integrals
Vectors holding integrals over extra IDs.
Definition:
ExtraIDIntegralVectorPostprocessor.h:57
ExtraIDIntegralVectorPostprocessor::_vars
std::vector< const MooseVariable * > _vars
Coupled MOOSE variables to be integrated.
Definition:
ExtraIDIntegralVectorPostprocessor.h:51
ExtraIDIntegralVectorPostprocessor::_n_extra_id
const unsigned int _n_extra_id
Number of extra IDs in use.
Definition:
ExtraIDIntegralVectorPostprocessor.h:45
ExtraIDIntegralVectorPostprocessor::_var_values
std::vector< const VariableValue * > _var_values
Quadrature point values of coupled MOOSE variables.
Definition:
ExtraIDIntegralVectorPostprocessor.h:53
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Definition:
InputParameters.h:66
ExtraIDIntegralVectorPostprocessor::_extra_ids
std::vector< VectorPostprocessorValue * > _extra_ids
Vectors holding extra IDs.
Definition:
ExtraIDIntegralVectorPostprocessor.h:49
ExtraIDIntegralVectorPostprocessor::getUniqueExtraIds
const std::vector< VectorPostprocessorValue * > & getUniqueExtraIds() const
Return extra ID list.
Definition:
ExtraIDIntegralVectorPostprocessor.h:29
ExtraIDIntegralVectorPostprocessor::_prop_names
const std::vector< MaterialPropertyName > _prop_names
Name of material properties.
Definition:
ExtraIDIntegralVectorPostprocessor.h:41
ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor
ExtraIDIntegralVectorPostprocessor(const InputParameters ¶meters)
Definition:
ExtraIDIntegralVectorPostprocessor.C:33
ExtraIDIntegralVectorPostprocessor::threadJoin
virtual void threadJoin(const UserObject &uo) override
Must override.
Definition:
ExtraIDIntegralVectorPostprocessor.C:143
ElementVariableVectorPostprocessor
Base class VectorPostprocessors operating on elemental variables.
Definition:
ElementVariableVectorPostprocessor.h:17
ExtraIDIntegralVectorPostprocessor::validParams
static InputParameters validParams()
Definition:
ExtraIDIntegralVectorPostprocessor.C:20
ExtraIDIntegralVectorPostprocessor::_nvar
const unsigned int _nvar
Number of variables to be integrated.
Definition:
ExtraIDIntegralVectorPostprocessor.h:37
ExtraIDIntegralVectorPostprocessor::_average
const bool _average
whether or not to compute volume average
Definition:
ExtraIDIntegralVectorPostprocessor.h:31
ExtraIDIntegralVectorPostprocessor::_extra_id
const std::vector< ExtraElementIDName > _extra_id
Extra IDs in use.
Definition:
ExtraIDIntegralVectorPostprocessor.h:43
ExtraIDIntegralVectorPostprocessor::_unique_vpp_ids
std::unordered_map< dof_id_type, dof_id_type > _unique_vpp_ids
Definition:
ExtraIDIntegralVectorPostprocessor.h:47
ExtraIDIntegralVectorPostprocessor::getIntegrals
const std::vector< VectorPostprocessorValue * > & getIntegrals() const
Return Integral values.
Definition:
ExtraIDIntegralVectorPostprocessor.h:31
ExtraIDIntegralVectorPostprocessor::_volumes
std::vector< Real > _volumes
Vector holding the volume of extra IDs.
Definition:
ExtraIDIntegralVectorPostprocessor.h:59
ExtraIDIntegralVectorPostprocessor
This ExtraIDIntegralVectorPostprocessor source code is to integrate variables based on parsed extra I...
Definition:
ExtraIDIntegralVectorPostprocessor.h:18
ExtraIDIntegralVectorPostprocessor::_props
std::vector< const MaterialProperty< Real > * > _props
Material properties to be integrated.
Definition:
ExtraIDIntegralVectorPostprocessor.h:55
MooseBaseParameterInterface::parameters
const InputParameters & parameters() const
Get the parameters of the object.
Definition:
MooseBaseParameterInterface.h:62
ElementVariableVectorPostprocessor.h
ExtraIDIntegralVectorPostprocessor::finalize
virtual void finalize() override
Finalize.
Definition:
ExtraIDIntegralVectorPostprocessor.C:127
UserObject
Base class for user-specific data.
Definition:
UserObject.h:40
Generated on Wed Jul 16 2025 13:56:08 for https://mooseframework.inl.gov by
1.8.14