Skip to content

Conversation

@trhille
Copy link

@trhille trhille commented Dec 15, 2022

This merge includes changes necessary to properly couple damage to ice rheology when using stiffnessFactor from an optimization. First, the damage field is initialized as damage = max(1 - stiffnessFactor, 0.0). Then, update stiffnessFactor each timestep using the change in damage, rather than as 1 - damage. The previous coupling method made it so that stiffnessFactor was essentially unused after the first solve, because damage was completely independent of stiffnessFactor and 1.0 was the assumed upper bound. This method allows for stiffnessFactor > 1.0 even with damaged ice.

@trhille trhille added enhancement New feature or request in progress Still being worked on, don't merge yet! labels Dec 15, 2022
@trhille trhille force-pushed the modify_stiffness_using_damage_change branch from aeea288 to aebdd62 Compare December 16, 2022 20:35
Previously with damage-rheology coupling there was no stiffnessFactor
constraint on initial damage. Now use damage = (1 - stiffnessFactor)
to initialize.
Need to use domain % blocklist % structs instead of block % structs when
outside loop over blocks.
Because stiffnessFactor is often >1 from the optimization, we need
to update it using change in damage, rather than setting it to 1 - damage,
which previously always resulted in stiffness <1.
Forgot to add Registry to previous commits!
On a restart, just use the damage field in the restart file,
rather than calculating it from stiffnessFactor.
Update halos for damage before applying to stiffnessFactor. Testing
showed imprinting of the decomposition on damage and stiffnessFactor
fields before applying this halo update.
@trhille trhille force-pushed the modify_stiffness_using_damage_change branch from aebdd62 to 9a567de Compare September 8, 2023 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request in progress Still being worked on, don't merge yet!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant