Geometry sections are used to create the environment in which your Bulk Material acts: for example, a pipe or a mixing drum. Sections can be defined in EDEM or imported from a CAD (or similar) package. Particle factories are also created using sections.
A model can have any number of sections allowing complex machinery to be created. A section can be defined as a box, a cylinder or as an n-sided polygon. Each section comprises a number of triangular elements: For example a square surface is made up of two elements and a ten-sided polygon of ten elements.
To create a new section :
Right click on the Geometries section of the Creator Tree
Choose Right Click > Add Geometry and Choose Box, Cylinder or Polygon. You can also use the Icon System.
Right Click the selected Geometry to rename as appropriate.
Select the Geometry to see the General Properties:
Properties | 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 drop-down list. |
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 see the Mass, Electrostatics (if appropriate), Transform and Section Properties:
Property | Description |
Mass |
|
Electrostatics |
|
Box |
|
Cylinder |
|
Polygon |
All polygons, except a four-sided polygon are defined as follows:
A four-sided polygon is specified as follows:
|
Transform |
See Section on Transform below |
Note: Geometry sections outside of or directly coincident with the domain boundary do not take part in the simulation, and will hence be 'invisible' to particles.
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 |
|
Rotation |
|
Local Axis Rotation |
|
Local Origin Offset |
|
It is also possible to use the secondary rotation option. This method rotates an object about a Vector.
Start Point |
|
End point. |
|
Angle |
|
Apply |
|
NB. The axis key for the transform can be turned On or Off by going to View>Geometry Origin Axes and ticking or unticking the option.
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 (m) |
0.1 |
X |
0.5 |
-0.5 |
Radius End (m) |
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 (m) |
0.1 |
X |
0.5 |
-0.7 |
Radius End (m) |
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 (m) |
0.1 |
X |
0.7 |
0 |
Radius End (m) |
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 |
Geometry handling in EDEMnow enables 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 the hierarchy has been defined in the tree it can be identified by the indent relative to the parent Geometry as can be seen below:
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, it is best practice to assign the child and select or deselect the “Include Rotation From Parent Transform" check-box (located within the child's Transform). This will mitigate any unwanted movements when selecting or deselecting “Include Rotation From Parent Transform".
There is the option located within the Child’s Transform to not include the rotational aspect of the parent’s motion. This can be found in Geometry > “Parent Geometry” > “Child Geometry” > Transform > Partial Parent Transform. Deselect this option to only retain the parent translational 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.
When kinematics are used 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.
Select the required geometry in the Creator Tree > Geometries section.
Right Click > Add Motion > Choose Linear Kinematic or Sinusoidal Translation Kinematic (used to model oscillating motion). Alternatively use the icon system.
Rename the kinematic as appropriate.
Translation | Setup |
Linear |
|
Sinusoidal |
|
Select the required geometry in the Creator Tree > Geometries section.
Right Click > Add Motion > Choose Linear Kinematic or Sinusoidal Rotation Kinematic (used to model oscillating motion). Alternatively use the icon system.
Rename the kinematic as appropriate.
Translation | Setup |
Linear |
|
Sinusoidal |
|
Select the required geometry in the Creator Tree > Geometries section.
Right Click > Add Motion > Choose 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 |
|
Rotation |
|
Note: 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”.
Unlike kinematics, motion controllers can be added 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 the Geometry Mass to calculate accelerations, the mass is automatically calculated in the Geometries Tree and can be manually set by the user. This should be representative of the real geometry mass and a non-zero value.
NB. 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.
Force Controller |
|
Torque Controller |
|
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.
A list of the math functions which do work is here:
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 |
NB: Equations use the current simulation time for the value of t. It may be necessary to offset the "t" in the force and torque to the current value. For example if the force starts at a time of 2 seconds the equation should use "t-2" to ensure that the applied force starts at 0.
Rather than defining geometry using EDEM, geometries can be imported from a range of CAD packages.
Right Click on Geometries in the Creator > Geometry tree and choose Import Geometry .
Navigate to the file to import then click Open.
The Import Options dialog is displayed.
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 which units as some CAD formats do not save any units system in the file.
If applicable, tick the Merge Sections checkbox to merge separate geometry sections into one single section.
Use the Rename using Filename option to name the imported geometries from the CAD file name.
Choose a method for the meshing (these options do not affect pre-meshed objects):
Rigid Body mesh: Creates 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. NB. 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. |
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 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 Charateristic Length which will allow the import settings to be related to the specific geometry which is being imported.
Right Click on Geometries in the Creator > Geometry tree and choose Import Geometry .
Navigate to the list of files to import and select multiple files either by Ctrl + Left Click and selecting each file or hold down the Shift key and select a list of files.
Click open and the import Options dialog is displayed.
Select the unit of measurement the geometry is measured in. Note all selected geometries will be imported with the same units, if geometries have been created with different units they will have to be imported separately.
If applicable, tick the Merge Sections checkbox to merge separate geometry sections into one single section. This will merge geometries in the same files together, it won’t merge geometries if they are in separate files. Click OK.
Follow the import procedure as per importing a single file.
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.
Imported CAD geometry sections can be moved (translated) and rotated. You can also export the translation data to a text file.
Select the imported section and expand the section tree.
Select CAD Geometry then define the transformation as required.
Tick the Display Bounding Box checkbox to display a blue box around the geometry section, aligned to its axis.
Movement |
Parameters |
Translation |
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.
|
Rotation |
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 geometry around the axis.
|
Note: when 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. Choose which sections to export data from, then specify a file. Click the export button to save the transformation data to a text file.
Geometry groups can be used to organize Geometry sections in the creator and analyst trees. Groups can be added by right clicking on 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 easily via the right click 'remove from Geometry group' action or the keyboard shortcut ctrl+shift+x.
Geometry sections can be merged at any time.
Select all the sections to merge merge holding the ctrl key. The merged sections inherit the section name of the Geometry section first selected.
Right click and choose Merge Geometry or use the icon system.
Confirm the sections to be merged and select ok.
Created and imported geometry sections can be copied, using the single copy option:
Select the geometry section you want to copy.
Right click and choose Copy Geometry > Single Copy or use .
A 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.
Using the multiple copy option:
Select the geometry section you want to copy.
Right click and choose Copy Geometry > Multiple Copy or use .
Choose the Number of Copies required and the Default or Original Naming convention.
Default naming convention makes copies called “New Section N” where N is between 1 and the number of copies required.
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’.
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.
Note: Geometry sections can only be replaced at time step 0.
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 have any number of particle factories.
Select the geometry section you want to use as a factory.
Right click and choose Add Factory/Add Material Block or use the icon system.
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 factory: static and dynamic. To change between factory types use Right Click > Change Factory Type.
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:
|
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” option will ensure that the particles are placed with enough separation to ensure that the particles do not bond to one another. |
Dynamic factories produce particles over the duration of a simulation. Simulation continues as the particles are created.
Parameter |
Details |
Number or mass of particles |
For a dynamic factory, select either:
|
Generation rate |
|
Start time |
Set the time particle creation generation starts. |
End time |
Set the time 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. |
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:
Notes: 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.
|
Orientation |
Particles can be given an orientation at the time of creation. This is useful for non-spherical particles. The options are as follows:
|
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:
|
Custom Property |
If you have defined any custom properties, particles can be given a custom property value at the time of creation. Options are:
|
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. Where possible it is advisable to aim to reduce the number of particles in the region to ensure the best performance.
This option allows the user to create a bed of material in the selected geometry. Due to its functionality, the tool is only available for Box geometries. To use select the material box and Right Click to choose Add Block factory. The following Parameters are then shown:
Material Block: The dropdown list shows all the saved material blocks within the Material Database that have been transferred to the current simulation deck. Notice that 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.
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.
If Dynamic Block Creation is chosen then EDEM will perform the above action every time period set by the user 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.
If Override Velocity is chosen 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.
Geometry sections can be selected in the interface by clicking on the required geometry in the viewer window. This then highlights the geometry in the Creator Tree.
Multiple geometries can be selected in the Creator Tree by expanding the Tree and holding down Ctrl 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 via the General > Material option. Alternatively the multiple geometries can be deleted using the Delete key or .
The Volume packing capability can effectively fill any closed volume to a desired solid fraction. The 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 the volume packing feature:
Max Global Iterations |
Maximum number of iterations for the generation |
Min Global Iterations |
Minimum number of iterations for the generation |
Local Iterations |
Used in the optimization algorithm on each iteration for calculating the new position of particles. |
Convergency tolerance |
Used in the optimization algorithm to determine when the bed is fully settled. |
Contact Factor |
Contact list is generated from contact factor*physical radius |
Algorithm Type |
|
Damping Factor |
Value between 0 and 1 used to apply corrections on each iteration. Default value is 0.5 |
Filter Overlap |
Criteria to remove particles by overlap. Value representing a fraction of particle’s radius. |
Filter Step Start |
Set the start iteration for applying filter. Must be smaller that max number of iterations |
Filter Remove overlap |
After exiting the main loop, reduce the particle size to remove any remaining overlap |
Use Gravity |
Gravity value taken from creator. |
Periodic Axes | Define the axis which are periodic (see periodic boundaries) to generate material blocks. |
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.
As part of the generation process, it is possible to consider the influence of gravity in the system. This influence will result in a deformation of the system based on the material properties of the particles. This deformation is normally achieved during the simulation, allowing the system to find the equilibrium due to gravity forces. This condition requires different steps during the generation process:
(c) 2022 Altair Engineering Inc. All Rights Reserved. |
||