Skip to content

Commit

Permalink
Switch to using references (idaholab#18178)
Browse files Browse the repository at this point in the history
  • Loading branch information
lindsayad authored and cticenhour committed Jul 15, 2021
1 parent 022785d commit e190d6a
Show file tree
Hide file tree
Showing 35 changed files with 39 additions and 43 deletions.
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/AStableDirk4.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class AStableDirk4 : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/ActuallyExplicitEuler.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class ActuallyExplicitEuler : public ExplicitTimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/BDF2.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class BDF2 : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void postResidual(NumericVector<Number> & residual) override;

protected:
Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/CentralDifference.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class CentralDifference : public ActuallyExplicitEuler
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;

protected:
/// solution vector for \f$ {du^dotdot}\over{du} \f$
Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/CrankNicolson.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class CrankNicolson : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void postResidual(NumericVector<Number> & residual) override;
virtual void postStep() override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/ExplicitEuler.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class ExplicitEuler : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void postResidual(NumericVector<Number> & residual) override;

protected:
Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/ExplicitRK2.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class ExplicitRK2 : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/ExplicitSSPRungeKutta.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class ExplicitSSPRungeKutta : public ExplicitTimeIntegrator
virtual void computeTimeDerivatives() override;
virtual void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;
virtual int order() override { return _order; }
Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/ExplicitTVDRK2.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class ExplicitTVDRK2 : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/ImplicitEuler.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class ImplicitEuler : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void postResidual(NumericVector<Number> & residual) override;

protected:
Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/ImplicitMidpoint.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class ImplicitMidpoint : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/LStableDirk2.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class LStableDirk2 : public TimeIntegrator
virtual void computeTimeDerivatives() override;
void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/LStableDirk3.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class LStableDirk3 : public TimeIntegrator
virtual void computeTimeDerivatives() override;
virtual void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/LStableDirk4.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class LStableDirk4 : public TimeIntegrator
virtual void computeTimeDerivatives() override;
virtual void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void solve() override;
virtual void postResidual(NumericVector<Number> & residual) override;

Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/NewmarkBeta.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class NewmarkBeta : public TimeIntegrator
virtual void computeTimeDerivatives() override;
virtual void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const override;
DualReal & ad_u_dotdot) const override;
virtual void postResidual(NumericVector<Number> & residual) override;

protected:
Expand Down
2 changes: 1 addition & 1 deletion framework/include/timeintegrators/TimeIntegrator.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ class TimeIntegrator : public MooseObject, public Restartable
*/
virtual void computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dot_dot) const = 0;
DualReal & ad_u_dot_dot) const = 0;

/**
* Gets the total number of nonlinear iterations over all stages of the time step.
Expand Down
3 changes: 3 additions & 0 deletions framework/include/variables/MooseVariableData.h
Original file line number Diff line number Diff line change
Expand Up @@ -805,6 +805,9 @@ class MooseVariableData

/// The current element side
const unsigned int & _current_side;

/// A dummy ADReal variable
ADReal _ad_real_dummy = 0;
};

/////////////////////// General template definitions //////////////////////////////////////
Expand Down
3 changes: 3 additions & 0 deletions framework/include/variables/MooseVariableDataFV.h
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,9 @@ class MooseVariableDataFV

/// The quadrature rule
const QBase * _qrule;

/// A dummy ADReal variable
ADReal _ad_real_dummy = 0;
};

/////////////////////// General template definitions //////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/AStableDirk4.C
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ AStableDirk4::computeTimeDerivatives()
void
AStableDirk4::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/ActuallyExplicitEuler.C
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ ActuallyExplicitEuler::computeTimeDerivatives()
void
ActuallyExplicitEuler::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/BDF2.C
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ BDF2::computeTimeDerivatives()
void
BDF2::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
auto ad_sln = ad_u_dot;
if (_t_step != 1)
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/CentralDifference.C
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ CentralDifference::CentralDifference(const InputParameters & parameters)
void
CentralDifference::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const
DualReal & ad_u_dotdot) const
{
computeTimeDerivativeHelper(
ad_u_dot, ad_u_dotdot, _solution_old(dof), _solution_older(dof), _solution_old_old_old(dof));
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/CrankNicolson.C
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ CrankNicolson::computeTimeDerivatives()
void
CrankNicolson::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/ExplicitEuler.C
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ ExplicitEuler::computeTimeDerivatives()
void
ExplicitEuler::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/ExplicitRK2.C
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ ExplicitRK2::computeTimeDerivatives()
void
ExplicitRK2::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof), _solution_older(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/ExplicitSSPRungeKutta.C
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ ExplicitSSPRungeKutta::computeTimeDerivatives()
void
ExplicitSSPRungeKutta::computeADTimeDerivatives(ADReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
if (_stage == _n_stages)
{
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/ExplicitTVDRK2.C
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ ExplicitTVDRK2::computeTimeDerivatives()
void
ExplicitTVDRK2::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof), _solution_older(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/ImplicitEuler.C
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ ImplicitEuler::computeTimeDerivatives()
void
ImplicitEuler::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/ImplicitMidpoint.C
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ ImplicitMidpoint::computeTimeDerivatives()
void
ImplicitMidpoint::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/LStableDirk2.C
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ LStableDirk2::computeTimeDerivatives()
void
LStableDirk2::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/LStableDirk3.C
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ LStableDirk3::computeTimeDerivatives()
void
LStableDirk3::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/LStableDirk4.C
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ LStableDirk4::computeTimeDerivatives()
void
LStableDirk4::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * /*ad_u_dotdot*/) const
DualReal & /*ad_u_dotdot*/) const
{
computeTimeDerivativeHelper(ad_u_dot, _solution_old(dof));
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/timeintegrators/NewmarkBeta.C
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ NewmarkBeta::computeTimeDerivatives()
void
NewmarkBeta::computeADTimeDerivatives(DualReal & ad_u_dot,
const dof_id_type & dof,
DualReal * ad_u_dotdot) const
DualReal & ad_u_dotdot) const
{
const auto & u_old = _solution_old(dof);
const auto & u_dot_old = (*_sys.solutionUDotOld())(dof);
Expand Down
11 changes: 1 addition & 10 deletions framework/src/variables/MooseVariableData.C
Original file line number Diff line number Diff line change
Expand Up @@ -1470,17 +1470,8 @@ MooseVariableData<OutputType>::computeAD(const unsigned int num_dofs, const unsi
if (_need_ad_u_dot && _time_integrator && _time_integrator->dt())
{
_ad_dofs_dot[i] = _ad_dof_values[i];
ADReal * ad_dofs_dotdot_ptr = nullptr;
if (_need_ad_u_dotdot)
{
_ad_dofs_dotdot[i].value() = std::numeric_limits<Real>::quiet_NaN();
ad_dofs_dotdot_ptr = &_ad_dofs_dotdot[i];
}
_time_integrator->computeADTimeDerivatives(
_ad_dofs_dot[i], _dof_indices[i], ad_dofs_dotdot_ptr);
mooseAssert(!_need_ad_u_dotdot || !std::isnan(ad_dofs_dotdot_ptr->value()),
"A second time derivative was requested but wasn't assigned in "
<< _time_integrator->type());
_ad_dofs_dot[i], _dof_indices[i], _need_ad_u_dotdot ? _ad_dofs_dotdot[i] : _ad_real_dummy);
}
}

Expand Down
3 changes: 1 addition & 2 deletions framework/src/variables/MooseVariableDataFV.C
Original file line number Diff line number Diff line change
Expand Up @@ -877,8 +877,7 @@ MooseVariableDataFV<OutputType>::computeAD(const unsigned int num_dofs, const un
if (_need_ad_u_dot && safeToComputeADUDot() && _time_integrator->dt())
{
_ad_dofs_dot[i] = _ad_dof_values[i];
ADReal * ad_dofs_dotdot_ptr = nullptr;
_time_integrator->computeADTimeDerivatives(_ad_dofs_dot[i], _dof_indices[i], ad_dofs_dotdot_ptr);
_time_integrator->computeADTimeDerivatives(_ad_dofs_dot[i], _dof_indices[i], _ad_real_dummy);
}
}

Expand Down

0 comments on commit e190d6a

Please sign in to comment.