Skip to content

Commit

Permalink
Rename steel materials for laser welding
Browse files Browse the repository at this point in the history
  • Loading branch information
lindsayad committed May 26, 2023
1 parent a22b6d1 commit 4045e1f
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,24 @@

#pragma once

#include "ADMaterial.h"
#include "Material.h"

/**
* A material that couples a material property
* A material that computes 304L volumetric stainless steel properties relevant to doing laser
* welding modeling. The functional form of these properties come from:
*
* techreport{noble2007use,
* title={Use of Aria to simulate laser weld pool dynamics for neutron generator production.},
* author={Noble, David R and Notz, Patrick K and Martinez, Mario J and Kraynik, Andrew Michael},
* year={2007},
* institution={Sandia National Laboratories (SNL), Albuquerque, NM, and Livermore, CA}}
*/
class CrazyKCPlantFits : public ADMaterial
class AriaLaserWeld304LStainlessSteel : public Material
{
public:
static InputParameters validParams();

CrazyKCPlantFits(const InputParameters & parameters);
AriaLaserWeld304LStainlessSteel(const InputParameters & parameters);

protected:
virtual void computeQpProperties();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,24 @@

#pragma once

#include "ADMaterial.h"
#include "Material.h"

/**
* A material that couples a material property
* A material that computes 304L surface stainless steel properties relevant to doing laser
* welding modeling. The functional form of these properties come from:
*
* techreport{noble2007use,
* title={Use of Aria to simulate laser weld pool dynamics for neutron generator production.},
* author={Noble, David R and Notz, Patrick K and Martinez, Mario J and Kraynik, Andrew Michael},
* year={2007},
* institution={Sandia National Laboratories (SNL), Albuquerque, NM, and Livermore, CA}}
*/
class CrazyKCPlantFitsBoundary : public ADMaterial
class AriaLaserWeld304LStainlessSteelBoundary : public Material
{
public:
static InputParameters validParams();

CrazyKCPlantFitsBoundary(const InputParameters & parameters);
AriaLaserWeld304LStainlessSteelBoundary(const InputParameters & parameters);

protected:
virtual void computeQpProperties();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
//* Licensed under LGPL 2.1, please see LICENSE for details
//* https://www.gnu.org/licenses/lgpl-2.1.html

#include "CrazyKCPlantFits.h"
#include "AriaLaserWeld304LStainlessSteel.h"

registerMooseObject("NavierStokesTestApp", CrazyKCPlantFits);
registerMooseObject("NavierStokesTestApp", AriaLaserWeld304LStainlessSteel);

InputParameters
CrazyKCPlantFits::validParams()
AriaLaserWeld304LStainlessSteel::validParams()
{
InputParameters params = ADMaterial::validParams();
InputParameters params = Material::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");
Expand Down Expand Up @@ -55,8 +55,8 @@ CrazyKCPlantFits::validParams()
return params;
}

CrazyKCPlantFits::CrazyKCPlantFits(const InputParameters & parameters)
: ADMaterial(parameters),
AriaLaserWeld304LStainlessSteel::AriaLaserWeld304LStainlessSteel(const InputParameters & parameters)
: Material(parameters),
_c_mu0(getParam<Real>("c_mu0")),
_c_mu1(getParam<Real>("c_mu1")),
_c_mu2(getParam<Real>("c_mu2")),
Expand Down Expand Up @@ -85,7 +85,7 @@ CrazyKCPlantFits::CrazyKCPlantFits(const InputParameters & parameters)
}

void
CrazyKCPlantFits::computeQpProperties()
AriaLaserWeld304LStainlessSteel::computeQpProperties()
{
if (_temperature[_qp] < _Tl * _temperature_units_per_kelvin)
_mu[_qp] = _mass_units_per_kilogram / (_length_units_per_meter * _time_units_per_second) *
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@
//* Licensed under LGPL 2.1, please see LICENSE for details
//* https://www.gnu.org/licenses/lgpl-2.1.html

#include "CrazyKCPlantFitsBoundary.h"
#include "AriaLaserWeld304LStainlessSteelBoundary.h"
#include "Assembly.h"

registerMooseObject("NavierStokesTestApp", CrazyKCPlantFitsBoundary);
registerMooseObject("NavierStokesTestApp", AriaLaserWeld304LStainlessSteelBoundary);

InputParameters
CrazyKCPlantFitsBoundary::validParams()
AriaLaserWeld304LStainlessSteelBoundary::validParams()
{
InputParameters params = ADMaterial::validParams();
InputParameters params = Material::validParams();
params.addParam<Real>("c_mu0", 0.15616, "mu0 coefficient");
params.addParam<Real>("ap0", 0, "");
params.addParam<Real>("ap1", 1.851502e1, "");
Expand Down Expand Up @@ -58,8 +58,9 @@ CrazyKCPlantFitsBoundary::validParams()
return params;
}

CrazyKCPlantFitsBoundary::CrazyKCPlantFitsBoundary(const InputParameters & parameters)
: ADMaterial(parameters),
AriaLaserWeld304LStainlessSteelBoundary::AriaLaserWeld304LStainlessSteelBoundary(
const InputParameters & parameters)
: Material(parameters),
_ap0(getParam<Real>("ap0")),
_ap1(getParam<Real>("ap1")),
_ap2(getParam<Real>("ap2")),
Expand Down Expand Up @@ -92,7 +93,7 @@ CrazyKCPlantFitsBoundary::CrazyKCPlantFitsBoundary(const InputParameters & param
}

void
CrazyKCPlantFitsBoundary::computeQpProperties()
AriaLaserWeld304LStainlessSteelBoundary::computeQpProperties()
{
auto && theta = _temperature[_qp] / _temperature_units_per_kelvin - _Tb;
if (theta < _Tbound1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,19 +240,16 @@ sb=5.67e-8
temperature = T
use_displaced_mesh = true
[]
[kc_fits]
type = CrazyKCPlantFits
[steel]
type = AriaLaserWeld304LStainlessSteel
temperature = T
beta = 1e7
[]
[boundary]
type = CrazyKCPlantFitsBoundary
[steel_boundary]
type = AriaLaserWeld304LStainlessSteelBoundary
boundary = 'front'
temperature = T
[]
[]

[Materials]
[const]
type = GenericConstantMaterial
prop_names = 'abs sb_constant'
Expand Down

0 comments on commit 4045e1f

Please sign in to comment.