Creator Tree-Geometries

The Creator Tree-Geometries allows you to use geometry sections, such as pipes or mixing drums, to construct the environment in which your bulk material interacts.

You can make section definitions in EDEM or import them from a CAD (or comparable) program. They can be used to create particle factories.

You can use any number of sections in a model to build complex machinery. You can use an n-sided polygon, box, or cylinder to define sections. Each section contains several triangular components. For example, a ten-sided polygon has ten elements and a square surface has two elements.

Creating a new section

  1. Right-click Geometries in the Creator Tree.

  2. Right-click > Add Geometry and select Box, Cylinder, or Polygon. You can also use the Icon System.

  3. Right-click the selected Geometryand rename as appropriate.

  4. Select Geometry to view the General Properties.

Property Description
Volume A section is described as a volume or a surface. Completely closed boxes and cylinders are volumes; polygons and open boxes or cylinders are surfaces. This field is completed automatically.Volumes or virtual surfaces can later be turned into particle factories.
Material Select a Geometry material from the dropdown.
Type A section is either Virtual, Physical or Dynamic Domain.
A physical section is an actual surface or volume that particles can interact with. A virtual section (used to create particle factories) is a surface or volume of interest that does not actually exist and does not interact with anything in a simulation. A Dynamic Domain can only be applied to an EDEM Box geometry (volume). If the Simulator Dynamic Domain option is checked then any particles inside the Dynamic Domain will be active and particle contacts and forces are calculated as usual. Any particles outside the dynamic domain will be assessed to determine if they are stationary. Any stationary particles will be frozen and removed from the contact detection calculations, allowing the simulation to be resolved faster. 
Parent     Allows users to define a Geometry object to be a parent if using the parent child functionality.

Expand the section in the Creator Tree to view the Mass, Electrostatics (if appropriate), Transform, and Section Properties.

Property Description
Mass EDEM automatically calculates the center of mass of the Geometry.  If required, set the center of mass parameters for X, Y, and Z components (for imported Geometries) or click the calculate option to adjust the Center of Mass to the Geometries current position. For open volumes the CoM is calculated based on the size and center of the mesh elements.
The mass is automatically calculated based on the density of the equipment material. If auto-calculate is not selected, this value can be modified.
The Moment of inertia is based on the shape of the equipment. It can be manually defined by unselecting the auto calculation option.
Electrostatics Set the Electrostatic charge of the material. (Electrostatics is hidden by default)
Box
  • Center. Set the position of the center of the box.
  • Dimensions. Set the box length in the X, Y and Z axis.
  • Enable Faces. Any of the six sides of the box can be removed.
Cylinder    
  • Radius Start. Set the radius of one end of the cylinder. The end can be open or closed.
  • Radius End. Sets the radius of one end of the cylinder. The end can be open or closed.
  • Length. Set the distance between the start and end radius.
Polygons

All polygons, except a four-sided polygon are defined as follows:

  • Edges. Set the number of edges. The minimum number is three.
  • Radius. Set the size of the radius from the center to the corner of the shape.

A four-sided polygon is specified as follows:

  • Edges. Set the number of edges to four.
  • Dimensions. Set the length and the width.
Transform See the Transform section.

 

Geometry sections outside of or directly coincident with the domain boundary do not partake in the simulation, and will be 'invisible' to particles.

The Transform Menu

The Transform menu allows you to define the position and orientation of your Geometry.  The menu is the same for imported CAD parts, boxes, cylinders and polygons. Transforms can be applied globally or locally.

Position Set the X, Y and Z position of the object.
Rotation Set the X, Y and Z rotation of the object this is relative to the origin of the object.  To move the point of rotation, use the Local Origin Offset (see below).
Rotation transforms can only be defined at the first Time Step.
Local Axis Rotation Rotations can be made using these buttons. The > will rotate the object by 1 degree and >> will rotate the object by 5 degrees.
Local Origin Offset The rotation acts relative to the local origin. The local origin is automatically set to the Geometries center of mass.

Alternative Rotation Options

Use the secondary rotation option to rotate an object about a Vector.

Start Point Enter the X Y and Z coordinate of the start point of the vector
Alternatively: Use the Pick button to select a Geometry element as a starting point
End Point Enter the X Y and Z coordinate of the end point of the vector
Alternatively: Use the Pick button to select a Geometry element as an ending point
Angle Specify the angle to rotate about the vector
Apply This will update the parameters defined in the Transform section

The axis key for the transform can be turned On or Off by navigating to View > Geometry Origin Axes and then selecting/unselecting the option.

Examples of Geometry Sections

Closed Box

 

  Length (m) Position (m) Rotation (rad)
X 0.5 0.5 0
Y 0.5 0.5 0
Z 0.5 0.5 0

 

Open Tilted Cuboid

  Length (m) Position (m) Rotation (rad)
X 0.5 0.5 - 0.5
Y 0.2 0.5 0
Z 0.1 0.5 0

 

Vertical Cylinder

      Position (m) Rotation (rad)
Radius Start (mm) 0.1 X 0.5 - 0.5
Radius End (mm) 0.1 Y 0.5 0
Length (m) 0.6 Z 0.5 0

 

Cylinder Tilted in the y Direction

      Position (m) Rotation (rad)
Radius Start (mm) 0.1 X 0.5 - 0.7
Radius End (mm) 0.1 Y 0.75 0
Length (m) 0.78 Z 0.5 0

 

Funnel Tilted in the x Direction

 

      Position (m) Rotation (rad)
Radius Start (mm) 0.1 X 0.7 0
Radius End (mm) 0.3 Y 0.5 0.7
Length (m) 0.78 Z 0.5 0

 

6-sided Polygon

 

    Position (m) Rotation (rad)
Radius  X 0.7 0
0.5 Y 0.5 0
  Z 0.5 0

 

4-sided Tilted Polygon

Length A   Position (m) Rotation (rad)
1 X 0.5 0
Length B Y 0.5 0
1 Z 0.2 0.5

 

3-sided Polygon

    Position (m) Rotation (rad)
Radius X 0.5 0
0.5 Y 0.5 0
  Z 0.3 0

Parent Child Functionality

Geometry handling in EDEMenables Geometry sections to be defined as ‘children’ of another geometry section. This allows the ‘child’ geometry to inherit kinematics from the ‘parent’ geometry which greatly reduces the number of kinematics which need to be created in complex systems. At this point, the primary benefit of this change is the ability for the Dynamic Domain to be defined as a child of another geometry section without the need for movement to be controlled by an external 3rd party, such as MBD software.

Once you have defined the hierarchy in the tree, it can be identified by the indent relative to the parent Geometry as follows:

The child will now move with the parent if the parent is assigned a motion or is moved within global space (rotated or translated).

Before setting the initial position of the parent geometry, you must assign the child and select or deselect the Include Rotation From Parent Transform checkbox (located within the child's Transform). This will mitigate any unwanted movements when selecting or deselecting this option.

Partial Parent Transform

To include only a partial parent transform, there is an option within the Child’s Transform to not include the rotational aspect of the parent’s motion. Navigate to Geometry > Parent Geometry > Child Geometry > Transform > Partial Parent Transform. Deselect this option to only retain the parent translational motions.

Specifying Geometry Motions

Sections of geometry can be static or dynamic. Static sections remain in a fixed position during the course of a simulation whereas dynamic sections move. Sections can move under fixed translation, rotation, conveyor motion, or sinusoidal motion.

Specifying a Kinematic

When you use kinematics to define the equipment, they will not move when a force provided by another element is applied. For example, a section will not move when another section comes into contact with it or when a particle bounces off it. Sections pass through each other when they come into contact.

 

Specifying a Translation

  1. Select the required Geometry in the Creator Tree > Geometries section.

  2. Right-click > Add Motion > Select Linear Kinematic or Sinusoidal Translation Kinematic (used to model oscillating motion). Alternatively use the icon system.

  3. Rename the kinematic as appropriate.

Translation Setup
Linear
  1. Set the Start time and End time. This determines the points in the simulation at which the motion will begin and end.
  2. The Loop Every checkbox enables the kinematic to be looped, for example a kinematic with start time of Xs and end time of Ys with Loop Every set to Zs would run from Xs to Ys then repeat again at (X+Z)s to (Y+Z)s and again at (X+2Z)s to (Y+2Z)s until the Until Time is reached.
  3. Set the Initial velocity of the section. This determines the speed of the sectionat the specified start time.
  4. Specify the Acceleration of the section. Acceleration can be set to 0.
  5. Set the direction vector for the motion. This determines the direction the section will move in.
Sinusoidal
  1. Set the Start time and End time. This determines the points in the simulation at which the motion will begin and end.
  2. The Loop Every checkbox enables the kinematic to be looped, for example a kinematic with start time of Xs and end time of Ys with Loop Every set to Zs would run from Xs to Ys then repeat again at (X+Z)s to (Y+Z)s and again at (X+2Z)s to (Y+2Z)s until the Until Time is reached.
  3. Specify the Frequency of the oscillation.
  4. Specify the oscillation Offset, for example, two sections with identical oscillations offset by 180° will travel in opposite directions.
  5. Set the Displacement Magnitude (also known as the amplitude) of the oscillation in each direction.

Specifying a Rotation

  • Select the required geometry in the Creator Tree > Geometries section.

  • Right-click > Add Motion > select Linear Kinematic or Sinusoidal Rotation Kinematic (used to model oscillating motion). Alternatively, use the icon system.

  • Rename the kinematic as appropriate.

Rotation Setup
Linear
  1. Set the Start time and End time. This determines the points in the simulation at which the rotation will begin and end.
  2. The Loop Every checkbox enables the kinematic to be looped, for example a kinematic with start time of Xs and end time of Ys with Loop Every set to Zs would run from Xs to Ys then repeat again at (X+Z)s to (Y+Z)s and again at (X+2Z)s to (Y+2Z)s until the Until Time is reached.
  3. Set the Initial velocity of the section. This determines how fast the section will start rotating at the specified start time.
  4. Specify the Acceleration of the section. Acceleration can be set to 0.Set the axis of rotation. This defines around which axis the section will rotate.
  5. Specify the point of action (the center of the rotation). If the geometry section is also moving under a translation, select the Moves With Body option to update center as the section moves. This will ensure that the center of the rotation remains in the same relative position to the geometry section.
Sinusoidal
  1. Set the Start time and End time. This determines the points in the simulation at which the motion will begin and end.
  2. The Loop Every checkbox enables the kinematic to be looped, for example a kinematic with start time of Xs and end time of Ys with Loop Every set to Zs would run from Xs to Ys then repeat again at (X+Z)s to (Y+Z)s and again at (X+2Z)s to (Y+2Z)s until the Until Time is reached.
  3. Specify the Frequency of the oscillation.
  4. Specify the Oscillation Offset.
  5. Set the Displacement Magnitude (angle) of the oscillation in each direction.
  6. Specify the point of action (the center of the rotation). If the geometry section is also moving under a translation, select the Moves with body option to update center as the section moves. This will ensure that the center of the rotation remains in the same relative position to the geometry section.

Specifying a Conveyor

  • Select the required geometry in the Creator Tree > Geometries section.

  • Right-click > Add Motion > Select Conveyor Translation or Conveyor Rotation.

  • Rename the Motion as appropriate.

The conveyor motion will add a relative motion to the equipment section. Unlike the Linear Translation or Linear Rotation that equipment section will not move, the particles will experience the relative velocity of the conveyor belt-like motion.

Conveyor Setup
Translation
  1. Set the Start time and End time. This determines the points in the simulation at which the motion will begin and end.
  2. The Loop Every checkbox enables the kinematic to be looped, for example a kinematic with start time of Xs and end time of Ys with Loop Every set to Zs would run from Xs to Ys then repeat again at (X+Z)s to (Y+Z)s and again at (X+2Z)s to (Y+2Z)s until the Until Time is reached.
  3. Set the Initial velocity of the section. This determines the speed of the section at the specified start time.
  4. Specify the Acceleration of the section. Acceleration can be set to 0.
  5. Set the direction vector for the motion. This determines the direction the section will move in.
Rotation
  1. Set the Start time and End time. This determines the points in the simulation at which the motion will begin and end.
  2. The Loop Every checkbox enables the kinematic to be looped, for example a kinematic with start time of Xs and end time of Ys with Loop Every set to Zs would run from Xs to Ys then repeat again at (X+Z)s to (Y+Z)s and again at (X+2Z)s to (Y+2Z)s until the Until Time is reached.Set the Initial velocity of the section. This determines how fast the section will start rotating at the specified start time.
  3. Specify the Acceleration of the section. Acceleration can be set to 0.
  4. Set the axis of rotation. This defines around which axis the section will rotate.
  5. Specify the point of action (the center of the rotation). If the geometry section is also moving under a translation, select the Moves With Body option to update center as the section moves. This will ensure that the center of the rotation remains in the same relative position to the geometry section.

 

When setting a series of kinematics to a single geometry the order that the kinematics appear in the creator tree is important, particularly when the point of action is moving with the body. Kinematics should be arranged in the following order: 1) Translational Kinematics, 2) Rotational Kinematics, 3) Conveyor Kinematics. You can move kinematics up or down in the creator tree by right clicking on the kinematic and selecting “Move Up” and “Move Down”.

Specifying a Motion Controller

Unlike kinematics, you can add motion controllers to the geometry elements to allow objects to react to particle-geometry forces.  Forces acting on the geometry are included in the calculation of the geometries motion.  There is no contact detection between geometry elements.  Sections pass through each other when they come into contact.

Motion control uses Geometry Mass to calculate accelerations. The mass is automatically calculated in the Geometries Tree and can be manually set. This should be representative of the real geometry mass and a non-zero value.

Particle-geometry interactions between particles outside the dynamic domain and geometries with force and torque motions are not supported.  This is due to the particle-geometry forces not being calculated in these instances.

Specifying a Force

  1. Select the required geometry in the Creator Tree > Geometries.
  2. Right-click > Add Motion > Add Force Controller. Alternatively use the icon system.
  3. Rename the Motion as appropriate.
    Force Controller
    1. Set the Start time and End time. This determines the points in the simulation at which the motion will begin and end.
    2. The Loop Every checkbox enables the motion to be looped, for example a kinematic with start time of Xs and end time of Ys with Loop Every set to Zs would run from Xs to Ys then repeat again at (X+Z)s to (Y+Z)s and again at (X+2Z)s to (Y+2Z)s until the Until Time is reached.
    3. Set an equation for the force. This can be a single value or an equation.
    4. Set the Initial force of the section. This determines the initial force acting on the section at the specified start time.
    5. Select the gravity option to add a gravity force to the object.  This is based on the mass of the section (and can be changed in the Mass section of the Section)
    6. Add a Damping coefficient. Damping is calculated by CmV where C - Damping coefficient m - Mass of the object and V is the velocity of the object
    7. You can constrain the motion in 1 or 2 dimensions. These dimensions are defined as a vector in the X, Y and Z direction.
    8. The motion can be constrained to a maximum speed.  This can be done by selecting the “enable speed cap option” and inputting a maximum speed value.

    Using more than one controller of the same type during the same time in the simulation may result in unexpected behavior.

Specifying a Torque

Torque Controller
  1. Set the Start time and End time. This determines the points in the simulation at which the motion will begin and end.
  2. The Loop Every checkbox enables the motion to be looped, for example a kinematic with start time of Xs and end time of Ys with Loop Every set to Zs would run from Xs to Ys then repeat again at (X+Z)s to (Y+Z)s and again at (X+2Z)s to (Y+2Z)s until the Until Time is reached.
  3. Set an equation for the torque. This can be a single value or an equation.
  4. Set the Initial torque of the section. This determines the initial torque acting on the section at the specified start time.
  5. Select the gravity option to add a gravity force to the object. This is based on the mass of the section (and can be changed in the Mass section of the Section).
  6. Add a Damping Coefficient. Damping is calculated by CωI where C - Damping coefficient, I - Moment of Inertia of the object and ω is the angular velocity of the object.
  7. You can constrain the motion in 1 dimension. This axis is defined by a vector defined by X, Y and Z components. The amount of displacement can be capped in both directions, this is done by selecting the box and inputting high and low values for the Angular displacements.
  8. The motion can be constrained to a maximum angular speed. This can be done by selecting the “enable speed cap option” and inputting a maximum speed value.
  9. Specify the point of action (the center of the rotation). If the geometry section is rotating about the start point of the torque controller select Start point. To define a specific point use the Manual Point option. If the torque applies about the Center of Mass of the object select Use Center of Mass. If the geometry section is also moving under a translation, select the Moves with body option to update center as the section moves. This will ensure that the center of the rotation remains in the same relative position to the geometry section.

 

Using Force/Torque Inputs as Equations

The input fields for both torque and force can take equations, as well as numerical values. These fields take equations in time, parameterized as t, which can be used to create a wide-range of behavior. No other parameters are currently accepted, so you must write your equations in terms of t, and not x, y ,z,  nor any other.

The following table lists the available math functions.

Method Description
abs(x) Returns the absolute value of x
acos(x) Returns the arccosine of x, in radians
asin(x) Returns the arcsine of x, in radians
atan(x) Returns the arctangent of x as a numeric value between -PI/2 and PI/2 radians
atan2(y, x) Returns the arctangent of the quotient of its arguments
ceil(x) Returns the value of x rounded up to its nearest integer
cos(x) Returns the cosine of x (x is in radians)
exp(x) Returns the value of Ex
floor(x) Returns the value of x rounded down to its nearest integer
log(x) Returns the natural logarithm (base E) of x
max(x, y, z, ..., n) Returns the number with the highest value
min(x, y, z, ..., n) Returns the number with the lowest value
pow(x, y) Returns the value of x to the power of y
random() Returns a random number between 0 and 1
round(x) Returns the value of x rounded to its nearest integer
sin(x) Returns the sine of x (x is in radians)
sqrt(x) Returns the square root of x
tan(x) Returns the tangent of an angle

Equations use the current simulation time for the value of t.  It may be necessary to offset the "t" in the force and torque  controller.  For example, if the force/torque has a start time of 2 seconds, the equation must use "t-2" if the desired force is zero at a time of 2 seconds.

Importing Geometry Sections

Instead of defining geometry using EDEM, you can import geometries from a range of CAD packages.

  1. Right-click Geometries > Geometry tree and select Import Geometry .

  2. Navigate to the file to import then click Open.

  3. In the Import Options dialog box:

    1. Select the unit of measurement the geometry is measured in.  If you are unsure select the “CAD Units” options and the import will interpret the units used in the CAD file.  It is recommended to specify the units as some CAD formats do not save any units system in the file.

    2. If applicable, select the Merge Sections checkbox to merge separate geometry sections into one single section.

    3. Use the Rename using Filename option to name the imported geometries from the CAD file name.

  4. Select a method for the meshing (these options do not affect pre-meshed objects):

    1. Rigid Body mesh

      Creates a mesh to represent the topology of a rigid object.

      Minimum Size Minimum allowable element size. This can be an absolute value or a multiple of the characteristic length.
      Maximum Size Maximum allowable element size. This can be an absolute value or a multiple of the characteristic length.
      If there is no limit to the largest element required this can be set to a very large value.
      Maximum Deviation Allowable deviation between the element edge and the surface edge. To meet this requirement, element edge lengths along a curved surface edge are reduced as needed down to a lower limit set by the minimum element size. This can be an absolute value or a multiple of the characteristic length.
      Maximum Feature Angle Maximum angle across which elements can be maintained. When two adjacent elements’ normals exceed this angle, a new set of nodes is created between them to maintain clean feature lines. Using higher value results in elements spanning the feature line.

    2. Size and Bias
      Uses elements of a uniform size that you specify to create a mesh.
      Element Size Average element size. The length of any active (shared or free) surface edge divided by the element size determines the number of elements to place along that edge.

      The parameters for mesh import are based on the units units defined for the main EDEM GUI and are not affected by the unit selected in step 3.
  5. Set the geometry material properties by selecting the required geometry and navigating to the general tab.
  6. Set the geometry Kinematics as appropriate.

Calculating Characteristic Length

The Characteristic Length is calculated during the geometry import.  The Characteristic Length is the average length of each feature in the CAD file.  The minimum and maximum length for the Rigid Body meshing can be set as a multiple of the characteristic length which will allow the import settings to be associated with the specific geometry which is being imported.

Importing Multiple Geometry Sections

  1. Right-click > Geometries > Geometry tree and select Import Geometry .

  2. Navigate to the list of files to import and select multiple files either by pressing Ctrl + left-click and selecting each file, or hold down the Shift key and select a list of files.

  3. Click Open.

  4. In the Import Options dialog box:

    1. Select the unit of measurement the geometry is measured in. All the selected geometries will be imported with the same units, if geometries have been created with different units they will have to be imported separately.

    2. If applicable, select the Merge Sections checkbox to merge separate geometry sections into one single section. This will merge geometries in the same files together, it will not merge geometries if they are in separate files. Click OK.

  5. Follow the import procedure as per importing a single file.

  6. Set the Geometry material properties by selecting the required geometry and navigating to the general tab or select multiple imported geometries to set their material properties.

Repositioning Imported Geometry Sections

You can move(translate) and rotate the imported CAD geometry sections. You can also export the translation data to a text file.

  1. Select the imported section and expand the section tree.

  2. Select CAD Geometry then define the transformation as required.

    1. Select the Display Bounding Box checkbox to display a blue box around the geometry section, aligned to its axis.

      Movement Parameter
      Translation
      1. Set the position of a translation vector to determine where to move the geometry to. The direction and magnitude of the translation vector is defined by the start and end points. Once set, specify the distance to move the geometry along the vector. The Distance is automatically calculated. Updating the Distance value will update the start and end points.
      2. Pick Start Point. Click to enable the target cross hair, then click a point on a geometry in the Viewer to set the start point for the translation.
      3. Pick End Point. Click to enable the target cross hair then click a point on a geometry in the Viewer to set the end point for the translation.
      4. Start Point X, Y, Z. Specify the X, Y, and Z coordinates of the start point of the vector along which the geometry is to be translated.
      5. End Point X, Y, Z. Specify the X, Y, and Z coordinates of the end point of the vector along which the geometry is to be translated.
      6. Distance. Modify the distance to move the geometry along the vector.
      7. Display Vector. Click to view the translation vector.
      Rotation
      1. Set the position of a rotation axis to determine how to rotate the geometry. This axis is specified as a vector between two points around which all rotations are performed using a rotation angle. Once set, specify the angle to rotate the geometryaround the axis.
      2. Select Start Point. Click to enable the target cross hair, then click a point on a geometryin the Viewer to set the start point for the rotation.
      3. Select End Point. Click to enable the target cross hair then click a point on a geometry in the Viewer to set the end point for the rotation.
      4. Start Point X, Y, Z. Specify the X, Y, and Z coordinates of the start point of the vector along which the geometry is to be rotated.
      5. End Point X, Y, Z. Specify the X, Y, and Z coordinates of the end point of the vector along which the geometry is to be rotated.
      6. Angle. Specify the angle to rotate the geometry around the vector.
      7. Display Axis. Click to view the rotation axis.

While using the Pick Tool for reposition the CAD geometry may ‘jump’ to a new location on selecting the End Point. This is expected behavior as the reposition moves the Geometry along the vector and distance between the selected points.

To export the transformation settings, select File > Export > Geometry Transformations. Select the sections to export data from, and then specify a file. Click Export to save the transformation data to a text file.

Geometry Sections Groups

Geometry groups can be used to organize Geometry sections in the creator and analyst trees. Groups can be added by right-clicking the Geometry section of the tree and Add Geometry Group, or by selecting multiple Geometry sections and then right-clicking Add to new Geometry Group which will create a new group and move the Geometry sections into it.

Deleting a group containing Geometry sections will give an option to delete Geometry sections in the group or just the group item itself.

If a new Geometry is added/imported while a Geometry section within a group is selected, the new Geometry will be added to this group, otherwise it will be added to the top level Geometry sections Group. Copying a Geometry will also now create the copy at the same level in the Geometry tree hierarchy.

Geometry sections can now be moved between or to Geometry groups via a right click context menu option. A Geometry within a Geometry group can be removed from it by right-clicking Remove from Geometry Group or the keyboard shortcut Ctrl + Shift + x.

Merging Geometry Sections

You can merge Geometry sections at any time.

  1. Select all the sections to merge by pressing the Ctrl key. The merged sections inherit the section name of the Geometry section first selected.

  2. Right-click and select Merge Geometry or use the icon system.

  3. Confirm the sections to be merged and select OK.

Copying Geometry Sections

You can copy the created and imported geometry sections using the single copy option.

  1. Select the geometry section that you want to copy.

  2. Right-click and select Copy Geometry > Single Copy or click the icon.

    The copied geometry appears in the same position as the original; it is not offset from the original’s position. The name of the new section will be called New Section N.

Making Multiple Copies

  1. Select the geometry section that you want to copy.

  2. Right-click and select Copy Geometry > Multiple Copy or click the icon.

  3. Select the number of copies required and the Default or Original naming convention.

    1. Default naming convention makes copies called “New Section N” where N is between 1 and the number of copies required.

    2. Original naming convention makes copies of Geometries keeping the original name. For example Bucket will be copied to Bucket(N) where N is between 0 and ‘number of copies required – 1’.

Replacing Geometry sections

Geometry sections can be replaced by new imported Geometry objects or the standard EDEM objects.  These replaced objects will maintain the factory, kinematic and transform settings.

  1. Select the object to be replaced.
  2. Right-click and select Replace Geometry with.
  3. Select Box, Cylinder, Polygon, or CAD Geometry.
  4. Define the selected object according to the selected option.

Geometry sections can only be replaced at Time Step 0.

Creating Particle Factories

Particle factories are used to define where, when, and how Particles/Meta-Particles appear in a simulation. Any virtual surface or volume (physical or virtual) can be turned into a particle factory Material Generator. Factories can only be created if a Bulk Material has been defined. A simulation can comprise any number of particle factories.

  1. Select the geometry section you want to use as a factory.

  2. Right click and choose Add Factory/Add Material Block or use the icon system.

  3. Alternatively Select Plugin Factories from the expanded Geometries tab and Right Click to import your own custom particle factory (for details on custom particle factories, refer to the EDEM Programming Guide).

There are two types of particle factories - Static and Dynamic. To switch between factory types right-click > Change Factory Type.

Static Factories

Static factories produce particles/Meta-Particle at a specified time. Simulation is paused during particle creation.

Parameter Details
Number or mass of particles

For a static factory, select either:

  • Fill Section. Creates as many particles as will fit on or in the chosen geometry section.
  • Total Number. Produce a specified number of particles.
  • Total Mass. Produce a specified amount of mass.
Start Time Set the time at which particle creation will take place.
Max attempts to place particle  If you select random particle position, you must also define the maximum number of attempts to place a particle.

During simulation, EDEM attempts to place particles in a random position in or on the specified section. If placing the particle in that position would cause an overlap with any other physical element in the model, the simulator will abandon the position and try to find another. It will attempt this for the specified number of times for each particle.
Overlap Check Based on Contact detection between particles can be based on the physical or the contact radius. If you are generating particles which have a contact radius (for example when using the bonded model) selecting the Based on Contact Radius will ensure that the particles are placed with enough separation to ensure that the particles do not bond with one another.

Dynamic Factories

Dynamic factories produce particles over the duration of a simulation. Simulation continues as the particles are created.

Parameter Details
Number of mass of particles

For a dynamic factory, select:

  • Unlimited Number. This creates as many particles as will fit on or in the chosen geometry section. If selected, the factory will attempt to create particles continuously from the specified start time until the end of the simulation. Particles will continue to be created even after a section surface or volume is full. This may cause the rest of the simulation to slow down.
  • Total Number. Produce a specified number of particles.
  • Total Mass. Produce a specified amount of mass.
Generation Rate
  • Target Number. Define the number of particles the simulator will attempt to place in or on the section every second.
  • Target Mass. Define the mass generation rate the simulator should aim to create. When simulation starts, this rate is converted into mass per Time Step. If this is less than the smallest particle mass, the factory does not create a particle but adds the mass to the mass for the next Time Step. Once there is enough mass, the factory creates a particle. If the mass per Time Step is greater than the smallest particle mass, the factory places particles until it reaches the mass per Time Step. Be sure your factory is large enough to create the required mass rate: if not, a warning message may be displayed prompting you to update the rate.
    Target Mass is not compatible with Cubic, BCC, and FCC factories.
  • Mass Flow Equation f(t) [kg].  Define a time dependent mass flow equation. The functions which can be used can be found here
The units for the mass flow equation is always kilograms.

Start time Set the time at which particle creation generation starts.
End time Set the time at which material generation stops.
Max attempts to place particle During simulation, EDEM attempts to place particles in a random position in or on the specified section. If placing the particle in that position would cause an overlap with any other physical element in the model, the simulator will abandon the position and try to find another. It will attempt this for the specified number of times for each particle.
Overlap Check Based on Contact detection between particles can be based on the physical or the contact radius. If you are generating particles which have a contact radius (for example when using the bonded model) selecting the Based on Contact Radius option will ensure that the particles are placed with enough separation to ensure that the particles do not bond to one another.

 

Specifying Factory Parameters

The parameters area is used to specify the section to use as a factory, and to define the starting conditions of the particles it creates.

Parameter Options
Material/Meta-Particles The Bulk Material created by this factory.
Position

When particles and Meta-Particles are created, they are placed on or in the specified section. Particles are never created on top of one another. When a factory tries to create a particle/Meta-Particle it will repeatedly attempt to find free space to place it.

The position of the particles can be:

  • Random. Particles are positioned randomly.
  • Cubic. Particles are created in a simple cubic lattice. Select the Display Lattice option in the Viewer controls pane to show the lattice in the Viewer.
  • BCC lattice. Particles are created in a body-centered cubic lattice. It is defined in the same way as a cubic lattice.
  • FCC lattice. Particles are created in a face-centered cubic lattice. It is defined in the same way as a cubic lattice.

Only a random position is selectable when defining a target mass to create.

Velocity

Particles can be given a velocity at the time of creation. Options are:

  • Fixed. All particles have the same fixed velocity. The velocity must be defined as a vector.
  • Random. Each particle is given a velocity at random within a defined range.
  • Normal distribution. The particle velocities have a normal distribution. The particle direction, mean velocity and the standard deviation must be defined.
  • Linear distribution. The particles are given velocities that fall on the line segment between the two velocity vectors provided by you.
  • Spray. The particles are formed in a conical spray. The spray direction is defined as a velocity vector. The angle is the angle of maximum deviation from the normal. The mean velocity and standard deviation must also be defined.
Orientation

Particles can be given an orientation at the time of creation. This is useful for non-spherical particles. The options are as follows:

  • Fixed. All particles have the same fixed orientation. The orientation is defined in an orientation matrix. EDEM automatically adjusts the values you enter to maintain an orthogonal orientation matrix.
  • Random. Each particle is given a random orientation.
Angular velocity

Particles can be given an angular velocity at the time of creation i.e. they will be spinning when placed on or in the specified section. The options are as follows:

  • Fixed. All particles have the same fixed angular velocity. The velocity must be defined as a vector.
  • Random. Each particle is given an angular velocity at random within a defined range.
  • Normal distribution. The particle angular velocities have a normal distribution. The particle direction, average angular velocity and the standard deviation must be defined.
  • Linear distribution. Particles are given angular velocities that fall on an arbitrary arc drawn between two velocity vectors.
Custom property

If you have defined any custom properties, particles can be given a custom property value at the time of creation. Options are:

  • Fixed. All particles have the same fixed value.
  • Initial. Particles use the initial value of the property.
  • Normal. Custom property values have a normal distribution. The mean and standard deviation must be defined.
  • Random. Each particle is given a value at random within a defined range.

Recorded Factories

Recorded Factories allow you to record the material flow in one area of a simulation to use as a factory in another simulation.
This process involves adding a box element to a simulation and setting the type as 'Recorder' during the setup of the first simulation. The running simulation of any material entering the Recorder box is tracked and written to a file.  Once the simulation is complete, the recorded data can be used as a factory in any subsequent simulation. You can have multiple recorded factories and recorders in a simulation.

Adding a Recorder to a Simulation

  1. Set up the simulation.
  2. In the Creator, create a Box Geometry.
  3. Select Recorder from the Type dropdown list. 
  4. Set the Start Time and End Time for the recording.
    This allows you to specify when the Recorder will be active and enables simulations to reach steady state prior to starting the recording.
  5.  Click Optimize Thickness to change the size of the recorder to the most efficient size.
    This will ensure that there is sufficient thickness to capture the data but eliminate the overhead of recording excessive information.
  6. Reposition the box to the point where you want the data  recorded.
  7. Run the simulation.
     

Adding a Recorded Factory to a Simulation

  1. In the Creator create a Box Geometry.
  2. Right-click the Box and select Add Factory > Add Recorded Factory.
  3. In the Particle Generation dialog box, click Choose Factory Folder to navigate to the folder which contains the Recorder data. 
  4. Select the Start Time and End Time to limit the time in which material is generated.
  5. Select the Loop Factory checkbox to run repeatedly through your Recorded Factories.
  6. Select a value from the Delay between Loops dropdown list to add a pause between replays.

Known restrictions of Recorded Factories

Recorded factories are known to have the following limitations:

  1. Factories cannot be rotated from the original recording position.
  2. The Recorder and Factory cannot exist in the same simulation (the recording simulation must be run prior to starting the factory simulation).
  3. It is assumed that particles are flowing out of the Recorder. If a particle re-enters the recording space, contact detection will not occur.
  4. The Recorder and writing the factory file adds a computational overhead to the simulation.

OpenCL Factory Domain

A domain around the factory is used for OpenCL GPU simulations.  Particles inside the domain use the CPU for the calculation and this can have a significant impact on the simulation performance.  A domain object is drawn for OpenCL GPU factories to indicate the region where the CPU calculations will take place.  Wherever possible, it is advisable to aim to reduce the number of particles in the region to ensure the best performance.

Adding a Material Block

You can create a bed of material in the selected geometry. Due to its functionality, the tool is only available for Box geometries.

To use the material block, select the material box and right-click to select Add Block factory. The  Parameters dialog box is displayed.

Material Block

The dropdown displays all the saved material blocks within the Material Database that have been transferred to the current simulation deck. Transferring a block from the Material Database to the current simulation also transfers all the relevant Bulk and Equipment materials, interactions, and the Contact Model used.

  1. Without choosing any additional settings, EDEM will place as many copies of the selected block as they fit within the volume of the factory box. This will essentially create a bed of material within the box domain.

  2. If Dynamic Block Creation is selected, EDEM will perform the above action every time you set a period in the Create Block Every section. If the geometry box is the same size as the original saved block, then one block will be created every time period, essentially taking the output of one simulation as an input to another.

  3. If Override Velocity is selected, EDEM will overwrite the stored material velocity with the user-specified value.

EDEM will place as many copies of the selected block as they fit within the volume of the factory box.

Selecting Geometry Sections

You can select Geometry sections by clicking on the required geometry in the Viewer window. The geometry in the Creator Tree is highlighted.

You can select multiple geometries in the Creator Tree by expanding the Tree and holding down the Ctrl key while selecting the geometries. The advantage of this method is that once multiple Geometries are selected, the Material can be changed or assigned for all selected Geometries using the General > Material option. Alternatively, you can delete multiple geometries using the Delete key or the icon.

Using the Volume Packing Tool

The Volume Packing tool is used to fill a geometry with particles based on a user defined solid fraction. The process of achieving this is to generate the required number of particles to satisfy the solid fraction and then iteratively rearrange the particles to remove overlaps between the overlapped particles and particles overlapping the geometry. There are two different methods available for the volume packing tool. The first one (recommended), is based on calculating particle displacement based on the average distance to neighboring particles. The second one is an optimization algorithm (deprecated) that calculates the displacement by solving an optimization function based on the total distance to particle neighbors and geometry.

Volume packing is calculated at the start of a simulation, but the creation of the material can be offset to the required start time within the simulation.

To use volume packing:

  1. Select a closed volume from the Geometries tree.
  2. Right-click Add volume packing.
  3. Define the materials to fill the volume, which can be a mix of different materials.
  4. Select the appropriate Solid fraction (0.7 would be very high, 0.4 would be very low).
    The volume packing tool does not calculate forces based on overlaps, creating material with very high overlaps could lead to a particle explosion once the forces are calculated in the physics model. 
  5. Set the start time which is the time where the particles will enter the simulation. 
    1. For further configuration of the volume packing tool, click the cog icon.
      Maximum number of Iterations Maximum number of iterations for the generation
      Algorithm Type The Position correction algorithm (recommended) is based on calculating particle displacement based on the average distance to neighbors.
      The Optimization algorithm {deprecated) is an algorithm that calculates the displacement by solving an optimization function based on the total distance to particle neighbors and geometry.This algorithm has shown some instabilities with non-spherical particles and gravity.
      Convergence Tolerance Used in the optimization algorithm to determine when the bed is fully settled.
      Remove Particle Iteration Set the start iteration for applying filter. This is expressed as a percentage of the Max Number of Iterations.
      Remove Particle Overlap Criteria to remove particles by overlap. Value representing a fraction of particle’s radius.
      Shrink Overlapping Particles After exiting the main loop, reduce the particle size to remove any remaining overlap
      Periodic Axes Define the axis which are periodic (see periodic boundaries) to generate material blocks.
 

Using Filters

Filters are used to remove particles with large overlaps.  The filter is applied after a certain number of iterations and the size of the overlap is user defined.

(c) 2023 Altair Engineering Inc. All Rights Reserved.

Intellectual Property Rights Notice | Technical Support