https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ADCubicTransition.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 "ADSmoothTransition.h"
13
18{
19public:
26 ADCubicTransition(const ADReal & x_center, const ADReal & transition_width);
27
28 virtual ADReal value(const ADReal & x, const ADReal & f1, const ADReal & f2) const override;
29
37 void initialize(const ADReal & f1_end_value,
38 const ADReal & f2_end_value,
39 const ADReal & df1dx_end_value,
40 const ADReal & df2dx_end_value);
41
42protected:
43 // Polynomial coefficients
48
51};
DualNumber< Real, DNDerivativeType, true > ADReal
const std::vector< double > x
Cubic polynomial transition between two functions of one variable.
bool _initialized
Flag that transition has been initialized.
virtual ADReal value(const ADReal &x, const ADReal &f1, const ADReal &f2) const override
Computes the transition value.
void initialize(const ADReal &f1_end_value, const ADReal &f2_end_value, const ADReal &df1dx_end_value, const ADReal &df2dx_end_value)
Computes the derivative of the transition value.
Base class for smooth transitions between two functions of one variable.