Difference between revisions of "Material Point Reservoir"
Line 25: | Line 25: | ||
To allow custom tasks to inject particles, the reservoir normally needs to be seeded with enough material points for the injection process. The command to fill the reservoir in script files is: | To allow custom tasks to inject particles, the reservoir normally needs to be seeded with enough material points for the injection process. The command to fill the reservoir in script files is: | ||
Fill (num),(matid),<lx>,<ly>,<lz> | Fill (num),(matid),<lx>,<ly>,<lz> |
Revision as of 11:57, 22 July 2021
Introduction
Simulations in NairnMPM are currently limited to a fixed number of particles. To allow for simulations options to delete particles or inject particles, the code implements a reservoir of material points. This reservoir is current only implement in OSParticulas but will be moved to NairnMPM soon and will be then be documented further.
Deleting Particles
Any feature that deletes particles, moves those particle into the reservoir. The current options to delete particles are
- LeaveLimit Command - if this command's (maxNum) parameter is negative, particle that leave the grid are deleted from the simulation.
- DeleteLimit Command - if this command's (maxNum) parameter is greater than 1, particles that develop nan are deleted from the simulation.
- DeleteDamaged Custom Task - this tasks can delete damaged particles after decohesion.
- JWLPlusPlus Material - this material has an option to delete gas particles a sufficient distance from the ignition site.
Injecting Particles
Currently, the only options for injecting particles are in custom tasks. The only built-in custom task that injects particles is:
- FluidSource Custom Task - to inject liquid particles at a specified rate and at a specified location.
User-written custom tasks can also inject particles and more documentation on writing such tasks will be provided soon.
Filling the Reservoir
To allow custom tasks to inject particles, the reservoir normally needs to be seeded with enough material points for the injection process. The command to fill the reservoir in script files is:
Fill (num),(matid),<lx>,<ly>,<lz>