cselab / mirheo Goto Github PK
View Code? Open in Web Editor NEWComputational Microfluidics
Home Page: http://mirheo.readthedocs.io
License: MIT License
Computational Microfluidics
Home Page: http://mirheo.readthedocs.io
License: MIT License
Looks like udx.load
always checks the hostname when it's run, and fails on compute nodes with names like "nidXXXXX". Probably better to make it resolve the hostname only once when installing
overlad warp instructions to remove warnings in newer CUDA versions (__shfl()...)
add tests for averaged stresses per cell
Make a more "pythonic" interface for membranes
allow stress-free shape to be different than initial shape of membranes
must first merge the SDFs and then freeze only once to avoid replicated frozen particles
This would allow plugins to have a sdf; benefits:
The current restart mechanism coupled with ObjectBelonging object will delete one of the particle vectors
Implement many body DPD: repulsive force needs a density per particle, which is computed from neighbouring particles. (within a different cut of radius rd in general).
This is a 2-step interaction and implies some reorganisation in the code.
add a possibility to save forces for dumping/postprocessing purpose:
For now, the object forces are cleared after integration so the getForces() function returns zeros after run() returns.
Can be implemented as a plugin
Allow mixed precision for membrane interactions
Not sure why this happens, need to look at the algorithm and/or tolerances
Create and test the restarting mechanism based on XDMF / HDF5
ParticleVector
restartObjectVector
restartChange time step at run time according to maximum forces
ParticleExchanger
instead of inheriting from itpass string argument to name the stress storage array
this would allow to separate different stresses (e.g. fsi and self interactions)
mesh dump should be able to have additional fields, such as velocity, stresses, energy density...
factories return raw pointers which are not deleted.
Need to use shared_ptr instead
Generate or pass mesh to the ellipsoid objects to enable PLY dumps and other mesh-related stuff
for now all quantities are averaged by dividing by number density.
stresses need to be divided by volume instead
-> make configurable scaling
Add stress computation also on membrane
As of now, the extra particle vector channel are not persistent. They are communicated via MPI, but not preserved during the cell-list update. The goal is to make them truly stick:
Need to talk to the ETH people to determine an appropriate one
Add a test section in the docs
Add a base class for all uDeviceX objects which contains common quantities (name)
Optionally, this class should have access to global quantities that are shared by everyone (time, domain, dt...).
Add a section with tutorials in the docs.
Should include several sections, with commented scripts.
The scripts must be part of the tests for maintainability reasons.
add tests for bounce back:
add a state object which contains global quantities (some might change over time):
Create benchmarks for representative cases
Report weak (and strong?) scaling for each case
make the wall freezing have a custom cutoff radius, such that MDPD can has the correct density
compute and report wall stresses/forces;
this will allow to measure viscosity for couette flow with cells
add more accurate bending kernels for membranes
Add a plugin which:
The abbreviation is probably ymr.
We have to rename everything, including (but not probably limited to):
add a security check:
bounce back needs that the pvs have an integrator!
Add Skalak elastic forces in membrane interactions
Add a tool (written in c++, wrapped in python) that dumps SDF (from sdf files, analytical shapes) in hdf5.
On Uniform grids
Make possible to initialize mpi outside of the udx coordinator constructor
This would allow multiple instances of udx in the same python script
When sampling a lot of particles per bin, floats aren't enough!
add tests for restart
Stats at timestep 1001 (simulation time 0.250250):
One timestep takes 0.69 ms Number of particles (total, min/proc, max/proc): 383247, 383247, 383247
Average momentum: [8.583316e-02 1.185539e-04 -2.597606e-04]
Max velocity magnitude: 6.462542
Temperature: 0.1575
Stats at timestep 2001 (simulation time 0.500250):
One timestep takes 14.61 ms Number of particles (total, min/proc, max/proc): 383247, 383247, 383247
Average momentum: [1.778514e-01 6.261818e-04 -3.726583e-02]
Max velocity magnitude: 5.070049
Temperature: 0.6456
Stats at timestep 3001 (simulation time 0.750250):
One timestep takes 14.59 ms Number of particles (total, min/proc, max/proc): 383247, 383247, 383247
Average momentum: [2.302195e-01 -2.846199e-04 -3.787914e-02]
Max velocity magnitude: 5.572831
Temperature: 0.6607
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.