https://mooseframework.inl.gov
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 
14 #include "MFEMMultiAppTransfer.h"
15 #include "MFEMProblem.h"
16 
22 {
23 public:
26 
27 protected:
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
Virtual base class for MultiApp transfers to and/or from MFEMProblems.
virtual void transferVariables(bool is_target_local) override
Transfer all variables from active MFEM source problem to active libMesh destination problem...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
This class provides an interface for common operations on field variables of both FE and FV types wit...
mfem::FindPointsGSLIB _mfem_interpolator
Object to perform pointwise interpolation of source MFEM GridFunctions.
MultiApp transfer from MFEM to libMesh variables, performed via evaluation of shape functions...
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...
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...
virtual MFEMProblem & getActiveFromProblem() override
Set current MFEM problem to fetch source variables from.