https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MultiAppGeneralFieldShapeEvaluationTransfer.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#pragma once
11
13#include "libmesh/mesh_function.h"
14#include "MooseHashing.h"
15
20{
21public:
23
25
26protected:
27 virtual void prepareEvaluationOfInterpValues(const unsigned int var_index) override;
28
29 virtual void
30 evaluateInterpValues(const unsigned int /*var_index*/,
31 const std::vector<std::pair<Point, unsigned int>> & incoming_points,
32 std::vector<std::pair<Real, Real>> & outgoing_vals) override;
33
34private:
35 bool usesMooseAppCoordTransform() const override { return true; }
36 /*
37 * Build mesh functions local to the domain
38 * @param[in] var_name the variable to build the mesh functions for
39 * @param[out] the mesh functions
40 */
41 void buildMeshFunctions(const unsigned int var_index,
42 std::vector<libMesh::MeshFunction> & local_meshfuns);
43
44 /*
45 * Evaluate interpolation values for incoming points
46 * @param[in] bounding boxes to restrict the evaluation domain
47 * @param[in] the mesh functions to use for evaluation
48 * @param[in] the points to evaluate the variable shape functions at
49 * @param[out] the values of the variables
50 */
52 const std::vector<BoundingBox> & local_bboxes,
53 std::vector<libMesh::MeshFunction> & local_meshfuns,
54 const std::vector<std::pair<Point, unsigned int>> & incoming_points,
55 std::vector<std::pair<Real, Real>> & outgoing_vals);
56
57 /*
58 * Bounding boxes
59 */
60 std::vector<libMesh::BoundingBox> _local_bboxes;
61 /*
62 * Local mesh functions
63 */
64 std::vector<libMesh::MeshFunction> _local_meshfuns;
65};
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Evaluates origin shape functions to compute the target variables.
bool usesMooseAppCoordTransform() const override
Whether this transfer handles non-translation-based transformations, e.g.
virtual void evaluateInterpValues(const unsigned int, const std::vector< std::pair< Point, unsigned int > > &incoming_points, std::vector< std::pair< Real, Real > > &outgoing_vals) override
void evaluateInterpValuesWithMeshFunctions(const std::vector< BoundingBox > &local_bboxes, std::vector< libMesh::MeshFunction > &local_meshfuns, const std::vector< std::pair< Point, unsigned int > > &incoming_points, std::vector< std::pair< Real, Real > > &outgoing_vals)
virtual void prepareEvaluationOfInterpValues(const unsigned int var_index) override
void buildMeshFunctions(const unsigned int var_index, std::vector< libMesh::MeshFunction > &local_meshfuns)
It is a general field transfer.