https://mooseframework.inl.gov
EquilibriumConstantInterpolator.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 "MooseTypes.h"
13 #include "LeastSquaresFitBase.h"
14 #include "LinearInterpolation.h"
15 
44 {
45 public:
46  EquilibriumConstantInterpolator(const std::vector<Real> & temperature,
47  const std::vector<Real> & logk,
48  const std::string type,
49  const Real no_value = 500.0);
50 
51  virtual Real sample(Real T) override;
52  ADReal sample(const ADReal & T);
53 
60 
61 protected:
62  virtual void fillMatrix() override;
63 
65  enum class FitTypeEnum
66  {
68  MAIERKELLY,
69  LINEAR,
71  } _fit_type;
72 
74  std::unique_ptr<LinearInterpolation> _linear_interp;
75 };
Fit the equilibrium constant values read from the thermodynamic databse at specified temperature valu...
enum EquilibriumConstantInterpolator::FitTypeEnum _fit_type
static const std::string temperature
Definition: NS.h:59
std::unique_ptr< LinearInterpolation > _linear_interp
helper object to perform the linear interpolation of the function data
DualNumber< Real, DNDerivativeType, true > ADReal
Real sampleDerivative(Real T)
Sample derivative of function at temperature T.
EquilibriumConstantInterpolator(const std::vector< Real > &temperature, const std::vector< Real > &logk, const std::string type, const Real no_value=500.0)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real