Giter Site home page Giter Site logo

karamelo's Introduction

Karamelo is a parallel simulator for the Material Point Method (MPM).

News

Methods supported:

Featuring the following shape functions:

  • Linear
  • Cubic Bsplines
  • Bernstein quadratic (for total Lagrangian MPM only)

Cite Karamelo:

When you publish data obtained with the help of Karamelo, please cite: A. de Vaucorbeil, V. P. Nguyen, and C. Nguyen-Thanh, “Karamelo: an open source parallel c++ package for the material point method,” Computational Particle Mechanics, oct 2020.

This paper is availble only at https://www.researchgate.net/publication/343096803_Material_point_method_after_25_years_theory_implementation_and_applications or on the cite of the editor: https://link.springer.com/article/10.1007/s40571-020-00369-8

Documentation:

Please find Karamelo's documentation here: https://adevaucorbeil.github.io/karamelo/html/index.html

karamelo's People

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

karamelo's Issues

About the dam break problem

Dear karamelo friend,

I like the karamelo very much. Many thanks for its innovation. I just wonder where can I find the dam break problem, in sec 4.5 of CPM paper.

best regard
Finite

Bouncing ball example with wall

Hello

To test the contact, I change the direction of the initial velocity. Now it makes an angle of 5 degrees with the diagonal. I noticed that, after the two balls hitting, they stick to each other. In addition, the total energy seems to increase. I would assume that the default friction coefficient of the contact is null, nevertheless, even if it is not null is still difficult to understand why the balls are sticking. Do you have suggestions to mitigate this issue?

data.zip
dump_p.zip

glass into water simulation

Hi,

I've been testing karamelo for a few days now, and I find it incredibly interesting.

Now I'm trying to simulate in 2D a glass disc colliding into a water block, but I am having some problems: somehow the glass is bouncing off the water, while the water appears completely unperturbed, while I would expect the two to interact more strongly. I am pasting the .mpm file below, where I have omitted boundary conditions and gravity for simplicity.

I also have the problem that, with the same input file, sometimes the program crashes with a segfault, while sometimes it runs fine.

I appreciate any help with this.

Thanks,
Pasquale

---- input.mpm ----

## units: MKS

L = 1.0 # ref length
N = 50
cellsize = L/N
ppc1d = 2 # particles per cell, in 1D

R=0.1*L      # radius of impactor
velx=0.0     # x vel impactor
vely=-1000.0 # y vel impactor

FLIP=1.0

method(ulmpm, FLIP, linear, FLIP)

dimension(2,-L, L, -L, L, cellsize)

### water target
gamma_water=7.15 # Tait exponent
rho_water=1000.0 # reference bulk density
K_water=2.15*1000*1000*1000 # bulk modulus
G_water=0.000001 # shear modulus (shear viscosity?)
#
eos(eos_water, fluid, rho_water, K_water, gamma_water)
strength(strength_water, fluid, G_water)
material(mat_water, eos-strength, eos_water, strength_water)
region(region_water, block, -0.5*L, 0.5*L, -0.5*L, 0.0*L)
solid(solid_water, region, region_water, ppc1d, mat_water, cellsize, 0)
#
group(group_water, particles, region, region_water, solid, solid_water)
fix(vwater, initial_velocity_particles, group_water, 0.0, 0.0, NULL)


### glass impactor
E_glass   = 70.0*1000*1000*1000 # Young's modulus
nu_glass  = 0.23   # Poisson's ratio
rho_glass = 2400.0 # density
material(mat_glass, linear, rho_glass, E_glass, nu_glass)
region(rBall1, cylinder, 0, 2*R, R)
solid(sBall1, region, rBall1, ppc1d, mat_glass, cellsize, 0) 
#
group(gBall1, particles, region, rBall1, solid, sBall1)
fix(v0Ball1, initial_velocity_particles, gBall1, velx, vely, NULL)


N_log = 10

dump(dump1, all, particle, N_log, dump_p.*.LAMMPS, x, y, z)

dt_factor(0.1)

log_modify(custom, step, dt, time)
set_output(N_log)
run_time(0.0003)

About karamelo's License

Dear @adevaucorbeil,

Recently, I do a mpm project and your Karamelo is very helpful for me. Many thanks for your contribution.

I'd just like to suggest to add LICENSE file to Karamelo repository.
I find out Karamelo follows GPL. However only source codes and Readme say about it.
I think, Adding LICENSE will be a great help for other users who are interested in mpm and open source.

Thanks.
YoonHa.

Error in Installing and running karamelo

I am using windows 11 and I am trying to install Karamelo using the instructions in 'Install.txt'

In beginning, I was facing error while executing command -
"cmake -DCMAKE_BUILD_TYPE=release build"
CMake Error: The source directory "Path2Directory/karamelo/build" does not exist.

As per suggestions on the internet, I made a directory with the name 'build' and included the file 'CMakeLists.txt' in the build directory and then executed the 'cmake' command - "cmake -DCMAKE_BUILD_TYPE=release build"
This is the response I am getting

PS E:\Path2Directory\karamelo> cmake -DCMAKE_BUILD_TYPE=release build
-- Building for: Visual Studio 14 2015
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.40.1.windows.1")
Git found: C:/Program Files/Git/cmd/git.exe
CMake Deprecation Warning at CMakeLists.txt:10 (cmake_policy):
The OLD behavior for policy CMP0004 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.

-- Selecting Windows SDK version 10.0.14393.0 to target Windows 10.0.22621.
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find MPI_C (missing: MPI_C_WORKS)
-- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS)
CMake Error at C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files/CMake/share/cmake-3.26/Modules/FindMPI.cmake:1837 (find_package_handle_standard_args)
CMakeLists.txt:20 (find_package)

-- Configuring incomplete, errors occurred!

It appears that the msmpisetup.exe and msmpisdk.msi files are supported by only windows 10 as mentioned in documentation.
And since I am using windows 11, Could that be an issue, or is it something else?
Kindly help.

On the Bouncing balls example

Hello

When running the Bouncing_balls example, I encounter this error:

Running on 1 procs
In Input::file()
E = 1e+06
nu = 0.3
K = 833333
mu = 384615
rho = 1050
lambda = 576923
c = 30.8607
L = 1
hL = 0.5
A_zy = 1
FLIP = 0.99
In ULMPM::ULMPM()
Setting up linear basis functions
Setting up linear basis functions
N = 10
cellsize = 0.1
Set dimension to 2
In Universe::set_proc_grid()
In Grid::init() with proc 0
proc 0 nx=21 ny=21 nz=1
proc 0 noffsetlo=[0,0,0]
proc 0 noffsethi_=[20,20,0]
delta=0.1
R = 0.4
Creating new region with ID: rBall1
Initiate Cylinder
In region::options()
axis, c1, c2, R = z -0.5 -0.5 0.4
Creating new region with ID: rBall2
Initiate Cylinder
In region::options()
axis, c1, c2, R = z 0.5 0.5 0.4
Creating new mat with ID: mat1
Creating new solid with ID: sBall1
Error at line 35: Error, keyword rBall1 unknown!
Usage: solid(solid-ID, file, filename, material-ID, h, T0)
Usage: solid(solid-ID, mesh, meshfile, material-ID, h, T0)
Usage: solid(solid-ID, region, region-ID, N_ppc1D, material-ID, cell-size, T0)
raised at (/home/hbui/sw2/karamelo/src/solid.cpp,114)
Last command: solid(sBall1, rBall1, 2, mat1, cellsize)

Can you help to look at it, since I'm quite new to Karamelo ?

Thanks
Giang

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.