libMesh
solution_transfer.h
Go to the documentation of this file.
1 // The libMesh Finite Element Library.
2 // Copyright (C) 2002-2017 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
13 
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 
18 
19 
20 #ifndef SOLUTIONTRANSFER_H
21 #define SOLUTIONTRANSFER_H
22 
23 #include "libmesh/libmesh_common.h"
24 #include "libmesh/equation_systems.h"
25 #include "libmesh/parallel_object.h"
26 
27 #include <string>
28 #include <map>
29 
30 namespace libMesh {
31 
41 {
42 public:
43 
45  LIBMESH_CAN_DEFAULT_TO_COMMWORLD) :
46  ParallelObject(comm_in)
47  {}
48 
49  virtual ~SolutionTransfer() {}
50 
57  virtual void transfer(const Variable & from_var, const Variable & to_var) = 0;
58 };
59 
60 } // namespace libMesh
61 
62 #endif // #define SOLUTIONTRANSFER_H
Encapsulates the MPI_Comm object.
Definition: parallel.h:657
The libMesh namespace provides an interface to certain functionality in the library.
This class defines the notion of a variable in the system.
Definition: variable.h:49
virtual void transfer(const Variable &from_var, const Variable &to_var)=0
Transfer the values of a variable to another.
SolutionTransfer(const libMesh::Parallel::Communicator &comm_in LIBMESH_CAN_DEFAULT_TO_COMMWORLD)
This class forms the base class for all other classes that are expected to be implemented in parallel...
Base class for objects that allow transferring variable values between different systems with differe...