www.mooseframework.org
Public Member Functions | List of all members
CohesiveZoneMasterAction Class Reference

#include <CohesiveZoneMasterAction.h>

Inheritance diagram for CohesiveZoneMasterAction:
[legend]

Public Member Functions

 CohesiveZoneMasterAction (const InputParameters &params)
 
void act () override
 

Detailed Description

Definition at line 19 of file CohesiveZoneMasterAction.h.

Constructor & Destructor Documentation

◆ CohesiveZoneMasterAction()

CohesiveZoneMasterAction::CohesiveZoneMasterAction ( const InputParameters &  params)

Definition at line 35 of file CohesiveZoneMasterAction.C.

35  : Action(params)
36 {
37 }

Member Function Documentation

◆ act()

void CohesiveZoneMasterAction::act ( )
override

Definition at line 40 of file CohesiveZoneMasterAction.C.

41 {
42  std::string kernel_name = "CZMInterfaceKernel";
43 
44  std::vector<VariableName> displacements;
45  if (isParamValid("displacements"))
46  displacements = getParam<std::vector<VariableName>>("displacements");
47 
48  if (_current_task == "add_interface_kernel")
49  {
50  for (unsigned int i = 0; i < displacements.size(); ++i)
51  {
52  // Create unique kernel name for each of the components
53  std::string unique_kernel_name = kernel_name + "_" + _name + "_" + Moose::stringify(i);
54 
55  InputParameters paramsk = _factory.getValidParams(kernel_name);
56 
57  paramsk.set<bool>("use_displaced_mesh") = false;
58  paramsk.set<unsigned int>("component") = i;
59  paramsk.set<NonlinearVariableName>("variable") = displacements[i];
60  paramsk.set<std::vector<VariableName>>("neighbor_var") = {displacements[i]};
61  paramsk.set<std::vector<VariableName>>("displacements") = displacements;
62  paramsk.set<std::vector<BoundaryName>>("boundary") =
63  getParam<std::vector<BoundaryName>>("boundary");
64 
65  _problem->addInterfaceKernel(kernel_name, unique_kernel_name, paramsk);
66  }
67  }
68 }

The documentation for this class was generated from the following files: