www.mooseframework.org
MultiAppCopyTransfer.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 
13 
14 namespace libMesh
15 {
16 class DofObject;
17 }
18 
24 {
25 public:
27 
29 
33  virtual void execute() override;
34 
35 protected:
36  virtual std::vector<VariableName> getFromVarNames() const override { return _from_var_names; }
37  virtual std::vector<AuxVariableName> getToVarNames() const override { return _to_var_names; }
38 
39  // These attributes are used if a derived class supports transferring multiple variables
41  const std::vector<VariableName> _from_var_names;
43  const std::vector<AuxVariableName> _to_var_names;
44 
45  // These attributes are used if a derived class only supports one variable
47  VariableName _from_var_name;
49  AuxVariableName _to_var_name;
50 
51 private:
52  virtual void checkSiblingsTransferSupported() const override;
53 };
const std::vector< VariableName > _from_var_names
Name of variables transferring from.
Copy the fields directly from one application to another, based on degree-of-freedom indexing...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Copy variables directly from one application to another, based on degree-of-freedom indexing TODO: Re...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
virtual std::vector< AuxVariableName > getToVarNames() const override
Virtual function defining variables to transfer to.
AuxVariableName _to_var_name
Name of variables transferring to.
VariableName _from_var_name
Name of variables transferring from.
static InputParameters validParams()
const std::vector< AuxVariableName > _to_var_names
Name of variables transferring to.
virtual std::vector< VariableName > getFromVarNames() const override
Virtual function defining variables to be transferred.
MultiAppCopyTransfer(const InputParameters &parameters)
virtual void execute() override
Performs the transfer of a variable (Nonlinear or Auxiliary) to/from the Multiapp.
virtual void checkSiblingsTransferSupported() const override
Whether the transfer supports siblings transfer.
const InputParameters & parameters() const
Get the parameters of the object.