#include <ComputeNodalKernelBcsThread.h>
◆ ComputeNodalKernelBcsThread() [1/2]
Definition at line 20 of file ComputeNodalKernelBcsThread.C.
30{
31}
FEProblemBase & _fe_problem
const std::set< TagID > & _tags
AuxiliarySystem & _aux_sys
MooseObjectTagWarehouse< NodalKernelBase > & _nodal_kernels
AuxiliarySystem & getAuxiliarySystem()
◆ ComputeNodalKernelBcsThread() [2/2]
◆ caughtMooseException()
Called if a MooseException is caught anywhere during the computation.
The single input parameter taken is a MooseException object.
Definition at line 56 of file ThreadedNodeLoop.h.
57 {
59
60 std::string what(e.
what());
62 };
static Threads::spin_mutex threaded_node_mutex
virtual void setException(const std::string &message)
Set an exception, which is stored at this point by toggling a member variable in this class,...
virtual const char * what() const
Get out the error message.
FEProblemBase & _fe_problem
◆ join()
◆ keepGoing()
Whether or not the loop should continue.
- Returns
- true to keep going, false to stop.
Definition at line 69 of file ThreadedNodeLoop.h.
virtual bool hasException()
Whether or not an exception has occurred.
◆ onNode() [1/2]
◆ onNode() [2/2]
Definition at line 59 of file ComputeNodalKernelBcsThread.C.
60{
61 const BndNode * bnode = *node_it;
62
64
65
67 var->prepareAux();
68
70 {
71 Node * node = bnode->
_node;
73 {
74 std::set<TagID> needed_fe_var_vector_tags;
76 boundary_id, needed_fe_var_vector_tags,
_tid);
78
81 for (const auto & nodal_kernel : objects)
82 {
84 nodal_kernel->computeResidual();
85 }
86
88 }
89 }
90
92 {
95 }
96}
boundary_id_type BoundaryID
MooseObjectWarehouse< NodalKernelBase > * _nkernel_warehouse
virtual void addCachedResidual(const THREAD_ID tid) override
virtual void reinitNodeFace(const Node *node, BoundaryID bnd_id, const THREAD_ID tid) override
virtual void setActiveFEVariableCoupleableVectorTags(std::set< TagID > &vtags, const THREAD_ID tid) override
void updateBoundaryFEVariableCoupledVectorTagDependency(BoundaryID id, std::set< TagID > &needed_fe_var_vector_tags, THREAD_ID tid=0) const
const std::map< BoundaryID, std::vector< std::shared_ptr< T > > > & getActiveBoundaryObjects(THREAD_ID tid=0) const
bool hasActiveBoundaryObjects(THREAD_ID tid=0) const
processor_id_type processor_id() const
BoundaryID _bnd_id
boundary id for the node
libMesh::Node * _node
pointer to the node
static const std::set< SubdomainID > undefined_subdomain_connection
A static member that can be used when the connection of a node to subdomains is unknown.
◆ operator()()
Definition at line 28 of file ThreadedNodeLoop.h.
95{
96 try
97 {
100
103
104 for (IteratorType nd = range.
begin(); nd != range.
end(); ++nd)
105 {
107 break;
108
110
112 }
113
115 }
117 {
119 }
120}
Provides a way for users to bail out of the current solve.
virtual void printGeneralExecutionInformation() const
Print information about the loop, mostly order of execution of objects.
virtual void postNode(ConstBndNodeRange::const_iterator &node_it)
Called after the node assembly is done (including surface assembling)
virtual void onNode(ConstBndNodeRange::const_iterator &node_it)
Called for each node.
virtual bool keepGoing()
Whether or not the loop should continue.
virtual void pre()
Called before the node range loop.
virtual void post()
Called after the node range loop.
virtual void caughtMooseException(MooseException &e)
Called if a MooseException is caught anywhere during the computation.
const_iterator begin() const
const_iterator end() const
◆ post()
◆ postNode()
Called after the node assembly is done (including surface assembling)
- Parameters
-
Definition at line 50 of file ThreadedNodeLoop.h.
◆ pre()
| void ComputeNodalKernelBcsThread::pre |
( |
| ) |
|
|
overridevirtual |
Called before the node range loop.
Reimplemented from ThreadedNodeLoop< ConstBndNodeRange, ConstBndNodeRange::const_iterator >.
Definition at line 46 of file ComputeNodalKernelBcsThread.C.
47{
49
52 else if (
_tags.size() == 1)
54 else
56}
MooseObjectWarehouse< T > & getVectorTagObjectWarehouse(TagID tag_id, THREAD_ID tid)
Retrieve a moose object warehouse in which every moose object has the given vector tag.
MooseObjectWarehouse< T > & getVectorTagsObjectWarehouse(const std::set< TagID > &tags, THREAD_ID tid)
Retrieve a moose object warehouse in which every moose object at least has one of the given vector ta...
virtual unsigned int numVectorTags(const Moose::VectorTagType type=Moose::VECTOR_TAG_ANY) const
The total number of tags, which can be limited to the tag type.
◆ printGeneralExecutionInformation()
| void ComputeNodalKernelBcsThread::printGeneralExecutionInformation |
( |
| ) |
const |
|
overrideprotectedvirtual |
Print information about the loop, mostly order of execution of objects.
Reimplemented from ThreadedNodeLoop< ConstBndNodeRange, ConstBndNodeRange::const_iterator >.
Definition at line 104 of file ComputeNodalKernelBcsThread.C.
105{
107 return;
108
111 console << "[DBG] Executing nodal kernels contribution to residual on nodes on " << execute_on
112 << std::endl;
113 console << "[DBG] Ordering of the nodal kernels on the nodes they are defined on:" << std::endl;
115}
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
bool shouldPrintExecution(const THREAD_ID tid) const
Check whether the problem should output execution orders at this time.
std::string activeObjectsToFormattedString(THREAD_ID tid=0, const std::string &prefix="[DBG]") const
Output the active content of the warehouse to a string, meant to be output to the console.
bool hasActiveObjects(THREAD_ID tid=0) const
const ConsoleStream & console() const
Return console handle.
◆ _aux_sys
◆ _fe_problem
◆ _nkernel_warehouse
◆ _nodal_kernels
◆ _num_cached
| unsigned int ComputeNodalKernelBcsThread::_num_cached |
|
protected |
◆ _tags
| const std::set<TagID>& ComputeNodalKernelBcsThread::_tags |
|
protected |
◆ _tid
The documentation for this class was generated from the following files: