https://mooseframework.inl.gov
MultiAppDofCopyTransfer.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 "MultiAppFieldTransfer.h"
13 
14 namespace libMesh
15 {
16 class DofObject;
17 }
18 
23 {
24 public:
26 
28 
29  void initialSetup() override;
30 
31 protected:
35  void transfer(FEProblemBase & to_problem, FEProblemBase & from_problem);
36 
40  void transferDofObject(libMesh::DofObject * to_object,
41  libMesh::DofObject * from_object,
42  MooseVariableFieldBase & to_var,
43  MooseVariableFieldBase & from_var,
44  NumericVector<Number> & to_solution,
45  NumericVector<Number> & from_solution);
46 
50  std::set<SubdomainID> _from_blocks;
52  std::set<SubdomainID> _to_blocks;
53 };
MultiAppDofCopyTransfer(const InputParameters &parameters)
Copy the fields directly from one application to another, based on degree-of-freedom indexing...
void transferDofObject(libMesh::DofObject *to_object, libMesh::DofObject *from_object, MooseVariableFieldBase &to_var, MooseVariableFieldBase &from_var, NumericVector< Number > &to_solution, NumericVector< Number > &from_solution)
Performs the transfer of values between a node or element.
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
This class provides an interface for common operations on field variables of both FE and FV types wit...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
std::set< SubdomainID > _from_blocks
Subdomain IDs of the blocks to transfer from.
void initialSetup() override
Method called at the beginning of the simulation for checking integrity or doing one-time setup...
std::set< SubdomainID > _to_blocks
Subdomain IDs of the blocks to transfer to.
Intermediary class that allows variable names as inputs.
const bool _has_block_restrictions
Whether block restriction is active.
void transfer(FEProblemBase &to_problem, FEProblemBase &from_problem)
Performs the transfer of a variable between two problems if they have the same mesh.
const InputParameters & parameters() const
Get the parameters of the object.