https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ProjectionAux.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
12#include "AuxKernel.h"
13
14namespace libMesh
15{
16class System;
17}
18
23{
24public:
26
28
29protected:
35
36 virtual Real computeValue() override;
37
40
44
47
50
53
54private:
56 const Elem * elemOnNodeVariableIsDefinedOn() const;
57
62 std::unordered_set<unsigned short> _elem_dims;
63};
OutputTools< Real >::VariableValue VariableValue
Definition MooseTypes.h:348
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
This class provides an interface for common operations on field variables of both FE and FV types wit...
Projects from one variable to another.
const VariableValue & _v
The variable to project from.
bool _use_block_restriction_for_source
Whether to use the auxkernel block restriction to limit the values for the source variables.
static InputParameters validParams()
virtual Real computeValue() override
Compute and return the value of the aux variable.
const MooseVariableFieldBase & _source_variable
A reference to the variable to project from We must use a field variable to support finite volume var...
std::unordered_set< unsigned short > _elem_dims
Set for holding element dimensions when mapping from multiple element values to a node.
const libMesh::System & _source_sys
The system owning the source variable.
const Elem * elemOnNodeVariableIsDefinedOn() const
For a node, finds an element we can use to evaluate the (continuous) source variable.
const ElemToNodeProjectionWeighting _elem_to_node_projection_weighting
How to weight element to node projections.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...