20 #ifndef DTKSOLUTIONTRANSFER_H 21 #define DTKSOLUTIONTRANSFER_H 23 #include "libmesh/libmesh_config.h" 25 #ifdef LIBMESH_TRILINOS_HAVE_DTK 28 #include "libmesh/solution_transfer.h" 29 #include "libmesh/dtk_adapter.h" 31 #include "libmesh/ignore_warnings.h" 34 #include <Teuchos_CommHelpers.hpp> 35 #include <Teuchos_DefaultComm.hpp> 38 #include <DTK_SharedDomainMap.hpp> 40 #include "libmesh/restore_warnings.h" 77 typedef DataTransferKit::SharedDomainMap<DTKAdapter::MeshContainerType,DTKAdapter::MeshContainerType>
shared_domain_map_type;
83 std::map<EquationSystems *, std::unique_ptr<DTKAdapter>>
adapters;
86 std::map<std::pair<EquationSystems *, EquationSystems *>, std::unique_ptr<shared_domain_map_type>>
dtk_maps;
91 #endif // #ifdef LIBMESH_TRILINOS_HAVE_DTK 93 #endif // #define DTKSOLUTIONTRANSFER_H virtual ~DTKSolutionTransfer()
std::map< std::pair< EquationSystems *, EquationSystems * >, std::unique_ptr< shared_domain_map_type > > dtk_maps
The dtk shared domain maps for pairs of EquationSystems (from, to)
DTKSolutionTransfer(const libMesh::Parallel::Communicator &comm)
const Parallel::Communicator & comm() const
std::map< EquationSystems *, std::unique_ptr< DTKAdapter > > adapters
The DTKAdapter associated with each EquationSystems.
The libMesh namespace provides an interface to certain functionality in the library.
This class defines the notion of a variable in the system.
virtual void transfer(const Variable &from_var, const Variable &to_var) override
Transfer the values of a variable to another.
Teuchos::RCP< const Teuchos::Comm< int > > comm_default
COMM_WORLD for now.
DataTransferKit::SharedDomainMap< DTKAdapter::MeshContainerType, DTKAdapter::MeshContainerType > shared_domain_map_type
Implementation of a SolutionTransfer object that uses the DataTransferKit (https://github.com/CNERG/DataTransferKit) to transfer variables back and forth between systems.
Base class for objects that allow transferring variable values between different systems with differe...