Go to the documentation of this file.
20 #include "libmesh/meshfunction_solution_transfer.h"
22 #include "libmesh/system.h"
23 #include "libmesh/numeric_vector.h"
24 #include "libmesh/mesh_function.h"
25 #include "libmesh/node.h"
44 unsigned int to_var_num = to_var.
number();
52 unsigned int to_sys_num = to_sys->
number();
58 serialized_solution->init(from_sys->
n_dofs(),
false,
SERIAL);
62 from_sys->
solution->localize(*serialized_solution);
69 to_sys->
solution->set(node->dof_number(to_sys_num, to_var_num, 0), from_func(*node));
Manages consistently variables, degrees of freedom, and coefficient vectors.
const EquationSystems & get_equation_systems() const
FEFamily family
The type of finite element.
virtual bool is_serial() const
virtual void init() override
Override the FunctionBase::init() member function by calling our own and specifying the Trees::NODES ...
unsigned int number() const
Base class for objects that allow transferring variable values between different systems with differe...
This class provides function-like objects for data distributed over a mesh.
The libMesh namespace provides an interface to certain functionality in the library.
const Parallel::Communicator & comm() const
unsigned int number() const
const FEType & type() const
virtual ~MeshFunctionSolutionTransfer()
static std::unique_ptr< NumericVector< T > > build(const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package())
Builds a NumericVector on the processors in communicator comm using the linear solver package specifi...
const MeshBase & get_mesh() const
virtual void transfer(const Variable &from_var, const Variable &to_var) override
Transfer the values of a variable to another.
virtual SimpleRange< node_iterator > local_node_ptr_range()=0
This class defines the notion of a variable in the system.
This is the EquationSystems class.
std::unique_ptr< NumericVector< Number > > solution
Data structure to hold solution values.
const DofMap & get_dof_map() const
dof_id_type n_dofs() const
MeshFunctionSolutionTransfer(const libMesh::Parallel::Communicator &comm)
virtual void update()
Update the local values to reflect the solution on neighboring processors.