https://mooseframework.inl.gov
Courant.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 
10 #include "Courant.h"
11 #include "MooseMesh.h"
12 
13 registerMooseObject("NavierStokesApp", Courant);
14 
17 {
19 
20  params.addClassDescription("Computes |u| dt / h_min.");
21  // Coupled variables
22  params.addRequiredCoupledVar("u", "x-velocity");
23  params.addCoupledVar("v", "y-velocity"); // only required in 2D and 3D
24  params.addCoupledVar("w", "z-velocity"); // only required in 3D
25 
26  return params;
27 }
28 
29 Courant::Courant(const InputParameters & parameters)
30  : AuxKernel(parameters),
31  _u_vel(coupledValue("u")),
32  _v_vel(_mesh.dimension() >= 2 ? coupledValue("v") : _zero),
33  _w_vel(_mesh.dimension() == 3 ? coupledValue("w") : _zero)
34 {
35  if (isNodal())
36  mooseError("This AuxKernel only supports Elemental fields");
37 }
38 
39 Real
41 {
43  Real vel_mag = U.norm();
44 
45  return vel_mag * _dt / _current_elem->hmin();
46 }
const VariableValue & _u_vel
Definition: Courant.h:30
auto norm() const -> decltype(std::norm(Real()))
registerMooseObject("NavierStokesApp", Courant)
const VariableValue & _v_vel
Definition: Courant.h:31
virtual Real computeValue()
Definition: Courant.C:40
Computes |u| dt / h_min.
Definition: Courant.h:19
void addCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
static InputParameters validParams()
Definition: Courant.C:16
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
const Elem *const & _current_elem
void addClassDescription(const std::string &doc_string)
static InputParameters validParams()
Courant(const InputParameters &parameters)
Definition: Courant.C:29
const VariableValue & _w_vel
Definition: Courant.h:32