Picasso
picassodev / picasso Goto Github PK
View Code? Open in Web Editor NEWParticle-in-cell library based on Cabana and Kokkos
License: BSD 3-Clause "New" or "Revised" License
Particle-in-cell library based on Cabana and Kokkos
License: BSD 3-Clause "New" or "Revised" License
Picasso
2D base grid infrastructure has been largely added. Particle infrastructure (initialization, interpolation, I/O, etc.) is also needed.
Picasso::initializeParticles
and Picasso::initializeSurfaceParticles
should accept a seed
parameter to allow a user to specify a fixed seed for the Kokkos::Random_XorShift64_Pool
pool. Otherwise, the behavior should default to initializing the pool with a random seed.
Boundary particles are need to implement boundary conditions on top of #37
When indexing along the view wrapper for a Tensor3, there appears to be duplicated memory issue where setting values in certain indices will cause those values to be reproduced across separate indices.
i.e. when creating a wrapper for a 3x3x7 Tensor3 Field, filling the values across (All, All, 0) leads to some of the values on (All, All, 3) and (All, All, 6) to be erroneously filled at the same time.
This issue concerns the implementation of the dual domain material point method (DDMPM) in Picasso.
DDMPM scores a few numerical advantages over the classical MPM, namely, improved accuracy and stability, especially in the vicinity of contact discontinuities, by reducing cell crossing noise.
A few sub-steps for a robust implementation are required:
Our batched linear algebra interface needs a scalar conversion operator for MatrixExpression<1,1>
and VectorExpression<1>
.
Instead of hard-coding seed generation and state-pool creation from Kokkos::
random number generators, a set of utility functions in the Picasso::
namespace should be created to facilitate their use.
Need an APIC implementation to advect quantities that are not just velocity.
A deep_copy(lhs,rhs)
function needs to be added to BatchedLinearAlgebra
to ensure that deep copies always occur when needed instead of relying on potentially confusing assignment operator syntax.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.