https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MortarUserObjectThread.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 "MooseTypes.h"
14
15#include "libmesh/libmesh_common.h"
16
18class SubProblem;
19class FEProblemBase;
21class Assembly;
22
24{
25public:
26 MortarUserObjectThread(std::vector<MortarUserObject *> & mortar_user_objects,
27 const AutomaticMortarGeneration & amg,
28 SubProblem & subproblem,
29 FEProblemBase & fe_problem,
30 bool displaced,
31 Assembly & assembly);
32
39 ~MortarUserObjectThread() override;
40
44 void operator()();
45
46 void mortarSetup(const AutomaticMortarGeneration & amg) override;
47
48private:
50 std::vector<MortarUserObject *> & _mortar_user_objects;
51
54
57
62
64 const bool _displaced;
65
68};
Keeps track of stuff related to assembling.
Definition Assembly.h:101
This class is a container/interface for the objects involved in automatic generation of mortar spaces...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Interface for objects that need to be notified when the mortar segment mesh for an interface they con...
const AutomaticMortarGeneration & _amg
Automatic mortar generation (amg) object providing the mortar mesh to loop over.
~MortarUserObjectThread() override
Unlike MortarExecutorInterface's other implementers, this object is stack-constructed fresh for a sin...
SubProblem & _subproblem
A reference to the SubProblem object for reiniting lower-dimensional element quantities.
Assembly & _assembly
A reference to the assembly object.
FEProblemBase & _fe_problem
A reference to the FEProblemBase object for reiniting higher-dimensional element and neighbor element...
std::vector< MortarUserObject * > & _mortar_user_objects
The mortar user objects to loop over when on each mortar segment element.
const bool _displaced
Whether the mortar user objects are operating on the displaced mesh.
void operator()()
Loops over the mortar segment mesh and executes the user objects.
void mortarSetup(const AutomaticMortarGeneration &amg) override
Called by the MortarInterfaceWarehouse whenever amg's mortar segment mesh coverage has changed,...
Base class for creating new nodally-based mortar user objects.
Generic class for solving transient nonlinear problems.
Definition SubProblem.h:79