Skip to content

Commit

Permalink
Fixup Baldr objects to current MOOSE standards
Browse files Browse the repository at this point in the history
  • Loading branch information
cticenhour committed Oct 13, 2021
1 parent 027f010 commit 093e30d
Show file tree
Hide file tree
Showing 6 changed files with 172 additions and 202 deletions.
12 changes: 3 additions & 9 deletions include/indicators/AbsoluteValueIndicator.h
Original file line number Diff line number Diff line change
@@ -1,20 +1,14 @@
#ifndef ABSOLUTEVALUEINDICATOR_H
#define ABSOLUTEVALUEINDICATOR_H
#pragma once

#include "ElementIntegralIndicator.h"

class AbsoluteValueIndicator;

template <>
InputParameters validParams<AbsoluteValueIndicator>();

class AbsoluteValueIndicator : public ElementIntegralIndicator
{
public:
static InputParameters validParams();

AbsoluteValueIndicator(const InputParameters & parameters);

protected:
virtual Real computeQpIntegral() override;
};

#endif /* ABSOLUTEVALUEINDICATOR_H */
27 changes: 9 additions & 18 deletions include/materials/CrazyKCPlantFits.h
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
#ifndef CRAZYKCPLANTFITS_H
#define CRAZYKCPLANTFITS_H
#pragma once

#include "ADMaterial.h"

template <ComputeStage>
class CrazyKCPlantFits;

declareADValidParams(CrazyKCPlantFits);

/**
* A material that couples a material property
*/
template <ComputeStage compute_stage>
class CrazyKCPlantFits : public ADMaterial<compute_stage>
class CrazyKCPlantFits : public ADMaterial
{
public:
static InputParameters validParams();

CrazyKCPlantFits(const InputParameters & parameters);

protected:
Expand All @@ -35,18 +30,14 @@ class CrazyKCPlantFits : public ADMaterial<compute_stage>
const Real _c_rho0;
const ADVariableValue & _temperature;
const ADVariableGradient & _grad_temperature;
ADMaterialProperty(Real) & _mu;
ADMaterialProperty(Real) & _k;
ADMaterialProperty(Real) & _cp;
ADMaterialProperty(Real) & _rho;
ADMaterialProperty(RealVectorValue) & _grad_k;
ADMaterialProperty<Real> & _mu;
ADMaterialProperty<Real> & _k;
ADMaterialProperty<Real> & _cp;
ADMaterialProperty<Real> & _rho;
ADMaterialProperty<RealVectorValue> & _grad_k;

const Real _length_units_per_meter;
const Real _temperature_units_per_kelvin;
const Real _mass_units_per_kilogram;
const Real _time_units_per_second;

usingMaterialMembers;
};

#endif // CRAZYKCPLANTFITS_H
33 changes: 12 additions & 21 deletions include/materials/CrazyKCPlantFitsBoundary.h
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
#ifndef CRAZYKCPLANTFITSBOUNDARY_H
#define CRAZYKCPLANTFITSBOUNDARY_H
#pragma once

#include "ADMaterial.h"

template <ComputeStage>
class CrazyKCPlantFitsBoundary;

declareADValidParams(CrazyKCPlantFitsBoundary);

/**
* A material that couples a material property
*/
template <ComputeStage compute_stage>
class CrazyKCPlantFitsBoundary : public ADMaterial<compute_stage>
class CrazyKCPlantFitsBoundary : public ADMaterial
{
public:
static InputParameters validParams();

CrazyKCPlantFitsBoundary(const InputParameters & parameters);

protected:
Expand All @@ -35,25 +30,21 @@ class CrazyKCPlantFitsBoundary : public ADMaterial<compute_stage>
const ADVariableValue & _temperature;
const ADVariableGradient & _grad_temperature;

ADMaterialProperty(Real) & _rc_pressure;
ADMaterialProperty<Real> & _rc_pressure;

const Real _alpha;
const Real _sigma0;
const Real _T0;
ADMaterialProperty(Real) & _surface_tension;
ADMaterialProperty(RealVectorValue) & _grad_surface_tension;
const typename PointType<compute_stage>::type & _ad_normals;
const ADVariableValue & _ad_curvatures;
ADMaterialProperty(RealVectorValue) & _surface_term_curvature;
ADMaterialProperty(RealVectorValue) & _surface_term_gradient1;
ADMaterialProperty(RealVectorValue) & _surface_term_gradient2;
ADMaterialProperty<Real> & _surface_tension;
ADMaterialProperty<RealVectorValue> & _grad_surface_tension;
const MooseArray<ADPoint> & _ad_normals;
const MooseArray<ADReal> & _ad_curvatures;
ADMaterialProperty<RealVectorValue> & _surface_term_curvature;
ADMaterialProperty<RealVectorValue> & _surface_term_gradient1;
ADMaterialProperty<RealVectorValue> & _surface_term_gradient2;

const Real _length_units_per_meter;
const Real _temperature_units_per_kelvin;
const Real _mass_units_per_kilogram;
const Real _time_units_per_second;

usingMaterialMembers;
};

#endif // CRAZYKCPLANTFITSBOUNDARY_H
5 changes: 2 additions & 3 deletions src/indicators/AbsoluteValueIndicator.C
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@

registerMooseObject("BaldrApp", AbsoluteValueIndicator);

template <>
InputParameters
validParams<AbsoluteValueIndicator>()
AbsoluteValueIndicator::validParams()
{
InputParameters params = validParams<ElementIntegralIndicator>();
InputParameters params = ElementIntegralIndicator::validParams();
return params;
}

Expand Down
142 changes: 70 additions & 72 deletions src/materials/CrazyKCPlantFits.C
Original file line number Diff line number Diff line change
@@ -1,84 +1,83 @@
#include "CrazyKCPlantFits.h"

registerADMooseObject("BaldrApp", CrazyKCPlantFits);
registerMooseObject("BaldrApp", CrazyKCPlantFits);

defineADValidParams(
CrazyKCPlantFits, ADMaterial, params.addParam<Real>("c_mu0", 0.15616, "mu0 coefficient");
params.addParam<Real>("c_mu1", -3.3696e-5, "mu1 coefficient");
params.addParam<Real>("c_mu2", 1.0191e-8, "mu2 coefficient");
params.addParam<Real>("c_mu3", -1.0413e-12, "mu3 coefficient");
params.addParam<Real>("Tmax", 4000, "The maximum temperature");
params.addParam<Real>("Tl", 1623, "The liquidus temperature");
params.addParam<Real>("T90",
1528,
"The T90 temperature (I don't know what this means physically)");
params.addParam<Real>("beta", 1e11, "beta coefficient");
params.addParam<Real>("c_k0", 10.7143, "k0 coefficient");
params.addParam<Real>("c_k1", 14.2857e-3, "k0 coefficient");
params.addParam<Real>("c_cp0", 425.75, "cp0 coefficient");
params.addParam<Real>("c_cp1", 170.833e-3, "cp1 coefficient");
params.addParam<Real>("c_rho0", 7.9e3, "The constant density");
params.addCoupledVar("temperature", 1., "The temperature");
params.addParam<MaterialPropertyName>("mu_name",
"mu",
"The name of the viscosity material property");
params.addParam<MaterialPropertyName>("k_name", "k", "The name of the thermal conductivity");
params.addParam<MaterialPropertyName>("cp_name", "cp", "The name of the thermal conductivity");
params.addParam<MaterialPropertyName>("rho_name",
"rho",
"The name of the thermal conductivity");
params.addParam<int>("length_unit_exponent",
0,
"The exponent of the length unit. If working in milimeters for example, "
"this number should be -3");
params.addParam<int>(
"temperature_unit_exponent",
0,
"The exponent of the temperature unit. If working in kili-Kelvin for example, "
"this number should be 3");
params.addParam<int>("mass_unit_exponent",
0,
"The exponent of the mass unit. If working in miligrams for example, "
"this number should be -9");
params.addParam<int>("time_unit_exponent",
0,
"The exponent of the time unit. If working in micro-seconds for example, "
"this number should be -6"););
InputParameters
CrazyKCPlantFits::validParams()
{
InputParameters params = ADMaterial::validParams();
params.addParam<Real>("c_mu0", 0.15616, "mu0 coefficient");
params.addParam<Real>("c_mu1", -3.3696e-5, "mu1 coefficient");
params.addParam<Real>("c_mu2", 1.0191e-8, "mu2 coefficient");
params.addParam<Real>("c_mu3", -1.0413e-12, "mu3 coefficient");
params.addParam<Real>("Tmax", 4000, "The maximum temperature");
params.addParam<Real>("Tl", 1623, "The liquidus temperature");
params.addParam<Real>(
"T90", 1528, "The T90 temperature (I don't know what this means physically)");
params.addParam<Real>("beta", 1e11, "beta coefficient");
params.addParam<Real>("c_k0", 10.7143, "k0 coefficient");
params.addParam<Real>("c_k1", 14.2857e-3, "k0 coefficient");
params.addParam<Real>("c_cp0", 425.75, "cp0 coefficient");
params.addParam<Real>("c_cp1", 170.833e-3, "cp1 coefficient");
params.addParam<Real>("c_rho0", 7.9e3, "The constant density");
params.addCoupledVar("temperature", 1., "The temperature");
params.addParam<MaterialPropertyName>(
"mu_name", "mu", "The name of the viscosity material property");
params.addParam<MaterialPropertyName>("k_name", "k", "The name of the thermal conductivity");
params.addParam<MaterialPropertyName>("cp_name", "cp", "The name of the thermal conductivity");
params.addParam<MaterialPropertyName>("rho_name", "rho", "The name of the thermal conductivity");
params.addParam<int>("length_unit_exponent",
0,
"The exponent of the length unit. If working in milimeters for example, "
"this number should be -3");
params.addParam<int>(
"temperature_unit_exponent",
0,
"The exponent of the temperature unit. If working in kili-Kelvin for example, "
"this number should be 3");
params.addParam<int>("mass_unit_exponent",
0,
"The exponent of the mass unit. If working in miligrams for example, "
"this number should be -9");
params.addParam<int>("time_unit_exponent",
0,
"The exponent of the time unit. If working in micro-seconds for example, "
"this number should be -6");
return params;
}

template <ComputeStage compute_stage>
CrazyKCPlantFits<compute_stage>::CrazyKCPlantFits(const InputParameters & parameters)
: ADMaterial<compute_stage>(parameters),
_c_mu0(adGetParam<Real>("c_mu0")),
_c_mu1(adGetParam<Real>("c_mu1")),
_c_mu2(adGetParam<Real>("c_mu2")),
_c_mu3(adGetParam<Real>("c_mu3")),
_Tmax(adGetParam<Real>("Tmax")),
_Tl(adGetParam<Real>("Tl")),
_T90(adGetParam<Real>("T90")),
_beta(adGetParam<Real>("beta")),
_c_k0(adGetParam<Real>("c_k0")),
_c_k1(adGetParam<Real>("c_k1")),
_c_cp0(adGetParam<Real>("c_cp0")),
_c_cp1(adGetParam<Real>("c_cp1")),
_c_rho0(adGetParam<Real>("c_rho0")),
CrazyKCPlantFits::CrazyKCPlantFits(const InputParameters & parameters)
: ADMaterial(parameters),
_c_mu0(getParam<Real>("c_mu0")),
_c_mu1(getParam<Real>("c_mu1")),
_c_mu2(getParam<Real>("c_mu2")),
_c_mu3(getParam<Real>("c_mu3")),
_Tmax(getParam<Real>("Tmax")),
_Tl(getParam<Real>("Tl")),
_T90(getParam<Real>("T90")),
_beta(getParam<Real>("beta")),
_c_k0(getParam<Real>("c_k0")),
_c_k1(getParam<Real>("c_k1")),
_c_cp0(getParam<Real>("c_cp0")),
_c_cp1(getParam<Real>("c_cp1")),
_c_rho0(getParam<Real>("c_rho0")),
_temperature(adCoupledValue("temperature")),
_grad_temperature(adCoupledGradient("temperature")),
_mu(adDeclareADProperty<Real>(adGetParam<MaterialPropertyName>("mu_name"))),
_k(adDeclareADProperty<Real>(adGetParam<MaterialPropertyName>("k_name"))),
_cp(adDeclareADProperty<Real>(adGetParam<MaterialPropertyName>("cp_name"))),
_rho(adDeclareADProperty<Real>(adGetParam<MaterialPropertyName>("rho_name"))),
_mu(declareADProperty<Real>(getParam<MaterialPropertyName>("mu_name"))),
_k(declareADProperty<Real>(getParam<MaterialPropertyName>("k_name"))),
_cp(declareADProperty<Real>(getParam<MaterialPropertyName>("cp_name"))),
_rho(declareADProperty<Real>(getParam<MaterialPropertyName>("rho_name"))),
_grad_k(
adDeclareADProperty<RealVectorValue>("grad_" + adGetParam<MaterialPropertyName>("k_name"))),
_length_units_per_meter(1. / std::pow(10, adGetParam<int>("length_unit_exponent"))),
_temperature_units_per_kelvin(1. / std::pow(10, adGetParam<int>("temperature_unit_exponent"))),
_mass_units_per_kilogram(1. / std::pow(10, adGetParam<int>("mass_unit_exponent"))),
_time_units_per_second(1. / std::pow(10, adGetParam<int>("time_unit_exponent")))
declareADProperty<RealVectorValue>("grad_" + getParam<MaterialPropertyName>("k_name"))),
_length_units_per_meter(1. / std::pow(10, getParam<int>("length_unit_exponent"))),
_temperature_units_per_kelvin(1. / std::pow(10, getParam<int>("temperature_unit_exponent"))),
_mass_units_per_kilogram(1. / std::pow(10, getParam<int>("mass_unit_exponent"))),
_time_units_per_second(1. / std::pow(10, getParam<int>("time_unit_exponent")))
{
}

template <ComputeStage compute_stage>
void
CrazyKCPlantFits<compute_stage>::computeQpProperties()
CrazyKCPlantFits::computeQpProperties()
{
if (_temperature[_qp] < _Tl * _temperature_units_per_kelvin)
_mu[_qp] = _mass_units_per_kilogram / (_length_units_per_meter * _time_units_per_second) *
Expand All @@ -87,8 +86,7 @@ CrazyKCPlantFits<compute_stage>::computeQpProperties()
((_Tl - _T90) * _temperature_units_per_kelvin));
else
{
typename std::remove_const<
typename std::remove_reference<decltype(_temperature[_qp])>::type>::type That;
ADReal That;
That = _temperature[_qp] / _temperature_units_per_kelvin > _Tmax
? _Tmax
: _temperature[_qp] / _temperature_units_per_kelvin;
Expand Down
Loading

0 comments on commit 093e30d

Please sign in to comment.