www.mooseframework.org
MultiAppFXTransfer.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "MultiAppTransfer.h"
13 
15 
16 class MultiAppFXTransfer;
17 
18 template <>
19 InputParameters validParams<MultiAppFXTransfer>();
20 
24 class MultiAppFXTransfer : public MultiAppTransfer
25 {
26 public:
27  MultiAppFXTransfer(const InputParameters & parameters);
28 
29  // Overrides from MultiAppTransfer
30  virtual void execute() override;
31  virtual void initialSetup() override;
32 
33 protected:
35  const std::string _this_app_object_name;
36 
38  const std::string _multi_app_object_name;
39 
40 private:
45  const std::string & object_name,
46  THREAD_ID thread);
47 
52  const std::string & object_name,
53  THREAD_ID thread);
54 
60  FEProblemBase & base, const std::string & object_name, THREAD_ID thread);
61 
62 protected:
67  virtual GetProblemObject scanProblemBaseForObject(FEProblemBase & base,
68  const std::string & object_name,
69  const std::string & app_name);
70 
73 
76 };
77 
MultiAppFXTransfer::getMutableCoefficientsUserOject
MutableCoefficientsInterface & getMutableCoefficientsUserOject(FEProblemBase &base, const std::string &object_name, THREAD_ID thread)
Gets a MutableCoefficientsInterface-based UserObject, intended for use via function pointer.
Definition: MultiAppFXTransfer.C:147
MultiAppFXTransfer::GetProblemObject
MutableCoefficientsInterface &(MultiAppFXTransfer::* GetProblemObject)(FEProblemBase &base, const std::string &object_name, THREAD_ID thread)
Function pointer typedef for functions used to find, convert, and return the appropriate MutableCoeff...
Definition: MultiAppFXTransfer.h:59
MultiAppFXTransfer::execute
virtual void execute() override
Definition: MultiAppFXTransfer.C:157
MultiAppFXTransfer::getSubAppObject
GetProblemObject getSubAppObject
Function pointer for grabbing the SubApp object.
Definition: MultiAppFXTransfer.h:75
MultiAppFXTransfer::_multi_app_object_name
const std::string _multi_app_object_name
Name of the MutableCoefficientsInterface-derived object in the MultiApp.
Definition: MultiAppFXTransfer.h:38
MultiAppFXTransfer
Transfers mutable coefficient arrays between supported object types.
Definition: MultiAppFXTransfer.h:24
MultiAppFXTransfer::initialSetup
virtual void initialSetup() override
Definition: MultiAppFXTransfer.C:52
MultiAppFXTransfer::scanProblemBaseForObject
virtual GetProblemObject scanProblemBaseForObject(FEProblemBase &base, const std::string &object_name, const std::string &app_name)
Searches an FEProblemBase for a MutableCoefficientsInterface-based object and returns a function poin...
Definition: MultiAppFXTransfer.C:82
MutableCoefficientsInterface.h
validParams< MultiAppFXTransfer >
InputParameters validParams< MultiAppFXTransfer >()
Definition: MultiAppFXTransfer.C:21
MultiAppFXTransfer::getMutableCoefficientsFunction
MutableCoefficientsInterface & getMutableCoefficientsFunction(FEProblemBase &base, const std::string &object_name, THREAD_ID thread)
Gets a MutableCoefficientsInterface-based Function, intented for use via function pointer.
Definition: MultiAppFXTransfer.C:139
MutableCoefficientsInterface
This class is designed to provide a uniform interface for any class that uses an array of coefficient...
Definition: MutableCoefficientsInterface.h:30
MultiAppFXTransfer::getMultiAppObject
GetProblemObject getMultiAppObject
Function pointer for grabbing the MultiApp object.
Definition: MultiAppFXTransfer.h:72
MultiAppFXTransfer::MultiAppFXTransfer
MultiAppFXTransfer(const InputParameters &parameters)
Definition: MultiAppFXTransfer.C:40
MultiAppFXTransfer::_this_app_object_name
const std::string _this_app_object_name
Name of the MutableCoefficientsInterface-derived object in the creating app.
Definition: MultiAppFXTransfer.h:35