www.mooseframework.org
PFCTradMaterial.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #include "PFCTradMaterial.h"
8 
9 template <>
10 InputParameters
12 {
13  InputParameters params = validParams<Material>();
14  params.addClassDescription(
15  "Polynomial coefficients for a phase field crystal correlation function");
16  MooseEnum order("FOURTH=4 EIGHTH=8");
17  params.addRequiredParam<MooseEnum>(
18  "order", order, "This is the order of the polynomial used for correlation function");
19  return params;
20 }
21 
22 PFCTradMaterial::PFCTradMaterial(const InputParameters & parameters)
23  : Material(parameters),
24  _order(getParam<MooseEnum>("order")),
25  _M(declareProperty<Real>("M")),
26  _a(declareProperty<Real>("a")),
27  _b(declareProperty<Real>("b")),
28  _C0(declareProperty<Real>("C0")),
29  _C2(declareProperty<Real>("C2")),
30  _C4(declareProperty<Real>("C4")),
31  _C6(declareProperty<Real>("C6")),
32  _C8(declareProperty<Real>("C8"))
33 {
34 }
35 
36 void
38 {
39  const Real invSkm = 0.332;
40  const Real u_s = 0.72;
41 
42  _M[_qp] = 1.0;
43  _a[_qp] = 3.0 / (2.0 * u_s) * invSkm;
44  _b[_qp] = 4.0 / (30.0 * u_s * u_s) * invSkm;
45 
46  switch (_order)
47  {
48  case 4:
49  _C0[_qp] = -10.9153;
50  _C2[_qp] = 2.6; // Angstrom^2
51  _C4[_qp] = 0.1459; // Angstrom^4, would be negative but coefficient term is negative
52  break;
53 
54  case 8:
55  _C0[_qp] = -49.0;
56  // new parameter derived from Jaatinen's paper; using km = 2.985 A; updated 1/31/2015.
57  _C2[_qp] = 20.00313; // Angstrom^2
58  _C4[_qp] = 3.11883; // Angstrom^4, would be negative but coefficient term is negative
59  _C6[_qp] = 0.22554; // Angstrom^6
60  _C8[_qp] = 0.00643; // Angstrom^8, would be negative but coefficient term is negative
61  break;
62 
63  default:
64  mooseError("Unknown order value.");
65  }
66 }
MaterialProperty< Real > & _C0
MaterialProperty< Real > & _M
MaterialProperty< Real > & _C2
MaterialProperty< Real > & _C4
const unsigned int _order
PFCTradMaterial(const InputParameters &parameters)
InputParameters validParams< PFCTradMaterial >()
MaterialProperty< Real > & _C8
MaterialProperty< Real > & _b
MaterialProperty< Real > & _C6
MaterialProperty< Real > & _a
virtual void computeQpProperties()