-
Notifications
You must be signed in to change notification settings - Fork 5
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
strain softening #106
strain softening #106
Conversation
…n angle but not for weakening seed
…d line; corrected where 'p' was used insted of 'layer_array[p]'
The interfaces.txt header can now contain five new lines (they are only read if
Notice: previous method still works! This should guarantee compatibility with both previous interfaces.txt files and command line options. The The param.txt can now have two new keys:
If they are not provided, the values above are the default values, cf. Beaumont (@victorsacek, could you provide the reference?). |
Looks great @jamisonassuncao! We should add a test for this one. It could be the same rift test we already have with these modifications to At a first glance I'm not sure I get this:
Could you explain? |
Sure! Both
For a Which this implementation improves is the possibility to have different maximum strengths for each layer, to remove cohesion, and/or to make a layer frictionless. |
@rafaelmds I would appreciate if you could test the implementation with the rift simulation to compare it with previous results. I am currently looking for bugs by performing some simulations without any physical meaning. |
|
@rafaelmds Thanks for the feedback. I will check what is going on. Regarding your second observation: that was indeed the intention. |
…rs regardless of the strain softening input
…e interfaces.txt file; also uses Beaumont values for cohesion and friction angle
@rafaelmds The current behavior is: (1) try to read everything from the interfaces.txt file; (2) if you don't read all the keywords Notice that strain softening is used everytime In summary. Should work running with command line seed options and no new keywords in the |
@jamisonassuncao Thanks for the fix! Now it's working, but there is something wrong. I didn't looked at the code yet for this specific problem. I'm reporting here (before look at the code) because maybe you spot it right away. Only the |
Some considerations:
|
I did some changes and I already merged them into main. |
…n angle but not for weakening seed
…d line; corrected where 'p' was used insted of 'layer_array[p]'
The code now should correctly consider the strain softening changes. If strain softening values are not provided in the If strain softening values are given in the command line, it copies those values to the new implemented arrays. If strain softening values are given in the For all cases, the Beaumont values for Because the inicial strain values are now given in the Notice a warning message is printed as "Error: The number of layers specified in command line "-seed" command is higher than the number in "param.txt". Should I skip this checking in the code or are there emergent problems by doing so (that I could not spot)? Important: Friction angle is now given in degrees instead of radians. |
Thanks @jamisonassuncao That error is my mistake. I had to assume a large, default number to allocate possible values that might be given using I did a hot fix for it. Could you please rebase again? |
…n angle but not for weakening seed
…d line; corrected where 'p' was used insted of 'layer_array[p]'
…rs regardless of the strain softening input
…e interfaces.txt file; also uses Beaumont values for cohesion and friction angle
… and changed code to fit the parse_options() commign before the reader()
…n angle but not for weakening seed
…d line; corrected where 'p' was used insted of 'layer_array[p]'
…rs regardless of the strain softening input
…into strain-softening
When checking if |
Co-authored-by: Rafael Silva <rafaelmds@users.noreply.github.com>
This should be the final approach to guarantee backwards compatibility. (1) If strain softening values are not provided in the (2) If strain softening values are given in the command line, it stores those values in the new implemented arrays. (3) If strain softening values are given in the For all cases, the values for The
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All tests (including the ones not merged yet) are passing here.
For me, we can merge this.
Thanks @jamisonassuncao !
Add functionality to allow the user to give different strain softening parameters if WITH_NON_LINEAR==1 and PLASTICITY==1. They can provide the param.txt file with weakening_min and weakening_max ivalues, or use the 0.05 and 1.05 by default, respectively. In the interfaces file, they can give a weakening_seed, cohesion_min, cohesion_max , friction_angle_min, and friction_angle_max for each layer.