LCOV - code coverage report
Current view: top level - src/materials - PFCRFFMaterial.C (source / functions) Hit Total Coverage
Test: idaholab/moose phase_field: #31405 (292dce) with base fef103 Lines: 54 67 80.6 %
Date: 2025-09-04 07:55:36 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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             : #include "PFCRFFMaterial.h"
      11             : 
      12             : registerMooseObject("PhaseFieldApp", PFCRFFMaterial);
      13             : 
      14             : InputParameters
      15         223 : PFCRFFMaterial::validParams()
      16             : {
      17         223 :   InputParameters params = Material::validParams();
      18         223 :   params.addClassDescription("Defined the mobility, alpha and A constants for the RFF form of the "
      19             :                              "phase field crystal model");
      20         446 :   params.addRequiredParam<unsigned int>(
      21             :       "num_L", "specifies the number of complex L variables will be solved for");
      22         223 :   return params;
      23           0 : }
      24             : 
      25         171 : PFCRFFMaterial::PFCRFFMaterial(const InputParameters & parameters)
      26             :   : Material(parameters),
      27         171 :     _M(declareProperty<Real>("M")),
      28         171 :     _alpha_R_0(declareProperty<Real>("alpha_R_0")),
      29         171 :     _alpha_I_0(declareProperty<Real>("alpha_I_0")),
      30         171 :     _A_R_0(declareProperty<Real>("A_R_0")),
      31         171 :     _A_I_0(declareProperty<Real>("A_I_0")),
      32         171 :     _alpha_R_1(declareProperty<Real>("alpha_R_1")),
      33         171 :     _alpha_I_1(declareProperty<Real>("alpha_I_1")),
      34         171 :     _A_R_1(declareProperty<Real>("A_R_1")),
      35         171 :     _A_I_1(declareProperty<Real>("A_I_1")),
      36         171 :     _alpha_R_2(declareProperty<Real>("alpha_R_2")),
      37         171 :     _alpha_I_2(declareProperty<Real>("alpha_I_2")),
      38         171 :     _A_R_2(declareProperty<Real>("A_R_2")),
      39         171 :     _A_I_2(declareProperty<Real>("A_I_2")),
      40         171 :     _alpha_R_3(declareProperty<Real>("alpha_R_3")),
      41         171 :     _alpha_I_3(declareProperty<Real>("alpha_I_3")),
      42         171 :     _A_R_3(declareProperty<Real>("A_R_3")),
      43         171 :     _A_I_3(declareProperty<Real>("A_I_3")),
      44         171 :     _alpha_R_4(declareProperty<Real>("alpha_R_4")),
      45         171 :     _alpha_I_4(declareProperty<Real>("alpha_I_4")),
      46         171 :     _A_R_4(declareProperty<Real>("A_R_4")),
      47         171 :     _A_I_4(declareProperty<Real>("A_I_4")),
      48         513 :     _num_L(getParam<unsigned int>("num_L"))
      49             : {
      50         171 : }
      51             : 
      52             : void
      53      213696 : PFCRFFMaterial::computeQpProperties()
      54             : {
      55             :   // Mobility
      56      213696 :   _M[_qp] = 1.0;
      57             : 
      58             :   // Alpha and A constants
      59      213696 :   if (_num_L == 3)
      60             :   {
      61             :     // alpha constants
      62           0 :     _alpha_R_0[_qp] = 2.352788316033853;
      63           0 :     _alpha_I_0[_qp] = 0.0;
      64           0 :     _alpha_R_1[_qp] = -4.371217046300305;
      65           0 :     _alpha_I_1[_qp] = 6.153993830413678;
      66           0 :     _alpha_R_2[_qp] = -4.371217046300305;
      67           0 :     _alpha_I_2[_qp] = -6.153993830413678;
      68             : 
      69             :     // A constants
      70           0 :     _A_R_0[_qp] = -1.254832460194660e2;
      71           0 :     _A_I_0[_qp] = 4.141043034348927e-15;
      72           0 :     _A_R_1[_qp] = 24.798843718179786;
      73           0 :     _A_I_1[_qp] = 37.678064436502760;
      74           0 :     _A_R_2[_qp] = 24.798843718179786;
      75           0 :     _A_I_2[_qp] = -37.678064436502760;
      76             :   }
      77      213696 :   else if (_num_L == 5)
      78             :   {
      79             :     // alpha constants
      80      213696 :     _alpha_R_0[_qp] = 2.429134088464706;
      81      213696 :     _alpha_I_0[_qp] = 0.0;
      82      213696 :     _alpha_R_1[_qp] = -3.972333899872749;
      83      213696 :     _alpha_I_1[_qp] = 6.499130135847140;
      84      213696 :     _alpha_R_2[_qp] = -3.972333899872749;
      85      213696 :     _alpha_I_2[_qp] = -6.499130135847140;
      86      213696 :     _alpha_R_3[_qp] = -18.943264072194637;
      87      213696 :     _alpha_I_3[_qp] = 9.349446845430961;
      88      213696 :     _alpha_R_4[_qp] = -18.943264072194637;
      89      213696 :     _alpha_I_4[_qp] = -9.349446845430961;
      90             : 
      91             :     // A constants
      92      213696 :     _A_R_0[_qp] = -1.282478656880326e02;
      93      213696 :     _A_I_0[_qp] = 9.910190130869531e-15;
      94      213696 :     _A_R_1[_qp] = 34.212475550662354;
      95      213696 :     _A_I_1[_qp] = 42.274652746493430;
      96      213696 :     _A_R_2[_qp] = 34.212475550666770;
      97      213696 :     _A_I_2[_qp] = -42.274652746496530;
      98      213696 :     _A_R_3[_qp] = 10.501019149011636;
      99      213696 :     _A_I_3[_qp] = -2.363585468012575;
     100      213696 :     _A_R_4[_qp] = 10.501019149026910;
     101      213696 :     _A_I_4[_qp] = 2.363585467971611;
     102             :   }
     103      213696 : }
     104             : 
     105             : /*
     106             :   _alpha_R_0[_qp] =  2.412;
     107             :     _alpha_I_0[_qp] =   0.0;
     108             :     _alpha_R_1[_qp] =  -18.62;
     109             :     _alpha_I_1[_qp] =   9.968;
     110             :     _alpha_R_2[_qp] =  -51.8;
     111             :     _alpha_I_2[_qp] =  -18.58;
     112             :     _alpha_R_3[_qp] =   -104.6;
     113             :     _alpha_I_3[_qp] =   -19.21;
     114             :     _alpha_R_4[_qp] =  -3.88;
     115             :     _alpha_I_4[_qp] =   6.545;
     116             : 
     117             :     // A constants
     118             :     _A_R_0[_qp] = -63.1;
     119             :     _A_I_0[_qp] =  0.0;
     120             :     _A_R_1[_qp] = 12.52;
     121             :     _A_I_1[_qp] =  -3.607;
     122             :     _A_R_2[_qp] = 3.88;
     123             :     _A_I_2[_qp] = 0.7762;
     124             :     _A_R_3[_qp] = 0.9984;
     125             :     _A_I_3[_qp] = 0.1591;
     126             :     _A_R_4[_qp] = 36.7;
     127             :     _A_I_4[_qp] = 42.66;
     128             : 
     129             :   else if (_num_L == 5)
     130             :   {
     131             :     // alpha constants
     132             :     _alpha_R_0[_qp] = 2.4887266073084095552303551812656223773956298828125;
     133             :     _alpha_I_0[_qp] =  0.0;
     134             :     _alpha_R_1[_qp] = -19.2733746470461682065433706156909465789794921875;
     135             :     _alpha_I_1[_qp] =  -9.18277447910810451503493823111057281494140625;
     136             :     _alpha_R_2[_qp] = -19.2733746470461682065433706156909465789794921875;
     137             :     _alpha_I_2[_qp] = 9.18277447910810451503493823111057281494140625;
     138             :     _alpha_R_3[_qp] =  -3.8695517424123173633176975272363051772117614746094;
     139             :     _alpha_I_3[_qp] = 6.7955256217773678528715208813082426786422729492188;
     140             :     _alpha_R_4[_qp] =  -3.8695517424123173633176975272363051772117614746094;
     141             :     _alpha_I_4[_qp] =  -6.7955256217773678528715208813082426786422729492188;
     142             : 
     143             :     // A constants
     144             :     _A_R_0[_qp] = -133.2927098034036816898151300847530364990234375;
     145             :     _A_I_0[_qp] =  0.0;
     146             :     _A_R_1[_qp] = 10.728194854990965367846911249216645956039428710938;
     147             :     _A_I_1[_qp] =  2.5027746492227604946378960448782891035079956054688;
     148             :     _A_R_2[_qp] = 10.728194854990965367846911249216645956039428710938;
     149             :     _A_I_2[_qp] = -2.5027746492227604946378960448782891035079956054688;
     150             :     _A_R_3[_qp] = 35.9742594324134188354946672916412353515625;
     151             :     _A_I_3[_qp] = 45.6070815722133602321264334022998809814453125;
     152             :     _A_R_4[_qp] = 35.9742594324134188354946672916412353515625;
     153             :     _A_I_4[_qp] = -45.6070815722133602321264334022998809814453125;
     154             :   }
     155             : 
     156             : */

Generated by: LCOV version 1.14