Giter VIP home page Giter VIP logo

mpm's People

Contributors

bodhinandach avatar cbgeo avatar cgeudeker avatar chrisgoddard avatar ctknight avatar cw646 avatar ezrayst avatar geomechanics-berkeley avatar jgiven100 avatar jinyan1214 avatar kks32 avatar ldtalbot avatar piggygeo avatar ryotahashimoto avatar schdvr avatar srhgk2 avatar thiagordonho avatar tianchitj avatar xinyiqian97 avatar yliang-sn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mpm's Issues

XMPM

The extended MPM (XMPM) strategy is introduced to describe shear band generation in soil.

Stress Inputs

Describe the bug
geomechanics wiki doesn't have the details for using "isotropic" flag with particles stresses. Right now it only shows:

        "particles_stresses": {
          "type": "file",
          "file": "particles-stresses.txt"
        },

I'm having trouble getting the "isotropic" flag to work on my own.

If correct syntax is provided here, I'll update the wiki.

[Bug] Property Handle in Absorbing Boundary

Included in on-going PR
This bug will be fixed in #62. Opening issue to make everyone aware of known bug.

Describe the bug
Garbage results for 3D simultions with absorbing boundary.

To Reproduce
Steps to reproduce the behavior:

  1. Compile with standard WIKI instructions
  2. Run on local machine with -p 1
  3. Use 3D input files from mpm-examples repo

Expected behavior
See "Results" in absorbing boundary README.md

Additional context
Need to remove Tdim in following code and replace with 2.

mpm/include/nodes/node.tcc

Lines 587 to 590 in 385e50b

double pwave_v = this->property_handle_->property(
"wave_velocities", prop_id_, *mat_id, Tdim)(0);
double swave_v = this->property_handle_->property(
"wave_velocities", prop_id_, *mat_id, Tdim)(1);

Particles go out of bound

Describe the bug
I have used the MPMExplicit2D solver for a 2D slope failure problem and MPMExplicit3D solver for a water dam break problem. Unfortunately, I encountered material points crossing the fixed boundaries (velocity set to 0 in specified directions) in both cases. I double-checked the setting of the boundary conditions and did not find a problem.

I modified the source code of the program to output the coordinates of these out-of-bounds particles. And I found that the coordinates of these particles are like (-1.75539e-18, 0.999947, 3.17375e-07) when I have a fixed bound in x=0 and the particles should have been located within 0<x<0.2. A screenshot of my console is shown.

Snipaste_2022-11-25_22-37-49

ED2Q4 and ED3Q8 elements are used for 2D and 3D problems, respectively. Both usf and musl update schemes are tested and both take a time step dt=1.0E-4. Only velocity constraints are set.

To Reproduce
Steps to reproduce the behavior:

  1. The code is compiled on Ubuntu 20.04 on WSL2 without mpi. The compilation results passed all tests.
  2. The code runs on Ubuntu 20.04 on WSL2.
  3. Take the water dam break problem as an example. As shown in the following figure, I meshed a box of 0.2x1.0x1.0 and generated a set of particles forming a box of 0.2x0.2x0.4. All six faces of the meshed box are set zero-velocity constraints in the normal direction.

Snipaste_2022-11-25_22-47-44

Expected behavior
Figure out what causes the bug and fix it.

Runtime environment (please complete the following information):

  • OS/Docker image: Ubuntu 20.04 on WSL2
  • Branch: master

Additional context
None

Feature LME Shape Function

Following PR #14 being merged, I am opening the issue to start looking at implementing the LME shape function to our code. Current development is going to be pushed under the branch element/lme.

Reference:
Arroyo, M., & Ortiz, M. (2006). Local maximum‐entropy approximation schemes: a seamless bridge between finite elements and meshfree methods. International journal for numerical methods in engineering, 65(13), 2167-2202.

BSpline element 2D and 3D

A BSpline element is implemented for 2D and 3D MPM problems. I have checked that this works currently for explicit and implicit single-phase and explicit and semi-implicit two-phase codes. In the upcoming days, I will check the parallel performance and test the accuracy.

Benchmark test is failing

Describe the bug
After the merge of PR #37, the nightly build fails as these assert checks do not pass.

I will make a copy of such tests in our new benchmark repo and move the test to our repo instead of the main branch in CB-Geo.

CB-Geo-Berkeley naming

Context

In our last meeting Kenichi seemed pretty adamant that the code should be called "CB-Geo-Berkeley". His thoughts were it draws a clear distinction from classic CB-Geo while also making it clear where most of the base structure is from.

Places

I don't think we should change the repo name (geomechanics is nice), but we can add CB-Geo-Berkeley in a few places.

Here are the places I've thought of:

  1. Top of REAME.md
  2. Wiki welcome page
  3. Top of AUTHORS.md

Questions

  1. What do others feel about this name?
  2. Are the above places appropriate to put the name to make Kenichi happy?
  3. Am I not considering another certain "good" location?

[Bug] Two-phase Semi-implicit MPI issues

Describe the bug
There are two detected bugs in our two-phase semi-implicit code running on MPI.

  1. After merging of #6, there is a new error associated with the kinematic fields of the shared nodes. The magnitude will be half compared to what it should be. While the pressure field is ok, this is something to be fixed.
    image
    I am reverting PR #6 back as it should be the right one considering the reduction of masses at the shared nodes.

  2. The pressure changes once a particle is transferred from one rank to another. This is caused by the non-transferred projection parameter related to the scheme.
    image

To Reproduce
Steps to reproduce the behavior:

  1. Compile geomechanics/mpm/master
  2. Run a two-phase semi-implicit code on a linux ubuntu machine.
  3. Activate MPI.
  4. See error.

Screenshots
Provided above.

Runtime environment (please complete the following information):

  • OS: Linux Ubuntu 20.04
  • Branch: master

Additional context
A new branch bugfix/mpi_issues should fix this issue. A PR will be made soon.

Particle is going out of bound after PR #37

Describe the bug
There is a new bug after PR #37 is merged. I am so sorry for not checking this before.

Here is the problem: the new update of displacement uses the old particle velocity with the factor of a half. This is not good since the boundary condition might not be imposed appropriately nearby the boundary.

I am currently finding a way to mitigate this but at the same time correct the error. In the meantime, I would propose that we revert PR #37 since it is breaking.

Simulation results before and after PR #37.
image
image

Track code changes with github-based documentation

Improvement Idea

Use either:

  1. input markdown file; or
  2. the github wiki feature

to improve the documentation of features added to geomechanics repo.

Untracked Changes

Features already merged into geomechanics (without documentation) mentioned in Dec. 2 dev meeting:

  • Implicit MPM
  • 2 phase

Hencky strain implementation

@RyotaHashimoto , let's start discussing the finite strain implementation here. I am thinking that other than providing an option for users to choose small/finite strain, we need to do the following:

  1. Material model with finite strain
  2. Volume update with finite strain
  3. Geometric stiffness matrix (should be added to the default tangent matrix)
  4. Add treatment of volumetric locking (HKU team's work on smoothing the Deformation Gradient)
  5. Code validation

Any further thoughts?

B-bar element for infinitesimal strain

This issue is for the implementation of B-bar element for infinitesimal strain formulation.
The implementation contains.

  1. Adding a Boolean for the B-bar element usage.
  2. Modification of dndx (explicit) or B matrix (implicit) when the Boolean is active.

SIGSTKSZ is not an integral constant with libc6 2.34

Describe the bug
Updated versions of Ubuntu (21.10 and superiors) installed libc6 (glibc) 2.34. SIGSTKSZ is now no longer constant, and can’t be used directly to define array sizes. According to documentation:

"The constant SIGSTKSZ is defined to be large enough to cover the usual size requirements for an alternate signal stack".

See similar PR's in other people's codes:

And this is a proposed fix to the bug:

Affected file in the code:

Any thoughts @bodhinandach ?

To Reproduce
These are my machine specifications: "Ubuntu 22.04 LTS" and "gcc 11.2.0"

Screenshots
Screenshot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.