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

Create structure for MaterialProperty dependencies #8444

Closed
lindsayad opened this issue Feb 1, 2017 · 1 comment
Closed

Create structure for MaterialProperty dependencies #8444

lindsayad opened this issue Feb 1, 2017 · 1 comment
Assignees
Labels
C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.

Comments

@lindsayad
Copy link
Member

Description of the enhancement or error report

Create structure for resolving MaterialProperty dependencies similar to what is done for coupleable MooseVariable dependencies. Thinking that MaterialPropertyInterface would take on some methods like getMatPropDependencies and addMatPropDependency and a set member like _material_property_dependencies.

getMatPropDependencies would then be called by an updateMatPropDependency method in the MaterialWarehouse which would in turn could be called by computing objects like ComputeResidualThread.

Rationale for the enhancement or information for reproducing the error

By smartly addressing material dependencies hopefully we can cut down on unnecessary material property calculations and speed up applications. Other Tiger Team participants can expound on this if I haven't quite gotten the grasp of the full scope (@permcody @jwpeterson @friedmud @YaqiWang @snschune).

Identified impact

Speed up applications

@permcody permcody added C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software. labels Feb 1, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 1, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 1, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 1, 2017
@permcody permcody added this to the Texas A&M Tiger Team milestone Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
…#8444)

- Also make material computing threads (e.g. ComputeResidualThread call the
  updateMatPropDependency methods)
- Make sure that we don't mark as having material property dependencies simply
  because we call setActiveMaterialProperties in FEProblemBase/Subproblem
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
…holab#8444)

- Test 1: don't call computeQpProperties for one material that doesn't supply
  any properties - Passes
- Test 2: one material supplies properties. The other does not. Ideally only the
  one supplying properties should get called - Fails
- Test 3: ensure that materials get computed for residual and jacobian threads
  because kernel needs property but that material does not get computed for
  elem_aux_var that does not need any properties
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
…#8444)

- Also make material computing threads (e.g. ComputeResidualThread call the
  updateMatPropDependency methods)
- Make sure that we don't mark as having material property dependencies simply
  because we call setActiveMaterialProperties in FEProblemBase/Subproblem
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
…holab#8444)

- Test 1: don't call computeQpProperties for one material that doesn't supply
  any properties - Passes
- Test 2: one material supplies properties. The other does not. Ideally only the
  one supplying properties should get called - Fails
- Test 3: ensure that materials get computed for residual and jacobian threads
  because kernel needs property but that material does not get computed for
  elem_aux_var that does not need any properties
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
lindsayad added a commit to lindsayad/moose that referenced this issue Feb 2, 2017
@permcody
Copy link
Member

permcody commented Feb 2, 2017

@lindsayad - we may be able to close #3502 here as well.

rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
- remove _has_active_material_property_ids from SubProblem.h
- remove addMatPropDependency from MaterialPropertyInterface.h
- remove this-> calls because it's implied you dope
- swap checks in FEProblemBase
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Feb 28, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
…#8444)

- Also make material computing threads (e.g. ComputeResidualThread call the
  updateMatPropDependency methods)
- Make sure that we don't mark as having material property dependencies simply
  because we call setActiveMaterialProperties in FEProblemBase/Subproblem
- Move from MooseSharedPointer to std::shared_ptr
- Closed space between right angle brackets
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
…holab#8444)

- Test 1: don't call computeQpProperties for one material that doesn't supply
  any properties - Passes
- Test 2: one material supplies properties. The other does not. Ideally only the
  one supplying properties should get called - Fails
- Test 3: ensure that materials get computed for residual and jacobian threads
  because kernel needs property but that material does not get computed for
  elem_aux_var that does not need any properties
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
- remove _has_active_material_property_ids from SubProblem.h
- remove addMatPropDependency from MaterialPropertyInterface.h
- remove this-> calls because it's implied you dope
- swap checks in FEProblemBase
rwcarlsen pushed a commit to lindsayad/moose that referenced this issue Mar 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.
Projects
None yet
Development

No branches or pull requests

2 participants