https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MultiAppMFEMTolibMeshShapeEvaluationTransfer.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#ifdef MOOSE_MFEM_ENABLED
11
12#pragma once
13
15#include "MFEMProblem.h"
16
22{
23public:
26
27protected:
29 mfem::FindPointsGSLIB _mfem_interpolator;
30
33 const MooseVariableFieldBase & to_var,
34 std::vector<Point> & outgoing_libmesh_points);
35
38 const MooseVariableFieldBase & to_var,
39 mfem::Vector & interp_vals);
40
42 virtual void transferVariables(bool is_target_local) override;
43
45 virtual MFEMProblem & getActiveFromProblem() override;
46};
47
48#endif
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Virtual base class for MultiApp transfers to and/or from MFEMProblems.
This class provides an interface for common operations on field variables of both FE and FV types wit...
MultiApp transfer from MFEM to libMesh variables, performed via evaluation of shape functions.
virtual void transferVariables(bool is_target_local) override
Transfer all variables from active MFEM source problem to active libMesh destination problem.
virtual MFEMProblem & getActiveFromProblem() override
Set current MFEM problem to fetch source variables from.
mfem::FindPointsGSLIB _mfem_interpolator
Object to perform pointwise interpolation of source MFEM GridFunctions.
void projectlibMeshNodalValues(libMesh::System &to_sys, const MooseVariableFieldBase &to_var, mfem::Vector &interp_vals)
Set DoFs of destination libMesh variable via projection, using a vector of interpolated values.
void extractlibMeshNodePositions(libMesh::System &to_sys, const MooseVariableFieldBase &to_var, std::vector< Point > &outgoing_libmesh_points)
Extract all target points of the destination libMesh variable, needed to set DoFs in transfer.