https://mooseframework.inl.gov
CubicTransition.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 "SmoothTransition.h"
13 
18 {
19 public:
26  CubicTransition(const Real & x_center, const Real & transition_width);
27 
28  virtual Real value(const Real & x, const Real & f1, const Real & f2) const override;
29 
37  Real derivative(const Real & x, const Real & df1dx, const Real & df2dx) const;
38 
47  void initialize(const Real & f1_end_value,
48  const Real & f2_end_value,
49  const Real & df1dx_end_value,
50  const Real & df2dx_end_value);
51 
52 protected:
53  // Polynomial coefficients
58 
61 };
void initialize(const Real &f1_end_value, const Real &f2_end_value, const Real &df1dx_end_value, const Real &df2dx_end_value)
Initializes the polynomial coefficients.
Cubic polynomial transition between two functions of one variable.
CubicTransition(const Real &x_center, const Real &transition_width)
Constructor.
bool _initialized
Flag that transition has been initialized.
Real derivative(const Real &x, const Real &df1dx, const Real &df2dx) const
Computes the derivative of the transition value.
Base class for smooth transitions between two functions of one variable.
const std::vector< double > x
virtual Real value(const Real &x, const Real &f1, const Real &f2) const override
Computes the transition value.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real