https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ADRealForward.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 "libmesh/libmesh_common.h"
13#include "metaphysicl/metaphysicl_version.h"
14
15#include <array>
16
17#if METAPHYSICL_MAJOR_VERSION < 1
18namespace MetaPhysicL
19{
20template <typename, typename>
22}
23#else
24#include "metaphysicl/dualnumber_forward.h"
25#endif
26
27#include "metaphysicl/semidynamicsparsenumberarray_decl.h"
28
29using libMesh::Real;
31using MetaPhysicL::NWrapper;
32using MetaPhysicL::SemiDynamicSparseNumberArray;
33
34typedef SemiDynamicSparseNumberArray<Real,
36 NWrapper<MOOSE_AD_MAX_DOFS_PER_ELEM>>
38
39template <std::size_t N>
40using DNDerivativeSize = SemiDynamicSparseNumberArray<Real, libMesh::dof_id_type, NWrapper<N>>;
41
42typedef DualNumber<Real, DNDerivativeType, /*allow_skiping_derivatives=*/true> ADReal;
DualNumber< Real, DNDerivativeType, true > ADReal
SemiDynamicSparseNumberArray< Real, libMesh::dof_id_type, NWrapper< N > > DNDerivativeSize
SemiDynamicSparseNumberArray< Real, libMesh::dof_id_type, NWrapper< MOOSE_AD_MAX_DOFS_PER_ELEM > > DNDerivativeType
We need to instantiate the following CompareTypes to tell the compiler that ADReal is a subtype of Ch...
uint8_t dof_id_type
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real