https://mooseframework.inl.gov
Loading...
Searching...
No Matches
TagVectorArrayVariableAux.C
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
11
13
16{
18
19 params.addRequiredParam<TagName>("vector_tag", "Tag Name this Aux works on");
21 "Couple a tagged vector, and return its evaluations at degree of freedom "
22 "indices corresponding to the coupled array variable.");
23 return params;
24}
25
27 : TagAuxBase<ArrayAuxKernel>(parameters), _v(coupledVectorTagArrayDofValue("v", "vector_tag"))
28{
30}
31
32void
34{
35 const auto n_shapes = _var.numberOfDofs() / _var.count();
36 _local_sol.resize(n_shapes);
37 for (const auto i : make_range(n_shapes))
38 _local_sol(i) = _v[i];
40}
registerMooseObject("MooseApp", TagVectorArrayVariableAux)
Base class for creating new auxiliary kernels and auxiliary boundary conditions.
Definition AuxKernel.h:28
DenseVector< OutputData > _local_sol
for holding local solution
Definition AuxKernel.h:165
MooseVariableField< ComputeValueType > & _var
This is a regular kernel so we cast to a regular MooseVariable, hides base _var.
Definition AuxKernel.h:113
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition Coupleable.C:337
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump.
virtual unsigned int numberOfDofs() const
Get the number of local DoFs.
unsigned int count() const
Get the number of components Note: For standard and vector variables, the number is one.
virtual void setDofValues(const DenseVector< DofValue > &values)=0
Set local DOF values and evaluate the values on quadrature points.
The value of a tagged vector for a given node and a given variable is coupled to the current AuxVaria...
Definition TagAuxBase.h:22
void checkCoupledVariable(const MooseVariableBase *input_var, const MooseVariableFieldBase *aux_var)
check the aux variable acting on this auxkernl has the consistent properties with the input coupled v...
Definition TagAuxBase.h:70
static InputParameters validParams()
Definition TagAuxBase.h:45
Couple a tagged vector, and return its evaluations at degree of freedom indices corresponding to the ...
static InputParameters validParams()
const ArrayVariableValue & _v
The result of evaluating the supplied tagged vector at the degrees of freedom corresponding to the pr...
void compute() override
Computes the value and stores it in the solution vector.
TagVectorArrayVariableAux(const InputParameters &parameters)