Action for Brown & Booker (1985) approach to simulate excavation #32813
Unanswered
nlosacco
asked this question in
Q&A General
Replies: 1 comment 4 replies
-
|
Do you want this action to live in the MOOSE modules or in your own application? Are you looking for coding advice on how to write the |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Check these boxes if you have followed the posting rules.
Question
TL;DR: successfully implemented a robust excavation procedure for geotechnical applications. Seeking for help in developing a corresponding MOOSE
Action, for sake conciseness and simplicity.Hi all,
as researchers in Geotechnical Engineering, we often deal with excavations (tunnels, open cuts, slopes...). I personally think the approach proposed by Brown & Booker (1985):
https://www.sciencedirect.com/science/article/abs/pii/0266352X85900242is the most reliable, and it is implemented in many FEM packages, either "geotechnics-oriented" or general purpose. The approach can be roughly summarised as follows:Steps 1. and 2. occur simultaneously and instantaneously at the beginning of the excavation whereas step 3. develops in subsequent increments. If porewater is present we may add the following to 2 and 3:
I finally managed to apply the whole procedure, please find pasted here a very simple example consisting of a fully saturated element column composed of 2 stacked 1x1$\Delta$ t = 0.5 starting at t = 0.5, with pore pressure = 0 at the top of the column. Element removal is simulated by moving the block to be excavated to an inactive block (i.e. with no active
QUAD4elements, the top element being excavated in*Kernelsor*Variables) as suggested in other posts, usingMeshModifiers/TimedSubdomainModifier.Few comments on the input file, that you might want to address:
Mesh/SideSetsBetweenSubdomainsGeneratorinstead of the newerMeshModifiers/SidesetAroundSubdomainUpdater, because I was stuck with an old MOOSE version while running the tests;PorousFlowBasicTHMAction as it probably tries and createAuxVariablesalso in the inactive blocks, thus throwing an error;AuxKernels/FreezeForceAuxis a simple object I created to store the value of a variable at a certain time; the same could probably be obtained through a built-inParsedAux;BCs/LockBoundaryBCdoes what its name suggests: it applies aDirichletBCwith the value of a variable fixed at a certain time (surprisingly I could not find a built-in way to do it, but I might have missed it);checkpoint = truein[Outputs]before the exodus block, otherwise, I'd get a weirdExodusII_IO_Helper: block id 1 not found in block_ids.error when using PorousFlow. No clue why it happens.Now, as you can see, even for this tiny example the input file becomes bloated with loads of AuxVariables and AuxKernels for the excavation procedure. Furthermore, I am forced to create a dummy step (in my input from 0.5 to 1.0) to remove elements / block nodes / extract nodal forces.
Hence, I think a proper Action would be required. Ideally, it should take the following parameters:
NodalKernelis applied during excavation);DirichletBCwould be appropriate during excavation);I would still be happy if element deletion with
SubdomainModifierand the relevant[Controls]blocks needed to be kept in the input file, but at least the Action should enforce instantaneous calculation and storage of values of nodal reactions and variables at the very beginning of the excavation step, simultaneously with element deletion, and subsequent change of those values.I think such a functionality would be greatly appreciated by the ever increasing geotechnical community using MOOSE.
Hence, I'm seeking for guidance to develop the Action, as thoroughly explained.
Thanks for any help.
@vabufano
Beta Was this translation helpful? Give feedback.
All reactions