{"action":"created","issue":{"url":"https://api.github.com/repos/idaholab/moose/issues/9438","repository_url":"https://api.github.com/repos/idaholab/moose","labels_url":"https://api.github.com/repos/idaholab/moose/issues/9438/labels{/name}","comments_url":"https://api.github.com/repos/idaholab/moose/issues/9438/comments","events_url":"https://api.github.com/repos/idaholab/moose/issues/9438/events","html_url":"https://github.com/idaholab/moose/pull/9438","id":240239193,"number":9438,"title":"Variable elasticity tensor and stress class modifications","user":{"login":"sapitts","id":9342949,"avatar_url":"https://avatars3.githubusercontent.com/u/9342949?v=3","gravatar_id":"","url":"https://api.github.com/users/sapitts","html_url":"https://github.com/sapitts","followers_url":"https://api.github.com/users/sapitts/followers","following_url":"https://api.github.com/users/sapitts/following{/other_user}","gists_url":"https://api.github.com/users/sapitts/gists{/gist_id}","starred_url":"https://api.github.com/users/sapitts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sapitts/subscriptions","organizations_url":"https://api.github.com/users/sapitts/orgs","repos_url":"https://api.github.com/users/sapitts/repos","events_url":"https://api.github.com/users/sapitts/events{/privacy}","received_events_url":"https://api.github.com/users/sapitts/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-07-03T18:20:53Z","updated_at":"2017-07-06T18:21:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/idaholab/moose/pulls/9438","html_url":"https://github.com/idaholab/moose/pull/9438","diff_url":"https://github.com/idaholab/moose/pull/9438.diff","patch_url":"https://github.com/idaholab/moose/pull/9438.patch"},"body":"### Relevant Design Changes\r\n\r\nThe objective of this PR is to allow the standard isotropic stress calculators in tensor mechanics to handle the case when the elastic constants change during a simulations (e.g. as a function of temperature). To this end, we've added a new boolean material property, `elasticity_tensor_has_changed` to elasticity tensor classes which have variable isotropic elasticity constants.  Developers will be responsible for adding this `elasticity_tensor_has_changed` material property to new variable elasticity tensor classes.\r\n\r\nThe isotropic stress classes look for the `elasticity_tensor_has_changed` property with `getDefaultMaterialProperty`, and, if the boolean is true, these stress classes have been changed to calculate the old stress state as a function of the new elasticity tensor and the old strain.  The old variable elasticity tensor stress class has been deprecated.\r\n\r\nThis change does add a stateful rank-2 tensor `elastic_strain_old`; I'd appreciate advice on how to only add this material property if the elasticity tensor is changing.\r\n\r\n### Test Cases\r\nThe existing varying isotropic elasticity tensor test files have been updated to use the regular `ComputeFiniteStrainElasticStress` class, and the deprecated class will remain with the `allow_deprecated_until` option for a month.\r\n\r\nRefs #8616"},"comment":{"url":"https://api.github.com/repos/idaholab/moose/issues/comments/313478440","html_url":"https://github.com/idaholab/moose/pull/9438#issuecomment-313478440","issue_url":"https://api.github.com/repos/idaholab/moose/issues/9438","id":313478440,"user":{"login":"sapitts","id":9342949,"avatar_url":"https://avatars3.githubusercontent.com/u/9342949?v=3","gravatar_id":"","url":"https://api.github.com/users/sapitts","html_url":"https://github.com/sapitts","followers_url":"https://api.github.com/users/sapitts/followers","following_url":"https://api.github.com/users/sapitts/following{/other_user}","gists_url":"https://api.github.com/users/sapitts/gists{/gist_id}","starred_url":"https://api.github.com/users/sapitts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sapitts/subscriptions","organizations_url":"https://api.github.com/users/sapitts/orgs","repos_url":"https://api.github.com/users/sapitts/repos","events_url":"https://api.github.com/users/sapitts/events{/privacy}","received_events_url":"https://api.github.com/users/sapitts/received_events","type":"User","site_admin":false},"created_at":"2017-07-06T18:21:26Z","updated_at":"2017-07-06T18:21:26Z","body":"So.  I agree with @dschwen  about setting up the code to use the old strain, rather than the old stress, by default; however, I'm running into another problem with some of @WilkAndy's tests that have an initial stress provided to [ComputeStressBase](https://github.com/idaholab/moose/blob/devel/modules/tensor_mechanics/src/materials/ComputeStressBase.C#L18).\r\n\r\nIs there a more elegant way to avoid to guard against this case than the super long if statement:\r\n`if (!_elasticity_tensor_is_constant[_qp] && isElasticityTensorGuaranteedIsotropic() && !(isParamValid(\"initial_stress\") )` ?"}}
{"actor":{"display_login":"sapitts"}}