-
Notifications
You must be signed in to change notification settings - Fork 83
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
Kelvin-Voigt Boundary Implementation for #692 #710
base: develop
Are you sure you want to change the base?
Conversation
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.
Add unit tests and please fix as per suggestions
include/node.tcc
Outdated
auto mat_id = material_ids_.begin(); | ||
|
||
// Extract material properties and displacements | ||
double pwave_v = this->property_handle_->property("pwave_velocity", prop_id_, |
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.
When do we map this information?
I wasn't able to get the unit test done today, but I wanted to make sure that some of the other edits I was able to make today were what was expected since I was slightly unsure, particularly with regards to |
Codecov Report
@@ Coverage Diff @@
## develop #710 +/- ##
===========================================
- Coverage 96.75% 96.63% -0.12%
===========================================
Files 130 131 +1
Lines 25932 26248 +316
===========================================
+ Hits 25090 25363 +273
- Misses 842 885 +43
Continue to review full report at Codecov.
|
@cgeudeker Would it work to follow along with Within mpm_base it calls
then in constraints.tcc it calls
at which point the velocity constaints are saved as nodal properties. For the absorbing boundary case, we would need to define 2 new variables in |
A few notes about the last commit. I see that I need to put together a test case that will go through the absorbing constraint file, so I'll look at what was done for the others and follow along one of those. I'll probably commit this later today. There is an issue that resurfaced while finalizing the test case for the mapping of wave velocities to nodes. When 2 particles of the same material were mapped to the nodes, the wave velocities doubled. I thought this would be fixed by having the update_property boolean argument set to false, but the same result occurred. So if there is any advice about how to best solve this it would be much appreciated. Finally, some of the sections are poorly commented, so that will be fixed in the next couple of commits, but I wanted to make sure that the function was working as desired. |
@kks32 2 mains issues have come up. Guidance on these would be appreciated. 1: Nodal location affects how to go from traction -> forceProblemThe thesis provides an equation of traction for the absorbing boundary. We need to apply this as a nodal force. Proposed solutionAdd
Then update 2: How to deal with material points displacing beyond the absorbing boundaryProblemIf
side note: I don't think Q3 is important for geotechnical applications, but rather for keeping the code general. Absorbing boundaries are likely to only be applied to the sides of models with lateral damping being a priority. Area of influence for lateral damping will be along vertical cell edges which wouldn't be affected by material points outside the absorbing boundary. EDITS:
|
@kks32 I've been able to locally implement the proposed solution described above (adding |
@jgiven100 That's a good solution. Thanks!! |
I thought it was
You can turn-off clang-format temporarily using
|
Feature Updates
Verification
Next Steps
Edits(24 Nov. 2021) - make next steps into check boxes |
@kks @cgeudeker I'm happy with unit testing coverage for 18 of 21 changed files. Expections are |
Describe the PR
Kelvin-Voigt boundary implementation for #692
Related Issues/PRs
This PR aims to implement the Kelvin-Voigt boundary, or more specifically the spring-dashpot system, as a boundary conditions. This utilizes linear elastic material properties, as added by PR #705, as well as json file input parameters (shown in the Additional context section) to calculate traction values for the following equations:
Spring coefficients
kp
andks
are calculated according to the following equations:Other relevant to this PR, are the parameters
delta
,a
andb
. Each of these will be user input values under theboundary conditions
as shown in the additional context section below.a
andb
are optional input parameters, which if not specified will be equivalent to a value of 1. However, the following relation must be satisfied:where
h_min
is taken to be the cell height.Additional context
input.json
file is currently expected to look like the followingThe above implementation is based on the work of this paper.