23#include "libmesh/libmesh_config.h"
25#ifdef LIBMESH_TRILINOS_HAVE_DTK
27#include "libmesh/dtk_evaluator.h"
29#include "libmesh/ignore_warnings.h"
30#include <DTK_MeshManager.hpp>
31#include <DTK_MeshContainer.hpp>
32#include <DTK_MeshTraits.hpp>
33#include <DTK_MeshTraitsFieldAdapter.hpp>
34#include <DTK_FieldManager.hpp>
35#include <DTK_FieldContainer.hpp>
36#include <DTK_FieldEvaluator.hpp>
38#include <Teuchos_RCP.hpp>
39#include <Teuchos_ArrayRCP.hpp>
40#include "libmesh/restore_warnings.h"
59 typedef DataTransferKit::MeshTraits<MeshContainerType>::global_ordinal_type
GlobalOrdinal;
60 typedef DataTransferKit::FieldEvaluator<GlobalOrdinal,FieldContainerType>
EvaluatorType;
67 Teuchos::RCP<DataTransferKit::FieldManager<FieldContainerType>>
get_values_to_fill(std::string var_name);
94 Teuchos::RCP<const Teuchos::Comm<int>>
comm;
102 Teuchos::RCP<DataTransferKit::MeshManager<MeshContainerType>>
mesh_manager;
104 Teuchos::RCP<DataTransferKit::FieldManager<MeshContainerType>>
target_coords;
107 std::map<std::string, Teuchos::RCP<DataTransferKit::FieldManager<FieldContainerType>>>
values_to_fill;
The DTKAdapter is used with the DTKSolutionTransfer object to adapt libmesh data to the DTK interface...
Teuchos::RCP< DataTransferKit::FieldManager< MeshContainerType > > target_coords
Teuchos::RCP< DataTransferKit::FieldManager< FieldContainerType > > get_values_to_fill(std::string var_name)
Teuchos::RCP< DataTransferKit::FieldManager< MeshContainerType > > get_target_coords()
DataTransferKit::MeshContainer< int > MeshContainerType
Teuchos::ArrayRCP< int > vertices
DataTransferKit::FieldEvaluator< GlobalOrdinal, FieldContainerType > EvaluatorType
Teuchos::RCP< DataTransferKit::MeshManager< MeshContainerType > > mesh_manager
std::map< std::string, RCP_Evaluator > evaluators
Map of variable names to RCP_Evaluator objects.
Teuchos::RCP< EvaluatorType > RCP_Evaluator
DataTransferKit::MeshTraits< MeshContainerType >::global_ordinal_type GlobalOrdinal
DataTransferKit::DTK_ElementTopology get_element_topology(const Elem *elem)
RCP_Evaluator field_evaluator
void get_semi_local_nodes(std::set< unsigned int > &semi_local_nodes)
Helper function that fills the std::set with all of the node numbers of nodes connected to local elem...
Teuchos::RCP< DataTransferKit::MeshManager< MeshContainerType > > get_mesh_manager()
System * find_sys(std::string var_name)
Small helper function for finding the system containing the variable.
std::map< std::string, Teuchos::RCP< DataTransferKit::FieldManager< FieldContainerType > > > values_to_fill
Map of variable names to arrays to be filled by a transfer.
RCP_Evaluator get_variable_evaluator(std::string var_name)
DataTransferKit::FieldContainer< double > FieldContainerType
void update_variable_values(std::string var_name)
After computing values for a variable in this EquationSystems we need to take those values and put th...
unsigned int num_local_nodes
Teuchos::RCP< const Teuchos::Comm< int > > comm
This is the base class from which all geometric element types are derived.
This is the EquationSystems class.
This is the MeshBase class.
Manages consistently variables, degrees of freedom, and coefficient vectors.
The libMesh namespace provides an interface to certain functionality in the library.