Skip to content
Permalink
Browse files

Merge pull request #13363 from dschwen/phase_field_tests_2975

Fixing phase field tests in parallel
  • Loading branch information...
permcody committed May 8, 2019
2 parents e784580 + 628abb4 commit 713b4b56590e32239bd78d97ef72c38949df5b1a
Showing with 309 additions and 870 deletions.
  1. +2 −3 modules/phase_field/include/ics/PFCFreezingIC.h
  2. +2 −3 modules/phase_field/include/ics/PolycrystalRandomIC.h
  3. +4 −3 modules/phase_field/src/action/BicrystalBoundingBoxICAction.C
  4. +3 −7 modules/phase_field/src/ics/PFCFreezingIC.C
  5. +4 −5 modules/phase_field/src/ics/PolycrystalRandomIC.C
  6. +1 −1 modules/phase_field/src/materials/GBAnisotropyBase.C
  7. +3 −3 modules/phase_field/src/materials/GBEvolutionBase.C
  8. +1 −2 modules/phase_field/src/materials/MultiBarrierFunctionMaterial.C
  9. +0 −163 modules/phase_field/test/tests/CahnHilliardFluxBC/anisotropic.i
  10. +0 −169 modules/phase_field/test/tests/CahnHilliardFluxBC/anisotropic_split.i
  11. BIN modules/phase_field/test/tests/CahnHilliardFluxBC/gold/anisotropic_out.e
  12. BIN modules/phase_field/test/tests/CahnHilliardFluxBC/gold/anisotropic_split_out.e
  13. BIN modules/phase_field/test/tests/CahnHilliardFluxBC/gold/isotropic_out.e
  14. BIN modules/phase_field/test/tests/CahnHilliardFluxBC/gold/isotropic_split_out.e
  15. +0 −127 modules/phase_field/test/tests/CahnHilliardFluxBC/isotropic.i
  16. +0 −140 modules/phase_field/test/tests/CahnHilliardFluxBC/isotropic_split.i
  17. +0 −22 modules/phase_field/test/tests/CahnHilliardFluxBC/tests
  18. +12 −0 modules/phase_field/test/tests/GBAnisotropy/tests
  19. +1 −3 modules/phase_field/test/tests/GBAnisotropy/testwidth1.i
  20. +3 −5 modules/phase_field/test/tests/GrandPotentialPFM/GrandPotentialAnisotropy.i
  21. +3 −8 modules/phase_field/test/tests/KKS_system/kks_example.i
  22. +2 −2 modules/phase_field/test/tests/KKS_system/kks_example_offset.i
  23. +3 −2 modules/phase_field/test/tests/KKS_system/kks_example_split.i
  24. +2 −0 modules/phase_field/test/tests/KKS_system/kks_phase_concentration.i
  25. +2 −0 modules/phase_field/test/tests/KKS_system/kks_xevac.i
  26. +18 −0 modules/phase_field/test/tests/KKS_system/tests
  27. BIN modules/phase_field/test/tests/MultiPhase/gold/mixedswitchingfunctionmaterial_out.e
  28. +2 −5 modules/phase_field/test/tests/MultiPhase/mixedswitchingfunctionmaterial.i
  29. +46 −1 modules/phase_field/test/tests/MultiPhase/tests
  30. +0 −3 modules/phase_field/test/tests/SoretDiffusion/direct.i
  31. +0 −3 modules/phase_field/test/tests/SoretDiffusion/direct_temp.i
  32. +2 −2 modules/phase_field/test/tests/SoretDiffusion/split.i
  33. +0 −3 modules/phase_field/test/tests/SoretDiffusion/split_temp.i
  34. +7 −0 modules/phase_field/test/tests/SoretDiffusion/tests
  35. +2 −2 modules/phase_field/test/tests/actions/conserved_split_1var.i
  36. +2 −2 modules/phase_field/test/tests/actions/conserved_split_1var_high_order.i
  37. BIN modules/phase_field/test/tests/actions/gold/conserved_split_1var_high_order_out.e
  38. BIN modules/phase_field/test/tests/actions/gold/conserved_split_1var_out.e
  39. +2 −6 ...s/phase_field/test/tests/{grain_growth_test/GrGr_boundingbox_test.i → grain_growth/boundingbox.i}
  40. 0 modules/phase_field/test/tests/{grain_growth_test → grain_growth}/check_csv.m
  41. +7 −7 ...se_field/test/tests/{grain_growth_test/GBEvolution_mob_test.i → grain_growth/constant_mobility.i}
  42. +3 −6 modules/phase_field/test/tests/{grain_growth_test/GBEvolution_test.i → grain_growth/evolution.i}
  43. +5 −5 modules/phase_field/test/tests/{grain_growth_test/GrGr_test_explicit.i → grain_growth/explicit.i}
  44. BIN ...est/tests/{grain_growth_test/gold/bounding_box.e-s003 → grain_growth/gold/boundingbox_out.e-s003}
  45. BIN ...test/tests/{grain_growth_test/gold/GBEvolution_mob.e → grain_growth/gold/constant_mobility_out.e}
  46. BIN ...phase_field/test/tests/{grain_growth_test/gold/GBEvolution.e → grain_growth/gold/evolution_out.e}
  47. BIN ...les/phase_field/test/tests/{grain_growth_test/gold/explicit.e → grain_growth/gold/explicit_out.e}
  48. BIN modules/phase_field/test/tests/{grain_growth_test/gold/hex.e → grain_growth/gold/hex_out.e}
  49. BIN ...ld/test/tests/{grain_growth_test/gold/OffDiag.e-s002 → grain_growth/gold/off-diagonal_out.e-s002}
  50. BIN ...field/test/tests/{grain_growth_test/gold/particle.e-s005 → grain_growth/gold/particle_out.e-s005}
  51. BIN ...t/tests/{grain_growth_test/gold/GrGr_wTGrad_out.e → grain_growth/gold/temperature_gradient_out.e}
  52. BIN ...es/phase_field/test/tests/{grain_growth_test/gold/out.e-s005 → grain_growth/gold/test_out.e-s005}
  53. BIN ...phase_field/test/tests/{grain_growth_test/gold/Thumb.e-s006 → grain_growth/gold/thumb_out.e-s006}
  54. BIN ...eld/test/tests/{grain_growth_test/gold/voronoi3D.e → grain_growth/gold/voronoi_columnar_3D_out.e}
  55. BIN modules/phase_field/test/tests/{grain_growth_test/gold/voronoi.e → grain_growth/gold/voronoi_out.e}
  56. +1 −6 modules/phase_field/test/tests/{grain_growth_test/GrGr_hex_test.i → grain_growth/hex.i}
  57. +3 −23 modules/phase_field/test/tests/{grain_growth_test/GrGr_OffDiag_test.i → grain_growth/off-diagonal.i}
  58. +8 −8 modules/phase_field/test/tests/{grain_growth_test/GrGr_particle_test.i → grain_growth/particle.i}
  59. 0 ...es/phase_field/test/tests/{grain_growth_test/GrGr_wTGrad.i → grain_growth/temperature_gradient.i}
  60. +3 −4 modules/phase_field/test/tests/{grain_growth_test/GrGr_test.i → grain_growth/test.i}
  61. +113 −0 modules/phase_field/test/tests/grain_growth/tests
  62. +16 −25 modules/phase_field/test/tests/{grain_growth_test/GrGr_thumb_test.i → grain_growth/thumb.i}
  63. +1 −4 modules/phase_field/test/tests/{grain_growth_test/GrGr_voronoi_test.i → grain_growth/voronoi.i}
  64. +3 −6 ...est/tests/{grain_growth_test/GrGr_voronoi_columnar3D_test.i → grain_growth/voronoi_columnar_3D.i}
  65. +0 −79 modules/phase_field/test/tests/grain_growth_test/tests
  66. +2 −2 modules/phase_field/test/tests/misc/equal_gradient_lagrange.i
  67. +15 −0 modules/phase_field/test/tests/misc/tests
  68. BIN modules/phase_field/test/tests/phase_field_crystal/PFC_IC/gold/PFC_IC_BCC_test_out.e
  69. BIN modules/phase_field/test/tests/phase_field_crystal/PFC_IC/gold/PFC_IC_FCC_test_out.e
@@ -9,7 +9,7 @@

#pragma once

#include "InitialCondition.h"
#include "RandomICBase.h"

// Forward Declarations
class PFCFreezingIC;
@@ -24,7 +24,7 @@ InputParameters validParams<PFCFreezingIC>();
* \todo For the FCC this returns 0. This cannot be right, yet it satisfies the (probably bogus)
* test.
*/
class PFCFreezingIC : public InitialCondition
class PFCFreezingIC : public RandomICBase
{
public:
PFCFreezingIC(const InputParameters & parameters);
@@ -52,4 +52,3 @@ class PFCFreezingIC : public InitialCondition

unsigned int _icdim;
};

@@ -9,7 +9,7 @@

#pragma once

#include "InitialCondition.h"
#include "RandomICBase.h"

// Forward Declarations
class PolycrystalRandomIC;
@@ -20,7 +20,7 @@ InputParameters validParams<PolycrystalRandomIC>();
/**
* Random initial condition for a polycrystalline material
*/
class PolycrystalRandomIC : public InitialCondition
class PolycrystalRandomIC : public RandomICBase
{
public:
PolycrystalRandomIC(const InputParameters & parameters);
@@ -32,4 +32,3 @@ class PolycrystalRandomIC : public InitialCondition
const unsigned int _op_index;
const unsigned int _random_type;
};

@@ -19,7 +19,8 @@ InputParameters
validParams<BicrystalBoundingBoxICAction>()
{
InputParameters params = validParams<Action>();
params.addClassDescription("Bicrystal using a bounding box");
params.addClassDescription("Constructs a bicrystal, where one grain is on the inside of "
"the box and the other grain is the outside of the box");
params.addRequiredParam<std::string>("var_name_base", "specifies the base name of the variables");
params.addRequiredParam<unsigned int>("op_num", "Number of grains, should be 2");
params.addRequiredParam<Real>("x1", "The x coordinate of the lower left-hand corner of the box");
@@ -37,7 +38,7 @@ BicrystalBoundingBoxICAction::BicrystalBoundingBoxICAction(const InputParameters
_op_num(getParam<unsigned int>("op_num"))
{
if (_op_num != 2)
paramError("op_num", "op_num must equal 2 for bicrystal ICs");
paramError("op_num", "Must equal 2 for bicrystal ICs");
}

void
@@ -59,7 +60,7 @@ BicrystalBoundingBoxICAction::act()
poly_params.set<VariableName>("variable") = var_name;
if (op == 0)
{
// Values for bounding box
// Values for bounding box grain
poly_params.set<Real>("inside") = 1.0;
poly_params.set<Real>("outside") = 0.0;
}
@@ -16,7 +16,7 @@ template <>
InputParameters
validParams<PFCFreezingIC>()
{
InputParameters params = validParams<InitialCondition>();
InputParameters params = validParams<RandomICBase>();
params.addRequiredParam<Real>("x1",
"The x coordinate of the lower left-hand corner of the frozen box");
params.addRequiredParam<Real>("y1",
@@ -38,13 +38,11 @@ validParams<PFCFreezingIC>()
params.addParam<MooseEnum>(
"crystal_structure", crystal_structures, "The type of crystal structure");

params.addParam<unsigned int>("seed", 0, "Seed value for the random number generator");

return params;
}

PFCFreezingIC::PFCFreezingIC(const InputParameters & parameters)
: InitialCondition(parameters),
: RandomICBase(parameters),
_x1(getParam<Real>("x1")),
_y1(getParam<Real>("y1")),
_z1(getParam<Real>("z1")),
@@ -67,8 +65,6 @@ PFCFreezingIC::PFCFreezingIC(const InputParameters & parameters)
for (unsigned int i = 0; i < LIBMESH_DIM; i++)
mooseAssert(_range(i) >= 0.0, "x1, y1 or z1 is not less than x2, y2 or z2");

MooseRandom::seed(getParam<unsigned int>("seed"));

if (_range(1) == 0.0)
_icdim = 1;
else if (_range(2) < 1.0e-10 * _range(0))
@@ -83,7 +79,7 @@ PFCFreezingIC::value(const Point & p)
// If out of bounds, set random value
for (unsigned int i = 0; i < LIBMESH_DIM; i++)
if (p(i) < _bottom_left(i) || p(i) > _top_right(i))
return _min + _val_range * MooseRandom::rand();
return _min + _val_range * generateRandom();

// If in bounds, set sinusoid IC to make atoms
Real val = 0.0;
@@ -16,17 +16,16 @@ template <>
InputParameters
validParams<PolycrystalRandomIC>()
{
InputParameters params = validParams<InitialCondition>();
InputParameters params = validParams<RandomICBase>();
params.addClassDescription("Random initial condition for a polycrystalline material");
params.addRequiredParam<unsigned int>("op_num", "Number of order parameters");
params.addRequiredParam<unsigned int>("op_index", "The index for the current order parameter");
params.addRequiredParam<unsigned int>("random_type",
"Type of random grain structure (formerly called 'typ')");
params.addRequiredParam<unsigned int>("random_type", "Type of random grain structure");
return params;
}

PolycrystalRandomIC::PolycrystalRandomIC(const InputParameters & parameters)
: InitialCondition(parameters),
: RandomICBase(parameters),
_op_num(getParam<unsigned int>("op_num")),
_op_index(getParam<unsigned int>("op_index")),
_random_type(getParam<unsigned int>("random_type"))
@@ -37,7 +36,7 @@ Real
PolycrystalRandomIC::value(const Point & p)
{
Point cur_pos = p;
Real val = MooseRandom::rand();
Real val = generateRandom();

switch (_random_type)
{
@@ -31,7 +31,7 @@ validParams<GBAnisotropyBase>()
"Name of the file containing: 1)GB mobility prefactor; 2) GB "
"migration activation energy; 3)GB energy");
params.addRequiredParam<bool>("inclination_anisotropy",
"The GB anisotropy ininclination would be considered if true");
"The GB anisotropy inclination would be considered if true");
params.addRequiredCoupledVarWithAutoBuild(
"v", "var_name_base", "op_num", "Array of coupled variables");
return params;
@@ -69,14 +69,14 @@ GBEvolutionBase::computeQpProperties()
{
const Real length_scale4 = _length_scale * _length_scale * _length_scale * _length_scale;

// Convert to lengthscale^4/(eV*timescale);
Real M0 = _GBmob0 * _time_scale / (_JtoeV * length_scale4);

// GB mobility Derivative
Real dM_GBdT;

if (_GBMobility < 0)
{
// Convert to lengthscale^4/(eV*timescale);
const Real M0 = _GBmob0 * _time_scale / (_JtoeV * length_scale4);

_M_GB[_qp] = M0 * std::exp(-_Q / (_kb * _T[_qp]));
dM_GBdT = _M_GB[_qp] * _Q / (_kb * _T[_qp] * _T[_qp]);
}
@@ -25,7 +25,7 @@ validParams<MultiBarrierFunctionMaterial>()
false,
"Make the g zero in [0:1] so it only contributes to "
"enforcing the eta range and not to the phase "
"transformation berrier.");
"transformation barrier.");
params.addRequiredCoupledVar("etas", "eta_i order parameters, one for each h");
return params;
}
@@ -62,7 +62,6 @@ MultiBarrierFunctionMaterial::computeQpProperties()

if (_well_only && n >= 0.0 && n <= 1.0)
{
_prop_g[_qp] = 0.0;
(*_prop_dg[i])[_qp] = 0.0;
(*_prop_d2g[i])[_qp] = 0.0;
continue;

This file was deleted.

Oops, something went wrong.
Oops, something went wrong.

0 comments on commit 713b4b5

Please sign in to comment.
You can’t perform that action at this time.