Skip to content

Commit

Permalink
Merge pull request #26451 from cticenhour/news-dec23
Browse files Browse the repository at this point in the history
Make December 2023 news public
  • Loading branch information
cticenhour authored Jan 4, 2024
2 parents 8345e95 + c007366 commit 28bf8f4
Show file tree
Hide file tree
Showing 7 changed files with 80 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,34 @@ system which sets up all necessary objects to project material property
components onto nodal or elemental basis functions.

Projected and interpolated old state can be enabled using the
`use_inerpolated_state` parameter available in the `MaterialPropertyInterface`.
`use_interpolated_state` parameter available in the `MaterialPropertyInterface`.

### Objects set up by the action

The action will set up aux variables for each scalar component of the projected properties listed in
[!param](/ProjectedStatefulMaterialStorage/ProjectedStatefulMaterialStorageAction/projected_props).
The variables will be marked as hidden and will not appear in any outputs.

The type of each projected material property will be determined automatically and a corresponding
[InterpolatedStatefulMaterial](InterpolatedStatefulMaterial.md) object will be created to
reconstitute a material property of the same type from the old state of the projected variables.

The [!param](/ProjectedStatefulMaterialStorage/ProjectedStatefulMaterialStorageAction/family)
parameter determines whether nodal or elemental basis functions will be used.

#### Elemental basis functions

A [ProjectedStatefulMaterialAux](/ProjectedStatefulMaterialAux.md) aux kernel of the appropriate
type will be added for each scalar material property component (e.g. vector or
tensor components) to perform an elemental projection of the property component.

#### Nodal basis functions

A [ProjectedStatefulMaterialNodalPatchRecovery](/ProjectedStatefulMaterialNodalPatchRecovery.md)
user object of the appropriate type will be created for each material property to prepare data
required for nodal patch recovery of each scalar material property component (e.g. vector or
tensor components).

A [ProjectedMaterialPropertyNodalPatchRecoveryAux](/ProjectedMaterialPropertyNodalPatchRecoveryAux.md)
aux kernel will be added for each scalar material property component to perform nodal patch recovery
using the data collected in the user object.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
This AuxKernel simply returns the value of a given material property (or component of the property value) at a quadrature point with the purpose of projecting the property onto an elemental basis function (e.g. first order monomial).

Variants include:

- `ProjectedStatefulMaterialRealAux`
- `ProjectedStatefulMaterialRealVectorValueAux`
- `ProjectedStatefulMaterialRankTwoTensorAux`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
`InterpolatedStatefulMaterial` reconstitutes the old state of a material property from the old state of the AuxVariables holding the projected components of the material property.

Variants include:

- `InterpolatedStatefulMaterialReal`
- `InterpolatedStatefulMaterialRealVectorValue`
- `InterpolatedStatefulMaterialRankTwoTensor`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
This user object performs patch recovery for a material property component. At step zero this object will compute the material QP values by explicitly calling `initStatefulProperties` in order to project the state that will correspond to the *old state* in the first time step.

Variants include:

- `ProjectedStatefulMaterialNodalPatchRecoveryReal`
- `ProjectedStatefulMaterialNodalPatchRecoveryRealVectorValue`
- `ProjectedStatefulMaterialNodalPatchRecoveryRankTwoTensor`
Expand Down
38 changes: 31 additions & 7 deletions modules/doc/content/newsletter/2023/2023_12.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,38 @@
# MOOSE Newsletter (December 2023)

!alert! construction title=In Progress
This MOOSE Newsletter edition is in progress. Please check back in January 2024
for a complete description of all MOOSE changes.
!alert-end!

## MOOSE Improvements

## libMesh-level Changes
### Projected stateful material properties

The [ProjectedStatefulMaterialStorageAction](/ProjectedStatefulMaterialStorageAction.md)
action system has been added to MOOSE. The action allows users to specify material
properties that will be (componentwise) projected onto a finite element function basis
to store the old and older state of the properties.

This is an *alternative* way of keeping an old material property state, which permits
interpolation at new or changing quadrature point locations (encountered, for
example, with mortar contact or adaptivity). Both nodal as well as elemental basis
functions can be used for the projection. In the case of nodal (Lagrange) functions,
nodal patch recovery will be used to compute the nodal degrees of freedom.

### Transfers leveraging MeshDivisions

[MultiAppGeneralFieldTransfer.md] derived transfers can now use [MeshDivisions](syntax/MeshDivisions/index.md)
to:

- spatially restrict both origin and target domains,
- match either origin or target divided regions to an application (usually a child), and
- match mesh division regions with the same index in the source and target region.


### Distributing grid MeshDivisions using Positions

The [CartesianGridDivision.md], [CylindricalGridDivision.md] and [SphericalGridDivision.md]
can now be composed with a [Positions object](syntax/Positions/index.md) to distribute the centers
of several grids on the Positions. For example, this new capability can be used to define nested lattices.

## PETSc-level Changes

## Bug Fixes and Minor Enhancements

- The [FileMeshGenerator.md] will now provide an adequate error message when encountering LFS pointers
for the mesh file.
14 changes: 14 additions & 0 deletions modules/doc/content/newsletter/2024/2024_01.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# MOOSE Newsletter (January 2024)

!alert! construction title=In Progress
This MOOSE Newsletter edition is in progress. Please check back in February 2024
for a complete description of all MOOSE changes.
!alert-end!

## MOOSE Improvements

## libMesh-level Changes

## PETSc-level Changes

## Bug Fixes and Minor Enhancements
1 change: 1 addition & 0 deletions modules/doc/content/newsletter/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ monthly to the [MOOSE discussion forum](contact_us.md) as well as provided below

## 2023

- [December, 2023](2023_12.md)
- [November, 2023](2023_11.md)
- [October, 2023](2023_10.md)
- [September, 2023](2023_09.md)
Expand Down

0 comments on commit 28bf8f4

Please sign in to comment.