Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Katexify tensor mech eqns #10503

Merged
merged 5 commits into from
Jan 15, 2018
Merged

Conversation

sapitts
Copy link
Contributor

@sapitts sapitts commented Jan 11, 2018

Updates the existing moose documentation in the tensor mechanics module to use Katex friendly equations and to include example input file syntax for classes directly included in the tests/ files.

Closes #10447

@moosebuild
Copy link
Contributor

Job Precheck on 4e9f3df wanted to post the following:

Your code requires style changes.

A patch was auto generated and copied here
You can directly apply the patch by running, in the top level of your repository:

curl -s http://mooseframework.org/docs/PRs/10503/style.patch | git apply -v

Alternatively, with your repository up to date and in the top level of your repository:

git clang-format b2f933ae1551a7dce9d649b9098b085493b81961

@moosebuild
Copy link
Contributor

moosebuild commented Jan 11, 2018

Job Documentation on 2d246e0 wanted to post the following:

View the site here

This comment will be updated on new commits.

@sapitts
Copy link
Contributor Author

sapitts commented Jan 11, 2018

@aeslaughter, @bwspenc, and @WilkAndy would you review this pull request please? Ben and Andy, I modified some of the materials documentation that each of you had written.

@@ -1,24 +0,0 @@
Axisymmetric (cylindrical) materials are included in Tensor Mechanics for revolved geometries and assume symmetrical loading. These 'strain calculator' materials compute the strain within the appropriate coordinate system and include kernels to handle the stress divergence. The ```AxisymmetricRZ``` material is appropriate for a 2D simulation and assumes symmetry revolved about the z-axis in the polar angle. A 2D formulation of an appropriate simulation problem can reduce the simulation run time while preserving key physics. Axisymmetric simulations are appropriate to problems in which a solid is generated by [revolving a planar area about an axis](https://en.wikipedia.org/wiki/Axial_symmetry) in the same plane.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this covered somewhere else or something? Just wondering why it's being deleted.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved this information into the ComputeAxisymmetricRZFiniteStrain class and used the !include syntax you don't like for the other two strain formulations. I'll put this file back and link all three classes to the one supplemental file

@@ -1,4 +1,4 @@
#StressDivergenceRSphericalTensors
#Stress Divergence for RSpherical System
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe "Stress Divergence for Spherically Symmetric System" would be even better.

!!! note "Settings for Finite Strain Simulations"
Set the use_displaced_mesh parameter equal to true for finite strain (large deformation) problems to ensure that the stress divergence residual is calculated correctly. If you are unsure if your problem is finite strain or small strain, use the setting `use_displaced_mesh = true`.
!!! info "Use of the Tensor Mechanics Master Action Recommended"
The _use_displaced_mesh_ parameter must be set correcting to ensure consistency in the equilibrium equation: if the stress is calculated with respect to the deformed mesh, the test function gradients must also be calculated with respect to the deformed mesh. The Tensor Mechanics master action is designed to automatically determine and set the parameter correctly for the selected strain formulation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe put a link to the page on the master action?

@@ -8,19 +8,33 @@ This kernel solves the steady state stress divergence equation in polar coordina
!!! info
The `COORD_TYPE` in the Problem block of the input file must be set to RSPHERICAL.

!include docs/content/documentation/modules/tensor_mechanics/common/supplementalStressDivergenceKernels.md
The `StressDivergenceRSphericalTensors` kernel can be automatically created through the use of the **Tensor Mechanics master action**. Use of the tensor mechanics master action is recommended to ensure the consistent setting of the _use_displaced_mesh_ parameter for the strain formulation selected.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, maybe a link to the master action page would be helpful.

@@ -1,34 +1,44 @@
#Stress Divergence RZ Tensors
#Stress Divergence for AxisymmetricRZ System
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe just "Axisymmetric"

@@ -1,8 +1,12 @@
# ComputeVariableIsotropicElasticityTensor
# Compute Variable Isotropic Elasticity Tensor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drop Compute

@@ -1,14 +1,23 @@
# ComputeVolumetricEigenstrain
# Compute Volumetric Eigenstrain
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drop Compute

!syntax description /Materials/EshelbyTensor

## Description
This models computes the Eshelby energy-momentum tensor $\Sigma$ \cite{eshelby_energy_1999}, used in fracture integral calculations:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

models -> model

| MidPoint | 0.5 | yes |
| Newmark | user-defined | $\theta \geq 0.5$ |
| Zienkiewicz | $\frac{1}{1 - e^{-\Delta t / \eta^n}} - \eta^n / \Delta t$ | yes |
!include /GeneralizedKelvinVoigtModel.md start=Internal Time-Stepping Scheme end=Example Input File Syntax
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer that we don't do this kind of thing because someone editing that page might have no idea that part of it could be included elsewhere. I think it's better to just have a link to that page instead to refer the reader to that material.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I can see that the gratification of deleting duplicated information doesn't outweigh the chance of incorrect documentation in these cases. I'll put it back to how it was originally.

@@ -14,7 +14,9 @@ InputParameters
validParams<EshelbyTensor>()
{
InputParameters params = validParams<Material>();
params.addClassDescription("Stuff");
params.addClassDescription("Computes the Eshelby tensor as a function of "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh no! I had a bad feeling that I was responsible for the original version, and that was just confirmed by 'git blame'.

@sapitts
Copy link
Contributor Author

sapitts commented Jan 11, 2018

@bwspenc I completely agree about the link the tensor mechanics master action page, once the master action is documented. Until that master action documentation page is created, can we leave the strain calculators and stress divergence pages as is? and now that I've found the master action documentation page, I will put the links into all of the places you suggested.

I disagree about removing the Compute from the title of the documentation pages: a) consistency among the class name that users will see in the input file and in the documentation title could help mitigate user confusion, and b) we use the keywords Compute and Update to differentiate between the tensor mechanics classes that use compute=true and those that use compute=false in the tutorials and several places in our users list emails. While the prefix Compute is cumbersome, I'd argue that it does fill an important role.

Copy link
Contributor

@WilkAndy WilkAndy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, thanks @sapitts :-)

@@ -14,7 +14,7 @@ InputParameters
validParams<InertialTorque>()
{
InputParameters params = validParams<TimeKernel>();
params.addClassDescription("Kernel for interial torque: density * displacement x acceleration");
params.addClassDescription("Kernel for interial torque: density * displacement * acceleration");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, leave the "x" there: it indicates a cross product instead of a multiplication

@bwspenc
Copy link
Contributor

bwspenc commented Jan 15, 2018

Since these page titles are all changed to just be the class name with spaces, I'm good with keeping the "Compute" there. I originally thought we were taking liberty with those names, but if we're not, let's definitely be consistent there.

@bwspenc bwspenc merged commit 662bb65 into idaholab:devel Jan 15, 2018
@sapitts sapitts deleted the katexify_tensor_mech_eqns branch July 22, 2020 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants