Base class for assembly-like calculations. More...
#include <ComputeFVFluxThread.h>
Public Member Functions | |
ComputeFVFluxThread (FEProblemBase &fe_problem, const unsigned int nl_system_num, const std::set< TagID > &tags, bool on_displaced) | |
ComputeFVFluxThread (ComputeFVFluxThread &x, Threads::split split) | |
virtual | ~ComputeFVFluxThread () |
virtual void | onFace (const FaceInfo &fi) override |
virtual void | pre () override |
This is called once before all face-looping. More... | |
virtual void | post () override |
This is called once after all face-looping is finished. More... | |
virtual void | onBoundary (const FaceInfo &fi, BoundaryID boundary) override |
This is called once for every face that is on a boundary after onFace is called for the face. More... | |
virtual void | subdomainChanged () override |
Called every time the current subdomain changes (i.e. More... | |
virtual void | neighborSubdomainChanged () override |
Called every time the neighbor subdomain changes (i.e. More... | |
virtual void | operator() (const RangeType &range, bool bypass_threading=false) |
void | join (const ThreadedFaceLoop &y) |
virtual void | postFace (const FaceInfo &) |
This is called once for each face after all face and boundary callbacks have been finished for that face. More... | |
void | caughtMooseException (MooseException &e) |
Called if a MooseException is caught anywhere during the computation. More... | |
Protected Member Functions | |
virtual void | compute (FVFaceResidualObject &ro, const FaceInfo &fi)=0 |
call either computeResidual, computeJacobian, or computeResidualAndJacobian on the provided residual object depending on what derived class of this class is instantiated More... | |
virtual void | setup (SetupInterface &obj)=0 |
call either residualSetup or jacobianSetup depending on what derived class of this class is instantiated More... | |
virtual void | addCached ()=0 |
call either addCachedJacobian or addCachedResidual or both depending on what derived class of this class is instantiated More... | |
void | resetExecutionPrinting () |
Reset lists of blocks and boundaries for which execution printing has been done. More... | |
Protected Attributes | |
unsigned int | _num_cached = 0 |
FEProblemBase & | _fe_problem |
MooseMesh & | _mesh |
const std::set< TagID > & | _tags |
THREAD_ID | _tid |
const unsigned int | _nl_system_num |
const bool | _on_displaced |
Whether this loop is operating on the displaced mesh. More... | |
SubProblem & | _subproblem |
FEProblemBase or DisplacedProblem depending on _on_displaced . More... | |
SubdomainID | _subdomain |
The subdomain for the current element. More... | |
SubdomainID | _old_subdomain |
The subdomain for the last element. More... | |
SubdomainID | _neighbor_subdomain |
The subdomain for the current neighbor. More... | |
SubdomainID | _old_neighbor_subdomain |
The subdomain for the last neighbor. More... | |
std::set< std::pair< const SubdomainID, const SubdomainID > > | _blocks_exec_printed |
Set to keep track of blocks for which we have printed the execution pattern. More... | |
std::set< BoundaryID > | _boundaries_exec_printed |
Set to keep track of boundaries for which we have printed the execution pattern. More... | |
std::string | _error_message |
Holds caught runtime error messages. More... | |
Private Member Functions | |
void | reinitVariables (const FaceInfo &fi) |
void | finalizeContainers () |
virtual void | printGeneralExecutionInformation () const override |
Print list of object types executed and in which order. More... | |
virtual void | printBlockExecutionInformation () const override |
Print ordering of objects executed on each block. More... | |
virtual void | printBoundaryExecutionInformation (const BoundaryID bnd_id) const override |
Print ordering of objects exected on each boundary. More... | |
std::pair< SubdomainName, SubdomainName > | getBlockNames () const |
Utility to get the subdomain names from the ids. More... | |
Private Attributes | |
std::set< MooseVariableFieldBase * > | _fv_vars |
Variables. More... | |
std::set< MooseVariableFieldBase * > | _elem_sub_fv_vars |
std::set< MooseVariableFieldBase * > | _neigh_sub_fv_vars |
std::set< FVFluxKernel * > | _fv_flux_kernels |
FVFluxKernels. More... | |
std::set< FVFluxKernel * > | _elem_sub_fv_flux_kernels |
std::set< FVFluxKernel * > | _neigh_sub_fv_flux_kernels |
std::vector< std::shared_ptr< MaterialBase > > | _elem_face_mats |
Element face materials. More... | |
std::vector< std::shared_ptr< MaterialBase > > | _elem_sub_elem_face_mats |
std::vector< std::shared_ptr< MaterialBase > > | _neigh_sub_elem_face_mats |
std::vector< std::shared_ptr< MaterialBase > > | _neigh_face_mats |
std::vector< std::shared_ptr< MaterialBase > > | _elem_sub_neigh_face_mats |
std::vector< std::shared_ptr< MaterialBase > > | _neigh_sub_neigh_face_mats |
const bool | _scaling_jacobian |
const bool | _scaling_residual |
Base class for assembly-like calculations.
Definition at line 344 of file ComputeFVFluxThread.h.
ComputeFVFluxThread< RangeType, AttributeTagType >::ComputeFVFluxThread | ( | FEProblemBase & | fe_problem, |
const unsigned int | nl_system_num, | ||
const std::set< TagID > & | tags, | ||
bool | on_displaced | ||
) |
Definition at line 438 of file ComputeFVFluxThread.h.
ComputeFVFluxThread< RangeType, AttributeTagType >::ComputeFVFluxThread | ( | ComputeFVFluxThread< RangeType, AttributeTagType > & | x, |
Threads::split | split | ||
) |
Definition at line 449 of file ComputeFVFluxThread.h.
|
virtual |
Definition at line 459 of file ComputeFVFluxThread.h.
|
protectedpure virtual |
call either addCachedJacobian or addCachedResidual or both depending on what derived class of this class is instantiated
Implemented in ComputeFVFluxRJThread< RangeType >, ComputeFVFluxJacobianThread< RangeType >, and ComputeFVFluxResidualThread< RangeType >.
|
inlineinherited |
Called if a MooseException is caught anywhere during the computation.
Definition at line 114 of file ComputeFVFluxThread.h.
|
protectedpure virtual |
call either computeResidual, computeJacobian, or computeResidualAndJacobian on the provided residual object depending on what derived class of this class is instantiated
Implemented in ComputeFVFluxRJThread< RangeType >, ComputeFVFluxJacobianThread< RangeType >, and ComputeFVFluxResidualThread< RangeType >.
|
private |
Definition at line 569 of file ComputeFVFluxThread.h.
|
private |
Utility to get the subdomain names from the ids.
Definition at line 1086 of file ComputeFVFluxThread.h.
|
inherited |
Definition at line 225 of file ComputeFVFluxThread.h.
|
overridevirtual |
Called every time the neighbor subdomain changes (i.e.
the subdomain of this face's neighbor element is not the same as the subdomain of the last face's neighbor element).
Reimplemented from ThreadedFaceLoop< RangeType >.
Definition at line 685 of file ComputeFVFluxThread.h.
|
overridevirtual |
This is called once for every face that is on a boundary after onFace is called for the face.
Implements ThreadedFaceLoop< RangeType >.
Definition at line 521 of file ComputeFVFluxThread.h.
|
overridevirtual |
Implements ThreadedFaceLoop< RangeType >.
Definition at line 511 of file ComputeFVFluxThread.h.
|
virtualinherited |
Definition at line 239 of file ComputeFVFluxThread.h.
|
overridevirtual |
This is called once after all face-looping is finished.
Reimplemented from ThreadedFaceLoop< RangeType >.
Definition at line 557 of file ComputeFVFluxThread.h.
|
inlinevirtualinherited |
This is called once for each face after all face and boundary callbacks have been finished for that face.
Reimplemented in ComputeFVFluxRJThread< RangeType >, ComputeFVFluxJacobianThread< RangeType >, and ComputeFVFluxResidualThread< RangeType >.
Definition at line 92 of file ComputeFVFluxThread.h.
|
overridevirtual |
This is called once before all face-looping.
Reimplemented from ThreadedFaceLoop< RangeType >.
Definition at line 748 of file ComputeFVFluxThread.h.
|
overrideprivatevirtual |
Print ordering of objects executed on each block.
Reimplemented from ThreadedFaceLoop< RangeType >.
Definition at line 1000 of file ComputeFVFluxThread.h.
|
overrideprivatevirtual |
Print ordering of objects exected on each boundary.
Reimplemented from ThreadedFaceLoop< RangeType >.
Definition at line 1029 of file ComputeFVFluxThread.h.
|
overrideprivatevirtual |
Print list of object types executed and in which order.
Reimplemented from ThreadedFaceLoop< RangeType >.
Definition at line 984 of file ComputeFVFluxThread.h.
|
private |
Definition at line 465 of file ComputeFVFluxThread.h.
|
inlineprotectedinherited |
Reset lists of blocks and boundaries for which execution printing has been done.
Definition at line 132 of file ComputeFVFluxThread.h.
|
protectedpure virtual |
call either residualSetup or jacobianSetup depending on what derived class of this class is instantiated
Implemented in ComputeFVFluxRJThread< RangeType >, ComputeFVFluxJacobianThread< RangeType >, and ComputeFVFluxResidualThread< RangeType >.
|
overridevirtual |
Called every time the current subdomain changes (i.e.
the subdomain of this face's elem element is not the same as the subdomain of the last face's elem element).
Reimplemented from ThreadedFaceLoop< RangeType >.
Definition at line 625 of file ComputeFVFluxThread.h.
|
mutableprotectedinherited |
Set to keep track of blocks for which we have printed the execution pattern.
Definition at line 163 of file ComputeFVFluxThread.h.
Referenced by ThreadedFaceLoop< RangeType >::resetExecutionPrinting().
|
mutableprotectedinherited |
Set to keep track of boundaries for which we have printed the execution pattern.
Definition at line 166 of file ComputeFVFluxThread.h.
Referenced by ThreadedFaceLoop< RangeType >::resetExecutionPrinting().
|
private |
Element face materials.
Definition at line 424 of file ComputeFVFluxThread.h.
|
private |
Definition at line 425 of file ComputeFVFluxThread.h.
|
private |
Definition at line 420 of file ComputeFVFluxThread.h.
|
private |
Definition at line 415 of file ComputeFVFluxThread.h.
|
private |
Definition at line 430 of file ComputeFVFluxThread.h.
|
protectedinherited |
Holds caught runtime error messages.
Definition at line 169 of file ComputeFVFluxThread.h.
Referenced by ThreadedFaceLoop< RangeType >::join().
|
protectedinherited |
Definition at line 138 of file ComputeFVFluxThread.h.
Referenced by ThreadedFaceLoop< RangeType >::caughtMooseException(), ThreadedFaceLoop< RangeType >::neighborSubdomainChanged(), and ThreadedFaceLoop< RangeType >::subdomainChanged().
|
private |
FVFluxKernels.
Definition at line 419 of file ComputeFVFluxThread.h.
|
private |
Variables.
Definition at line 414 of file ComputeFVFluxThread.h.
|
protectedinherited |
Definition at line 139 of file ComputeFVFluxThread.h.
|
private |
Definition at line 429 of file ComputeFVFluxThread.h.
|
private |
Definition at line 426 of file ComputeFVFluxThread.h.
|
private |
Definition at line 421 of file ComputeFVFluxThread.h.
|
private |
Definition at line 416 of file ComputeFVFluxThread.h.
|
private |
Definition at line 431 of file ComputeFVFluxThread.h.
|
protectedinherited |
The subdomain for the current neighbor.
Definition at line 157 of file ComputeFVFluxThread.h.
Referenced by ThreadedFaceLoop< RangeType >::neighborSubdomainChanged().
|
protectedinherited |
Definition at line 142 of file ComputeFVFluxThread.h.
|
protected |
Definition at line 384 of file ComputeFVFluxThread.h.
|
protectedinherited |
The subdomain for the last neighbor.
Definition at line 160 of file ComputeFVFluxThread.h.
|
protectedinherited |
The subdomain for the last element.
Definition at line 154 of file ComputeFVFluxThread.h.
|
protectedinherited |
Whether this loop is operating on the displaced mesh.
Definition at line 145 of file ComputeFVFluxThread.h.
|
private |
Definition at line 433 of file ComputeFVFluxThread.h.
|
private |
Definition at line 434 of file ComputeFVFluxThread.h.
|
protectedinherited |
The subdomain for the current element.
Definition at line 151 of file ComputeFVFluxThread.h.
Referenced by ThreadedFaceLoop< RangeType >::subdomainChanged().
|
protectedinherited |
FEProblemBase or DisplacedProblem depending on _on_displaced
.
Definition at line 148 of file ComputeFVFluxThread.h.
Referenced by ComputeFVFluxResidualThread< RangeType >::addCached(), ComputeFVFluxJacobianThread< RangeType >::addCached(), and ComputeFVFluxRJThread< RangeType >::addCached().
|
protectedinherited |
Definition at line 140 of file ComputeFVFluxThread.h.
|
protectedinherited |
Definition at line 141 of file ComputeFVFluxThread.h.
Referenced by ComputeFVFluxResidualThread< RangeType >::addCached(), ComputeFVFluxJacobianThread< RangeType >::addCached(), ComputeFVFluxRJThread< RangeType >::addCached(), ThreadedFaceLoop< RangeType >::neighborSubdomainChanged(), and ThreadedFaceLoop< RangeType >::subdomainChanged().