Skip to content
Permalink
Browse files

Merge pull request #12944 from aeslaughter/mooseletter-11446

Start Feb. and Mar. 2019 newsletters
  • Loading branch information...
lindsayad committed Feb 27, 2019
2 parents cee6aad + 8c0a561 commit ee493f6ebf0e9b219a3906b32b432f4fbbb20826
@@ -0,0 +1,44 @@
# MOOSE News (February 2019)

## Continued Automatic Differentiation Expansion

Automatic differentiation can now be conducted for `VectorKernels`, `NodalBCs`,
`VectorNodalBCs`, `IntegratedBCs`, and `VectorIntegratedBCs`. Additionally, the
framework now calculates the dependence of important finite element quanitites
like `JxW`, shape function gradients and consequently variable gradients,
`normals`, and 'curvatures` on mesh displacements. Calculating these
dependencies is critical for efficient non-linear solves of large-deformation
solid mechanics, laser-melting/welding, and fluid-structure-interaction
problems.
## Improved support for "execute_on = FINAL"
Support for executing objects with the "FINAL" execute flag was improved; specifically, the ability
to perform a transfers on final was added. This change also involved improving support for Exodus
output to also be limited to final.
Additionally, the ability to create symbolic links to the "latest" and "final" versions of
VectorPostprocessor output was added. This capability is controlled via the [CSV.md] output object
using the `create_latest_symlink` and `create_final_symlink` input parameter flags. These flags,
when enabled, will create files with "_LATEST" and "_FINAL". The latest flag will link to the last
timestep for the most current simulation run and the final flag will point to the file created
if the output object is setup to execute on final.
## MultiApp Input Control Support
The ability to control MultiApp command line arguments during the MultiApp initialization was
added to allow for input parameters for each MultiApp to be defined via the input file of the
master application.
For example, the following snippet show a MultiApps input block that is creates two sub-applications
from a single input file. Using the 'cli_args' input parameter the mesh size for the two
applications is modified.
!listing command_line/master.i block=MultiApps
For more advanced parameter manipulation the [Control System](Controls/index.md) should be utilized.
For example, within the [stochastic tools module](stochastic_tools/index.md) the following test
demonstrates the ability to set input parameters within the sub-applications with values from a
distribution.
!listing master_multiple.i
@@ -0,0 +1,50 @@
# MOOSE News (March 2019)

## MOOSEDocs LaTeX Support

Support for PDF output (via pdflatex) was added to MOOSEDocs, this capability includes support for
latex output to all MOOSEDocs extensions. This capability is still in the early stages of
development, but if you are ambitious and would like to test out the capability the following will
demonstrate the tool.

```bash
cd ~/projects/moose/test
make -j12
cd ~/projects/moose/python/MooseDocs/test
./moosedocs.py build --config latex.yml
open output/latex/main.pdf # MacOS only
```

## AD Vector Variable Coupling

Support was added to the automatic differentiation system in support of coupling to vector variables
via the `adCoupledVectorValue` and `adCoupledVectorGradient` functions within the ADKernel objects.

## AD Fluid Properties

Support was added to the fluid properties system for automatic differentiation - currently
SinglePhaseFluidProperties only. To use it, call the appropriate functions while passing in
ADReal values - e.g.:

```c++
// assume rho is an AD nonlinear variable:
ADReal specific_vol = 1 / rho;
// assume rhoE, and rhou are AD nonlinear variables:
ADReal u = rhou/rho;
ADReal specific_internal_energy = rhoE / rho - u*u/2;
ADReal pressure = _fluid_prop_object.p_from_v_e(specific_vol, specific_internal_energy);
```

## AD Tensor Mechanics

Tensor mechanics stress divergence kernels for all coordinate systems were converted over to the
automatic differentiation system. In addition, AD versions for strain calculators for all coordinate
systems and all supported strain types (small, incremental small, and finite) were added (new object
name prefixed with `AD`). Initial AD support for inelastic models has been added, such as power law
creep. Creep and plasticity models with internal newton solves have particularly difficult to implement
Jacobians (which are currently often approximated by the elastic stiffness). AD improves these models
considerably by providing perfect Jacobians. In support of the AD Tensor
Mechanics additions, framework level calculation of the dependence of quadrature point
locations on mesh displacements was added. This is particularly important for
calculations in non-Cartesian geometries.
@@ -6,6 +6,7 @@ monthly to the [MOOSE users](contact_us.md) as well as provided below.

## 2019

- [February, 2019](2019_02.md)
- [January, 2019](2019_01.md)

## 2018

0 comments on commit ee493f6

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