https://mooseframework.inl.gov
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 {
19 public:
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 
42 protected:
43  // Polynomial coefficients
48 
51 };
bool _initialized
Flag that transition has been initialized.
Cubic polynomial transition between two functions of one variable.
virtual ADReal value(const ADReal &x, const ADReal &f1, const ADReal &f2) const override
Computes the transition value.
const std::vector< double > x
ADCubicTransition(const ADReal &x_center, const ADReal &transition_width)
Constructor.
Base class for smooth transitions between two functions of one variable.
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.