20 #include "libmesh/meshfree_solution_transfer.h" 22 #include "libmesh/mesh.h" 23 #include "libmesh/system.h" 24 #include "libmesh/numeric_vector.h" 25 #include "libmesh/threads.h" 26 #include "libmesh/meshfree_interpolation.h" 27 #include "libmesh/function_base.h" 28 #include "libmesh/node.h" 44 libmesh_experimental();
54 (from_mesh.
comm(), 4, 2);
56 std::vector<Point> & src_pts (idi.get_source_points());
57 std::vector<Number> & src_vals (idi.get_source_vals());
59 std::vector<std::string> field_vars;
60 field_vars.push_back(from_var.
name());
65 for (
const auto & node : from_mesh.local_node_ptr_range())
67 src_pts.push_back(*node);
68 src_vals.push_back((*from_sys->
solution)(node->dof_number(from_sys->
number(),from_var.
number(),0)));
72 idi.prepare_for_use();
This is the EquationSystems class.
Inverse distance interpolation.
const EquationSystems & get_equation_systems() const
const Parallel::Communicator & comm() const
The libMesh namespace provides an interface to certain functionality in the library.
This is the MeshBase class.
void project_solution(FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr) const
Projects arbitrary functions onto the current solution.
unsigned int number() const
This class defines the notion of a variable in the system.
Manages consistently variables, degrees of freedom, and coefficient vectors.
std::unique_ptr< NumericVector< Number > > solution
Data structure to hold solution values.
virtual void transfer(const Variable &from_var, const Variable &to_var) override
Transfer the values of a variable to another.
void set_field_variables(std::vector< std::string > names)
Defines the field variable(s) we are responsible for, and importantly their assumed ordering...
const MeshBase & get_mesh() const
const std::string & name() const
unsigned int number() const