https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
19public:
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
52protected:
53 // Polynomial coefficients
54 Real _A;
55 Real _B;
56 Real _C;
57 Real _D;
58
61};
const std::vector< double > x
Cubic polynomial transition between two functions of one variable.
Real derivative(const Real &x, const Real &df1dx, const Real &df2dx) const
Computes the derivative of the transition value.
virtual Real value(const Real &x, const Real &f1, const Real &f2) const override
Computes the transition value.
bool _initialized
Flag that transition has been initialized.
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.
Base class for smooth transitions between two functions of one variable.