Class for generating various particle structures. Currently only cuboids are supported.
More...
#include <ParticleGenerator.h>
|
| static void | generateCuboid (ParticleContainer &particles, const std::array< double, 3 > &position, unsigned N1, unsigned N2, unsigned N3, double h, double mass, const std::array< double, 3 > &initVelocity, int dimensions, double brownianMotionAverageVelocity, double epsilon=5, double sigma=1, bool fixed=false) |
| | Generate a cuboid structure. More...
|
| |
| static void | generateDisc (ParticleContainer &particles, const std::array< double, 3 > ¢er, const std::array< double, 3 > &initVelocity, int N, double h, double mass, int dimensions, double brownianMotionAverageVelocity, double epsilon=5, double sigma=1, bool fixed=false) |
| | Generate a 2D disc structure. More...
|
| |
| static void | generateSphere (ParticleContainer &particles, const std::array< double, 3 > ¢er, const std::array< double, 3 > &initVelocity, int N, double h, double mass, int dimensions, double brownianMotionAverageVelocity, double epsilon, double sigma, bool fixed=false) |
| | Generate a 3D sphere structure. More...
|
| |
| static void | generateMembrane (ParticleContainer &particles, const std::array< double, 3 > &position, unsigned N1, unsigned N2, double h, double mass, const std::array< double, 3 > &initVelocity, bool isMarked(unsigned, unsigned), double epsilon=5, double sigma=1) |
| | Generate a 2D membrane. More...
|
| |
|
| static void | generateDiscQuadrant (ParticleContainer &particles, const std::array< double, 3 > &corner, const std::array< double, 3 > &initVelocity, double h, double mass, int N, double r, int dimensions, double brownianMotionAverageVelocity, std::array< int, 4 > transformMatrix, double epsilon=5, double sigma=1, bool fixed=false) |
| | Helper method to generate one of four quadrants of an 2-dimensional disc structure. More...
|
| |
Class for generating various particle structures. Currently only cuboids are supported.
◆ generateCuboid()
| void ParticleGenerator::generateCuboid |
( |
ParticleContainer & |
particles, |
|
|
const std::array< double, 3 > & |
position, |
|
|
unsigned |
N1, |
|
|
unsigned |
N2, |
|
|
unsigned |
N3, |
|
|
double |
h, |
|
|
double |
mass, |
|
|
const std::array< double, 3 > & |
initVelocity, |
|
|
int |
dimensions, |
|
|
double |
brownianMotionAverageVelocity, |
|
|
double |
epsilon = 5, |
|
|
double |
sigma = 1, |
|
|
bool |
fixed = false |
|
) |
| |
|
static |
Generate a cuboid structure.
- Parameters
-
| particles | Particle container to which the particle structure is added. |
| position | The coordinates of the lower left front-side corner. |
| N1 | Number of particles in dimension N1. |
| N2 | Number of particles in dimension N2. |
| N3 | Number of particles in dimension N3. |
| h | Distance of the particles (mesh width of the grid). |
| mass | Mass of one particle. |
| initVelocity | Initial velocity of the particles. |
| dimensions | Specify in how many dimensions the Brownian Motion is applied. Valid values are 0, 1, 2, 3 |
| brownianMotionAverageVelocity | Constant, specifying the average velocity of the Brownian Motion. |
| epsilon | Lennard Jones force parameter epsilon. |
| sigma | Lennard Jones force parameter sigma. |
| fixed | Fix particles. |
◆ generateDisc()
| void ParticleGenerator::generateDisc |
( |
ParticleContainer & |
particles, |
|
|
const std::array< double, 3 > & |
center, |
|
|
const std::array< double, 3 > & |
initVelocity, |
|
|
int |
N, |
|
|
double |
h, |
|
|
double |
mass, |
|
|
int |
dimensions, |
|
|
double |
brownianMotionAverageVelocity, |
|
|
double |
epsilon = 5, |
|
|
double |
sigma = 1, |
|
|
bool |
fixed = false |
|
) |
| |
|
static |
Generate a 2D disc structure.
- Parameters
-
| particles | Particle container to which the particle structure is added. |
| center | The coordinates of the center of the disc. |
| initVelocity | Initial velocity of the particles. |
| N | Number of particles along the radius, including the particle in the center. |
| h | Distance of the particles (mesh width of the grid). |
| mass | Mass of one particle. |
| dimensions | Specify in how many dimensions the Brownian Motion is applied. Valid values are 0, 1, 2, 3 |
| brownianMotionAverageVelocity | Constant, specifying the average velocity of the Brownian Motion. |
| epsilon | Lennard Jones force parameter epsilon. |
| sigma | Lennard Jones force parameter sigma. |
| fixed | Fix particles. |
◆ generateDiscQuadrant()
| void ParticleGenerator::generateDiscQuadrant |
( |
ParticleContainer & |
particles, |
|
|
const std::array< double, 3 > & |
corner, |
|
|
const std::array< double, 3 > & |
initVelocity, |
|
|
double |
h, |
|
|
double |
mass, |
|
|
int |
N, |
|
|
double |
r, |
|
|
int |
dimensions, |
|
|
double |
brownianMotionAverageVelocity, |
|
|
std::array< int, 4 > |
transformMatrix, |
|
|
double |
epsilon = 5, |
|
|
double |
sigma = 1, |
|
|
bool |
fixed = false |
|
) |
| |
|
staticprivate |
Helper method to generate one of four quadrants of an 2-dimensional disc structure.
- Parameters
-
| particles | Particle container to which the particle structure is added. |
| corner | The coordinates of the corner of the quadrant. |
| initVelocity | Initial velocity of the particles. |
| h | Distance of the particles (mesh width of the grid). |
| mass | Mass of one particle. |
| N | Number of particles along the radius, including the particle in the center. |
| r | Length of the radius of the circle |
| dimensions | Specify in how many dimensions the Brownian Motion is applied. Valid values are 0, 1, 2, 3 |
| brownianMotionAverageVelocity | Constant, specifying the average velocity of the Brownian Motion. |
| transformMatrix | Consists of four parameters: [0]: main axis d1 (0 for x-axis, 1 for y-axis) [1]: support axis d2 (0 for x-axis, 1 for y-axis) [2]: direction along main axis d1 (0 for positive, 1 for negative) [3]: direction along support axis d2 (0 for positive, 1 for negative) |
| epsilon | Lennard Jones force parameter epsilon. |
| sigma | Lennard Jones force parameter sigma. |
| fixed | Fix particles. |
◆ generateMembrane()
| void ParticleGenerator::generateMembrane |
( |
ParticleContainer & |
particles, |
|
|
const std::array< double, 3 > & |
position, |
|
|
unsigned |
N1, |
|
|
unsigned |
N2, |
|
|
double |
h, |
|
|
double |
mass, |
|
|
const std::array< double, 3 > & |
initVelocity, |
|
|
bool |
isMarkedunsigned, unsigned, |
|
|
double |
epsilon = 5, |
|
|
double |
sigma = 1 |
|
) |
| |
|
static |
Generate a 2D membrane.
- Parameters
-
| particles | Particle container to which the membrane is added. |
| position | The coordinates of the lower left corner. |
| N1 | Number of particles along the x-axis. |
| N2 | Number of particles along the y-axis. |
| h | Distance between the particles (mesh width of the membrane). |
| mass | Mass of one particle. |
| initVelocity | Initial velocity of the particles. |
| isMarked | Function that determines, if a particle should be marked. |
| epsilon | Lennard Jones force parameter epsilon. |
| sigma | Lennard Jones force parameter sigma. |
◆ generateSphere()
| void ParticleGenerator::generateSphere |
( |
ParticleContainer & |
particles, |
|
|
const std::array< double, 3 > & |
center, |
|
|
const std::array< double, 3 > & |
initVelocity, |
|
|
int |
N, |
|
|
double |
h, |
|
|
double |
mass, |
|
|
int |
dimensions, |
|
|
double |
brownianMotionAverageVelocity, |
|
|
double |
epsilon, |
|
|
double |
sigma, |
|
|
bool |
fixed = false |
|
) |
| |
|
static |
Generate a 3D sphere structure.
- Parameters
-
| particles | Particle container to which the particle structure is added. |
| center | The coordinates of the center of the sphere. |
| initVelocity | Initial velocity of the the particles. |
| N | Number of particles along the radius, including the particle in the center. |
| h | Distance of the particles (mesh width of the grid). |
| mass | Mass of one particle. |
| dimensions | Specify in how many dimensions the Brownian Motion is applied. Valid values are 0, 1, 2, 3 |
| brownianMotionAverageVelocity | Constant, specifying the average velocity of the Brownian Motion. |
| epsilon | Lennard Jones force parameter epsilon. |
| sigma | Lennard Jones force parameter sigma. |
| fixed | Fix particles. |
◆ id
| int ParticleGenerator::id = 1 |
|
staticprivate |
All particles being part of the same structure will be assigned the same id. This id is incremented by one for each structure that is created.
The documentation for this class was generated from the following files: