MOOSE Newsletter (July 2020)

ADInterfaceKernel

ADInterfaceKernel was added to ease development of complex interfacial physics. Users who inherit from ADInterfaceKernel now only have to implement a computeQpResidual function.

New prereq option for tests

Users can now use the test option prereq = ALL when they wish to run a particular test last in a spec file (i.e., after all other tests in the same file are completed). This feature is intended to be used in test spec files with many tests. Here are a few more notes:

  • All tests within the spec file must run and pass for this attribute to have any effect.

  • If you have any tests hard coded to be skipped or are going to be skipped due to some caveat (like compiler = clang), the final test attributed with prereq = ALL will be skipped as well.

  • If a test is using prereq = ALL while another test in the same test spec file is named ALL, an error will be thrown.

A simple example of how to use this new option is shown below:


[Tests]
  [c]
    type = RunApp
    input = test_c.i
    prereq = ALL
  []
  [a]
    type = RunApp
    input = test_a.i
    prereq = b
  []
  [b]
    type = RunApp
    input = test_b.i
  []
[]

In this configuration, Test B will run first, then Test A, and Test C will be performed last (unless A or B fail).

Parallel Mesh Generator

Periodic boundary conditions setup was implemented in a scalable, distributed fashion when the mesh is generated in parallel. A new option num_cores_for_partition was introduced in DistributedRectilinearMeshGenerator to allow users to partition the mesh using a small number of processors while the simulation is carried out using a large number of cores. That potentially speedup the parallel mesh generation.