17 #include "libmesh/threads.h" 24 _element_dampers(_nl.getElementDamperWarehouse())
34 _element_dampers(x._element_dampers)
46 std::set<MooseVariable *> damped_vars;
49 for (
const auto & damper : edampers)
50 if (damper->variableDefinedOnElement(elem))
51 damped_vars.insert(damper->getVariable());
53 if (!damped_vars.empty())
56 for (
const auto & damper : edampers)
58 if (!damper->variableDefinedOnElement(elem))
61 Real cur_damping = damper->computeDamping();
62 damper->checkMinDamping(cur_damping);
90 console <<
"[DBG] Beginning elemental loop to compute damping on " << execute_on << std::endl;
92 console <<
"[DBG] Ordering of dampers " << std::endl;
93 console << damper_wh.activeObjectsToFormattedString() << std::endl;
void printGeneralExecutionInformation() const override
Print list of objects executed and in which order.
void join(const ComputeElemDampingThread &y)
Base class for assembly-like calculations.
const MooseObjectWarehouse< ElementDamper > & _element_dampers
virtual void prepare(const Elem *elem, const THREAD_ID tid) override
const MooseObjectWarehouse< ElementDamper > & getElementDamperWarehouse() const
void reinitIncrementAtQpsForDampers(THREAD_ID tid, const std::set< MooseVariable *> &damped_vars)
Compute the incremental change in variables at QPs for dampers.
ComputeElemDampingThread(FEProblemBase &feproblem, NonlinearSystemBase &nl)
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
FEProblemBase & _fe_problem
NonlinearSystemBase & _nl
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual ~ComputeElemDampingThread()
Nonlinear system to be solved.
bool shouldPrintExecution(const THREAD_ID tid) const
Check whether the problem should output execution orders at this time.
const std::vector< std::shared_ptr< T > > & getActiveObjects(THREAD_ID tid=0) const
Retrieve complete vector to the active all/block/boundary restricted objects for a given thread...
virtual void reinitElem(const Elem *elem, const THREAD_ID tid) override
const ConsoleStream & console() const
Return console handle.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real