Geomechanics examples and Drucker–Prager plasticity for soils and rock #1
Replies: 2 comments 2 replies
|
Hi Kursat, Sorry for the late reply — I was away last week. We'd of course be very happy to have you join us and contribute the geomechanics applications of TensorMesh. Here are my answers to your questions:
Finally, thank you for the constructive feedback and for contributing to the open-source community. Many of these interfaces are still open for us to negotiate and adjust together later on. Welcome aboard! Best, |
|
Hi Shizheng, Just closing the loop here: the first geomechanics example has now been merged in #4. Thank you again for the guidance in this RFC. I followed the direction we agreed on: keeping the example under I’ll keep any follow-up contributions incremental. A natural next step could be a small boundary-value geomechanics example under Thanks again for the review and merge. Best, |
Uh oh!
There was an error while loading. Please reload this page.
Hi TensorMesh maintainers,
I would like to contribute geomechanics / rock-and-soil mechanics support to TensorMesh. I am opening this as an RFC before starting a pull request because this may affect examples, documentation, and possibly future constitutive-model APIs.
Motivation
TensorMesh already has a strong solid-mechanics base, including linear elasticity, hyperelasticity, contact, and J2 plasticity. That is a useful foundation for geotechnical and rock mechanics, but many soil and rock workflows need pressure-dependent frictional behavior rather than pressure-insensitive J2 plasticity.
The geomechanics use cases I would like to help support include:
Proposed staged contribution
Stage 1: Add a small geomechanics example
I propose starting with one example that uses existing TensorMesh APIs and requires minimal new core code.
Possible first examples:
examples/geomechanics/elastic_footing/examples/geomechanics/terzaghi_consolidation_1d/examples/geomechanics/geostatic_stress/My preference for the first pull request would be a documentation/example-only contribution, so that the scope is small and easy to review.
Stage 2: Add Drucker–Prager frictional plasticity
For a constitutive model, I suggest adding Drucker–Prager plasticity before full Mohr–Coulomb plasticity.
Reasoning:
A possible API could look like this:
I am not attached to this exact API. I would prefer to follow the existing TensorMesh style and maintainer preferences.
Possible file structure
Depending on maintainer preference, the contribution could use something like:
Alternatively, the first version could stay entirely as an example-only custom assembler before adding anything to the public API.
Validation ideas
For an example-only pull request:
For a Drucker–Prager pull request:
forward()/ energy kernels,Questions for maintainers
Geomechanicsexample-gallery section, or should the first examples live underSolid Mechanics?DruckerPragerPlasticityas a built-in assembler,tensormesh.geomechanicsmodule,I am happy to start small with a single runnable example and tests, then follow up with Drucker–Prager plasticity if the direction looks useful.
All reactions