www.mooseframework.org
PorousFlowHalfCubicSink.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
26 {
27 public:
29 
31 
32 protected:
34  const Real _maximum;
35 
37  const Function & _cutoff;
38 
40  const Real _center;
41 
42  virtual Real multiplier() const override;
43 
44  virtual Real dmultiplier_dvar(unsigned int pvar) const override;
45 };
const Real _maximum
Maximum of the cubic sink.
Applies a flux sink to a boundary.
const Real _center
Center of the cubic sink.
static InputParameters validParams()
virtual Real dmultiplier_dvar(unsigned int pvar) const override
d(multiplier)/d(Porous flow variable pvar)
virtual Real multiplier() const override
The flux gets multiplied by this quantity.
Provides either a porepressure or a temperature to derived classes, depending on _involves_fluid defi...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
PorousFlowHalfCubicSink(const InputParameters &parameters)
const InputParameters & parameters() const
const Function & _cutoff
Denote x = porepressure - center. Then Flux out = (max/cutoff^3)*(2x + cutoff)(x - cutoff)^2 for cuto...