forked from idaholab/moose
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f72b15b
commit 1d75f0b
Showing
8 changed files
with
55 additions
and
42 deletions.
There are no files selected for viewing
21 changes: 21 additions & 0 deletions
21
framework/doc/content/source/userobject/PointwiseRenormalizeVector.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# PointwiseRenormalizeVector | ||
|
||
!syntax description /UserObjects/PointwiseRenormalizeVector | ||
|
||
This user object can pointwise renormalize the solution for a set of variables, taking each variable as the component of a vector and scaling the variables to obtain the user specified L2-norm. | ||
|
||
## Applications | ||
|
||
For example in a micromagnetics simulation the magnetization director field is a vector field that should stay normalized, however the evolution equations might not be strictly norm conserving, requiring a renormalization at the end of each time step to avoid drift on the norm. | ||
|
||
## Design | ||
|
||
The PointwiseRenormalizeVector user object is derived from `GeneralUserObject` and iterates over all active local elements. On each element the DOF indices for all coupled variables are obtained. Starting with the first index for each variable we check of the DOF is local to the current processor and assemble the corresponing value from each variable into a vector. The L2-norm is calculated and the vector renormalized for the norm to match [!param](/UserObjects/PointwiseRenormalizeVector/norm), unless all soluton values are zero. This is repeated for all remaining DOF indices and for the old and older solution states. | ||
|
||
!syntax parameters /UserObjects/PointwiseRenormalizeVector | ||
|
||
!syntax inputs /UserObjects/PointwiseRenormalizeVector | ||
|
||
!syntax children /UserObjects/PointwiseRenormalizeVector | ||
|
||
!bibtex bibliography |
21 changes: 0 additions & 21 deletions
21
framework/doc/content/source/userobject/RenormalizeVector.md
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
[Tests] | ||
[test] | ||
type = Exodiff | ||
input = test.i | ||
exodiff = test_out.e | ||
design = PointwiseRenormalizeVector.md | ||
issues = '#21801' | ||
abs_zero = 1e-9 | ||
requirement = "The system shall be able to pointwise renormalize tuples of solution variables as a vector to a desired L2-norm" | ||
[] | ||
[] |
This file was deleted.
Oops, something went wrong.