How do you create linear motion in an EDEM MotionView Co-Simulation? And analysing stress at a specific point?
Hello,
I have imported a piece of geometry representing an agricultural tillage tine into MotionView utilising HyperMesh. I have coupled with EDEM to create a co-simulation as seen in the figure beneath of the rigid tine (not flexbody I assume it will still show stress/strain). However I cannot get the tine to move in the direction I want it too. I want the tine to pass through the soil bin shown in the figure, following the direction of the red arrow.
Whenever I start the co-simulation the tine starts falling taking the direction of the blue arrow in the figure. The tine falls at the same time as the particles are settling, as if gravity is acting on the tine. I want it to remain level and just travel forward through the bin (red arrow).
How would I go about creating the motion? I have tried on EDEM which did not work and I am unsure how to successfully do it on MotionView.
My MotionView setup is beneath where I have tried a Motion using markers.
If I can get the co-simulation working is it possible to analyse the stress at a singular point on the tine using HyperView?
Any help is much appreciated.
Thanks,
Hugh
Best Answer
-
Hugh Smith said:
Hi Patrick,
Again thankyou for your response it is just what I needed.
I will try get the simulation working on 2020 versions, see what results I get then update to 2021 to look at flexibody's stress. I just hope my laptop can take it with the extra power needed for flexibody's, it is quite powerful.
I want the tine to travel for a set distance and a set velocity. Is the best way to have two almost identical Motions using your points 1) and 2), the first with a property as Displacement of value x and the second with a property as velocity of value x? Then all other DOF's constrained?
Regards,
Hugh
Hugh,
I'm glad the information was helpful!
Running a simulation with flexbodies does not add much computational demand; MotionSolve is quite efficient with its CMS (Component Mode Synthesis) handling. You shouldn't experience much of an increase in solver time
To define your motion:
Assigning both a displacement-type and a velocity-type Motion to the translational X will result in an overconstraint and MotionSolve will report an error when you try to Run. What you'll want to do is assign one or the other, and in the Properties tab choose "Define by" "Expression". In the Expression Builder you can build an expression as a function of TIME.
As an example, below is an expression I built for a Motion entity of type Velocity.
I will attach a description of MotionSolve's STEP5() function, but in short... this will output a zero value until time=1sec. Between t=1s and t=1.5s the output will ramp up to its final, maintained value of 2235.2. You can also build compound STEP functions to have the velocity return back to zero. Note that unless you modified your model units you will be working in millimeters/second.
With some hand calculation, or by adding an Output entity, you can track the displacement of the tine in order to move it to a desired location during simulation. Run the simulation with MotionSolve only (no EDEM) in order to validate your motions prior to running the co-sim.
Hope that helps,
Patrick
1
Answers
-
Hugh,
There are a few different ways to impart the linear motion onto the tine that you're looking for. I'll give you a way that has worked for me:
1) Make sure that the "Parent Body" of your "Marker 0" is set to your tine body.
2) Modify the Connectivity of your Linear Motion entity so that Marker 1 is your "Marker 0" and Marker 2 is "Global Frame". This will mean that your "Marker 0", which is 'connected' to your tine, will translate along the global X axis.
3) Constrain all other degrees of freedom (DOF) of your tine body by applying separate displacement-type Motion entities that each have a linear value of zero.
There will be 5 additional Motion entities to add, all defined between your "Marker 0" and "Global Frame": translation along the Y and Z axes, and rotations about the X, Y, and Z axes.
Now your tine has zero DOF, with a prescribed translational motion along the global X axis. The tine will no longer fall with gravity.
Regarding the stress and strain recovery, the tine will need to be converted to a flexbody. As a rigid body, MotionSolve treats this body as one component rather than many individual elements. Stress and strain are not calculated. From the MotionView help documentation:
You can utilize the FlexBodyPrep tool in MotionView to generate the flexbody file (.h3d) for the tine. And if you're able to update your MotionView, MotionSolve, and EDEM tools to versions 2021 or later you'll be able to use this flexbody in co-simulation so that the interactions with your bulk material will impart stresses and strains on the tine during its movement through the soil bed. These stresses and strains won't be viewable during the co-simulation, but only afterward in HyperView using the MotionSolve output .h3d. This animation file will be generated following a successful co-simulation.
Hope this helps,
Patrick
1 -
Patrick Goulding_21563 said:
Hugh,
There are a few different ways to impart the linear motion onto the tine that you're looking for. I'll give you a way that has worked for me:
1) Make sure that the "Parent Body" of your "Marker 0" is set to your tine body.
2) Modify the Connectivity of your Linear Motion entity so that Marker 1 is your "Marker 0" and Marker 2 is "Global Frame". This will mean that your "Marker 0", which is 'connected' to your tine, will translate along the global X axis.
3) Constrain all other degrees of freedom (DOF) of your tine body by applying separate displacement-type Motion entities that each have a linear value of zero.
There will be 5 additional Motion entities to add, all defined between your "Marker 0" and "Global Frame": translation along the Y and Z axes, and rotations about the X, Y, and Z axes.
Now your tine has zero DOF, with a prescribed translational motion along the global X axis. The tine will no longer fall with gravity.
Regarding the stress and strain recovery, the tine will need to be converted to a flexbody. As a rigid body, MotionSolve treats this body as one component rather than many individual elements. Stress and strain are not calculated. From the MotionView help documentation:
You can utilize the FlexBodyPrep tool in MotionView to generate the flexbody file (.h3d) for the tine. And if you're able to update your MotionView, MotionSolve, and EDEM tools to versions 2021 or later you'll be able to use this flexbody in co-simulation so that the interactions with your bulk material will impart stresses and strains on the tine during its movement through the soil bed. These stresses and strains won't be viewable during the co-simulation, but only afterward in HyperView using the MotionSolve output .h3d. This animation file will be generated following a successful co-simulation.
Hope this helps,
Patrick
Hi Patrick,
Again thankyou for your response it is just what I needed.
I will try get the simulation working on 2020 versions, see what results I get then update to 2021 to look at flexibody's stress. I just hope my laptop can take it with the extra power needed for flexibody's, it is quite powerful.
I want the tine to travel for a set distance and a set velocity. Is the best way to have two almost identical Motions using your points 1) and 2), the first with a property as Displacement of value x and the second with a property as velocity of value x? Then all other DOF's constrained?
Regards,
Hugh
0 -
Hugh Smith said:
Hi Patrick,
Again thankyou for your response it is just what I needed.
I will try get the simulation working on 2020 versions, see what results I get then update to 2021 to look at flexibody's stress. I just hope my laptop can take it with the extra power needed for flexibody's, it is quite powerful.
I want the tine to travel for a set distance and a set velocity. Is the best way to have two almost identical Motions using your points 1) and 2), the first with a property as Displacement of value x and the second with a property as velocity of value x? Then all other DOF's constrained?
Regards,
Hugh
Hugh,
I'm glad the information was helpful!
Running a simulation with flexbodies does not add much computational demand; MotionSolve is quite efficient with its CMS (Component Mode Synthesis) handling. You shouldn't experience much of an increase in solver time
To define your motion:
Assigning both a displacement-type and a velocity-type Motion to the translational X will result in an overconstraint and MotionSolve will report an error when you try to Run. What you'll want to do is assign one or the other, and in the Properties tab choose "Define by" "Expression". In the Expression Builder you can build an expression as a function of TIME.
As an example, below is an expression I built for a Motion entity of type Velocity.
I will attach a description of MotionSolve's STEP5() function, but in short... this will output a zero value until time=1sec. Between t=1s and t=1.5s the output will ramp up to its final, maintained value of 2235.2. You can also build compound STEP functions to have the velocity return back to zero. Note that unless you modified your model units you will be working in millimeters/second.
With some hand calculation, or by adding an Output entity, you can track the displacement of the tine in order to move it to a desired location during simulation. Run the simulation with MotionSolve only (no EDEM) in order to validate your motions prior to running the co-sim.
Hope that helps,
Patrick
1 -
Patrick Goulding_21563 said:
Hugh,
I'm glad the information was helpful!
Running a simulation with flexbodies does not add much computational demand; MotionSolve is quite efficient with its CMS (Component Mode Synthesis) handling. You shouldn't experience much of an increase in solver time
To define your motion:
Assigning both a displacement-type and a velocity-type Motion to the translational X will result in an overconstraint and MotionSolve will report an error when you try to Run. What you'll want to do is assign one or the other, and in the Properties tab choose "Define by" "Expression". In the Expression Builder you can build an expression as a function of TIME.
As an example, below is an expression I built for a Motion entity of type Velocity.
I will attach a description of MotionSolve's STEP5() function, but in short... this will output a zero value until time=1sec. Between t=1s and t=1.5s the output will ramp up to its final, maintained value of 2235.2. You can also build compound STEP functions to have the velocity return back to zero. Note that unless you modified your model units you will be working in millimeters/second.
With some hand calculation, or by adding an Output entity, you can track the displacement of the tine in order to move it to a desired location during simulation. Run the simulation with MotionSolve only (no EDEM) in order to validate your motions prior to running the co-sim.
Hope that helps,
Patrick
Hi Patrick,
Again a perfect response.
My laptop did the co-simulation in less than five minutes so I am happy it will handle the flexibody stress analysis easily.
The expression worked a treat thankyou, following your attachment I have given the tine an immediate velocity and have stopped it instantly where I want it to.
"STEP(TIME,0,0,0,1390)+STEP(TIME,1.8,0,1.8,-1390)" is my step function.
Do you know if the only way to get 2021 versions is to uninstall current software and then reinstall the newer versions off AltairOne? Or can I simply update them somehow?
The only other thing that is likely to trip me up is using FlexiPrep and how to successfully convert from a rigid to Flexi-geometry. I will try first follow the tutorial you mentioned in another post previously. If successful I then need to figure out how to display the stress at a point throughout the simulation.
Kind regards,
Hugh
0 -
Hugh Smith said:
Hi Patrick,
Again a perfect response.
My laptop did the co-simulation in less than five minutes so I am happy it will handle the flexibody stress analysis easily.
The expression worked a treat thankyou, following your attachment I have given the tine an immediate velocity and have stopped it instantly where I want it to.
"STEP(TIME,0,0,0,1390)+STEP(TIME,1.8,0,1.8,-1390)" is my step function.
Do you know if the only way to get 2021 versions is to uninstall current software and then reinstall the newer versions off AltairOne? Or can I simply update them somehow?
The only other thing that is likely to trip me up is using FlexiPrep and how to successfully convert from a rigid to Flexi-geometry. I will try first follow the tutorial you mentioned in another post previously. If successful I then need to figure out how to display the stress at a point throughout the simulation.
Kind regards,
Hugh
Hi Hugh,
There is a tool called Altair ConnectMe which you may have already installed. It's a dashboard which can be used to update the tools. Otherwise, you'll have to download the new versions (latest is 2021.1) from AltairOne and then uninstall your older versions. There isn't a method to update versions directly from MotionView that I'm aware of.
Take care,
Patrick
1