Interesting case Swapnil. I haven't tried any motion problems myself, however this presentation of yours provides a very good starting point for anyone interested in simulating such problems.
Thanks Emmanuel ! This is more like a link between FEA and MBD. Optistruct does have MBD capabilities, but this analysis cannot be considered traditional MBD. Very interesting as we can test mechanisms in motion and extract every result which a linear/nonlinear FEA can provide!
Long time no see Swapnil. I see Altair is treating you well ;) glad to see some advanced motion analysis explained in detail. Thank you for your effort putting it together. I assume your pjointg card is used for idealizing the ball joints. Could you explain more about how you defined it? I.e., I assume you are releasing DOF 4,5,6 with the upper/lower bounds. How did you come up with +_11.5? What would be the impact if the numbers are changed?
Hello Ken! Good to hear from you. Indeed, work is going great. From the joints information given in Optistruct user manual, I observed that the ball joint is created with dof 1,2,3 (translation) constrained and dof 4,5,6 (rotation) free. So ideally, after the ball joint is created, it can rotate by any angle about all 3 axes. But a real ball joint does not have infinite angle rotation. The motion gets locked after a certain angle is reached. This is where the PJOINTG property comes in. I specified a range of angular motion after which the joint motion will be restricted. The 11.5 degree value is taken from OEM ball joints which are commonly used in automobile industry. I hope this answers your question! I plan to make a video on all the joint types available in Optistruct soon :)
@@Aeroswap Thank you for the detailed information. Ah 11.5 degree comes from the OEM standard, I’m learning something new. Yes it’d be interesting to see all types of joints that can be solved in Optistruct, such a powerful tool!
Hi sir, in your case for Output, you have chosen displacement>option>All in global output request card. In hypergraph, while your are selecting the respective node it is showing all the nodes for your case. The nodes displaying for you is total no.of nodes which you had get after final meshing? Because when I was solving for a different problem it doesn't shows the no.of nodes and displaying only 10K nodes can be displayed and i understood that to increase the element size so that no.of can decrease. Without changing the element size can you tell how to get all the nodes in hypergraph?
Try this. Instead of outputting desplacement results for all nodes, create a node set. Then select 'SID' option instead of 'ALL'. Now select the created set in selection box. This will output the displacement results for only specific nodes in the model and you do not have to increase the mesh size!
If you are using an older version of Hypermesh, TABLED1, TABLED2...options will be given as loadcollector card images. Not as curve types. Create a loadcollector and change its card image to TABLED1. Then it will work as expected.
Nice video, Can you just explain a little the PJOINTG card image : Why do you put 3 PJOINT limit set ? Why do you put LB and UB option to =11.5 and 11.5 ° ? And the last one, why the first pjointG has 4DOF, the second 5DOF and the last one 6DOF ? Thanks a lot. Harry
Hey Harry, A standard ball joint found in the market has maximum movement of 11.5deg. That is why I have set the limits of motion range using lower bound (LB) and upper bound (UB) at these values. The numbers 4, 5 and 6 do not represent the number of dofs, they represent the actual dof. 4 corresponds to dof4 (rotation along X-axis) and so on. So now, the range is applied to dof4 using the first option. Same for dof5 (option2) and dof6 (option3). I hope this clears your doubts!
@@Aeroswap I got it ! Thanks a lot. You do an amazing job by making videos and take Time to reply at all comments. What a chance we have to exchange with you ! Regards Harry
Hey there, Great question! I will model it using a 1D spring element of required stiffness. Connect it to the rest of the structure using RBE3 elements for load transfer.
@@Aeroswap What elem type would you use and what card element for the property? The spring im trying to make doesn't need have a damper its just a spring with sitffness of 300N/mm
CELAS or CBUSH maybe. I think some of the element types also allow damping. It has been a long time since I have modeled anything like this so I do not remember which element type it was. I might have to check the documentation myself on this one.
Yes, definitely! Just add the necessary nonlinear parameters to the optimization setup. The solver will consider nonlinearity when material removal is done!
i am not getting results . i gave disp as tabled1 instead of curve data. its not showing as completed msg in msg log. . and analysis stopped . can give suggestion why it happening
Hi Yagnem, Please check the .OUT file from analysis directory. There must be some error mentioned in this file. After you know what the problem is, it will be much easier to rectify it.
Good question! In that case you can enable both DOFs while creating the DAREA. Then the loading data will be applied along both the selected directions and resultant will be observed on the diagonal (vector addition). I hope this is what you were looking for!
@@Aeroswap Another question, if I want to add multiple transient analysis, how should I set it up? Specifically, under a loadstep, there are multiple Dloads that need to be added. Corresponds to multiple tloads and multiple curves. If it is statics, I can use loadadd, what should I do for transient analysis?
A single DLOAD can add multiple TLOADs. Change the value in NUM field of the DLOAD and it will give you the option to enter multiple TLOADs and their corresponding scale factors in tabular format!
@@Aeroswap That's right, thanks a lot for your answer.By the way,when adding darea in transient analysis, two degrees of freedom are created, how to adjust the angle of deflection? Is it by changing the value of dof=()?
Hello, in a non linear transient analysis with a time dependent displacement BC (the same way as you did) I don't know how I can add my acceleration corresponding to gravity ! What can I do and how to solve my issue? Thanks !
Hi Xavier, Please correct me if I'm wrong. If the boundary condition is displacement with respect to time, why is gravity needed? No matter what the gravitational acceleration is, the component will follow the path specified by displacement load.
@@Aeroswap First of all, thank you so much for your quick answer! I've been learning hypermesh for the past few weeks and I've learnt a lot from you, especially about bolt pretension. I think that last night I did not do a good job explaining my current issue. Let me give you more details. In general, at a given point where you need to prescribe your boundary conditions (subscript "0"), either your fix your primary or secondary variable (up to 6 of them): {Fx_0 or ux_0, Fy_0 or uy_0,...,Mz_0 or ThetaZ_0} which correspond to the translations/rotations and forces/moments. In your analysis you prescribed a displacement Uz_0 at a given node. One may want to prescribe, let's say a force Fx_0 at the same location or at another location. However, looking at the interface for various nonlinear problems (nonlinear transient, direct transient, etc.) I cannot see the option to have BOTH prescribed "displacement" AND "force". Indeed, my understanding is that the choice between "displacement" or "force" is made by the TLOAD collector when choosing the TYPE ("disp" or 'load'). My initial idea was to have two of such a TLOAD collector, one for the displacement, and the other one for the load. However, in the load step parameter, it seems that only one of such TLOAD collector can be choosen. What to do then?
Thanks for the clarification. I think I have understood your point now. It is possible to combine two or more TLOAD entries applied at the same location. Create a new loadcollector with card image DLOAD. Now set the NUM value to 2 and a tabular data entry will be enabled. You can select the two TLOADs in this table and specify required scaling values. Now you can use this DLOAD entry in place of TLOAD while creating the loadstep. This way, you can combine acceleration as well as displacement loads at same point. I hope this information helps!
@@Aeroswap Thank you very much!!! I made it work using the method you just described. 1)In a first TLOAD1 load collector : ExcitedID =acceleration (ie ACC=9.81 along X as gravity for which no node is needed) and my TID is just a curve which is basically a constant=1.... and 2) in a second TLOAD1 load collector : EXCITEDID is a set of nodes on which I prescribe a time dependent profile for its theta_z coordinates, TYPE= DISP, and TID is hte curve which describe theta_z(t). This latter TLOAD1 collector is here to simulate a "braking/deceleration". Then I create a DLOAD collector which regroups these two TLOAD1 collectors and I run my simulation using this DLOAD, and it works! However there is one thing missing, and I cannot find how to make it work in this non linear transient analysis : My whole body (which is essentially a cylinder) has a INITIAL ROTATIONAL VELOCITY (around global z). I tried to create a load collector "INVELB", with Wz=3.14 (I am not sure what the "BID" is) but I cannot find where in my non linear transient load step I should specity this INVELB load collector... Probably this is not the way how to do it so if you could let me know the way to account for initial velocity in a non linear transient simulation I would really appreciate it!!! Thanks !
Hey Xavier, good to know the DLOAD approach worked! If you are interested in observing the effects of centrifugal loads applied on the body due to rotation, you can simply use the RFORCE type loadcollector. But remember that using this type of load will not output actual visual animation of rotation, just the result contours. If you want to visualize the rotation in animation, you can specify time-dependent rotational velocity using another separate TLOAD1 and combine it using the previously used DLOAD. This will work for both, linear as well as nonlinear transient loadcases.
Hi bro, you are doing a great job, your video's are really helpful for beginners. its request to you, can you make a video on frequency response fatigue analysis??
Sir i am getting error 8008 from last two days. It is saying ***internal programming error****# 8008 Check detects overwriting of data blocks : rauspc. Datamanger error in subroutine "datamx". Plz help anyone 🥺🥺
Hello bro. Please make a video on Linear Transient Heat Transfer Analysis using optistruct. I was trying to perform the above analysis on a disk of a disk brake but it is not solving. Definitely I'm doing something wrong. Please make a video as much as possible earlier. It will be very helpful.
Really helpful for all the new cae learners thanks for providing with cad moldes sir
Glad it was helpful !
Interesting case Swapnil. I haven't tried any motion problems myself, however this presentation of yours provides a very good starting point for anyone interested in simulating such problems.
Thanks Emmanuel !
This is more like a link between FEA and MBD. Optistruct does have MBD capabilities, but this analysis cannot be considered traditional MBD.
Very interesting as we can test mechanisms in motion and extract every result which a linear/nonlinear FEA can provide!
your video explanation always so good sir.
Thank you!
Great video and superb explaination
Thank you :)
Big Fan of this Channel & you bro...... Give me a Heart 💖
Thank you!
Long time no see Swapnil. I see Altair is treating you well ;) glad to see some advanced motion analysis explained in detail. Thank you for your effort putting it together. I assume your pjointg card is used for idealizing the ball joints. Could you explain more about how you defined it? I.e., I assume you are releasing DOF 4,5,6 with the upper/lower bounds. How did you come up with +_11.5? What would be the impact if the numbers are changed?
Hello Ken! Good to hear from you. Indeed, work is going great.
From the joints information given in Optistruct user manual, I observed that the ball joint is created with dof 1,2,3 (translation) constrained and dof 4,5,6 (rotation) free. So ideally, after the ball joint is created, it can rotate by any angle about all 3 axes.
But a real ball joint does not have infinite angle rotation. The motion gets locked after a certain angle is reached. This is where the PJOINTG property comes in. I specified a range of angular motion after which the joint motion will be restricted. The 11.5 degree value is taken from OEM ball joints which are commonly used in automobile industry.
I hope this answers your question! I plan to make a video on all the joint types available in Optistruct soon :)
@@Aeroswap Thank you for the detailed information. Ah 11.5 degree comes from the OEM standard, I’m learning something new. Yes it’d be interesting to see all types of joints that can be solved in Optistruct, such a powerful tool!
Hi sir, in your case for Output, you have chosen displacement>option>All in global output request card. In hypergraph, while your are selecting the respective node it is showing all the nodes for your case.
The nodes displaying for you is total no.of nodes which you had get after final meshing?
Because when I was solving for a different problem it doesn't shows the no.of nodes and displaying only 10K nodes can be displayed and i understood that to increase the element size so that no.of can decrease.
Without changing the element size can you tell how to get all the nodes in hypergraph?
Try this. Instead of outputting desplacement results for all nodes, create a node set. Then select 'SID' option instead of 'ALL'. Now select the created set in selection box.
This will output the displacement results for only specific nodes in the model and you do not have to increase the mesh size!
clearly understand thanks. can u pls make a video of the noise transfer function
Thanks for the suggestion. I will work on this topic soon!
In the curve create panel there showing no card edit option like TABLED1 ,TABLED2 ... etc , how to fix that?
If you are using an older version of Hypermesh, TABLED1, TABLED2...options will be given as loadcollector card images. Not as curve types.
Create a loadcollector and change its card image to TABLED1. Then it will work as expected.
Nice video, Can you just explain a little the PJOINTG card image :
Why do you put 3 PJOINT limit set ?
Why do you put LB and UB option to =11.5 and 11.5 ° ?
And the last one, why the first pjointG has 4DOF, the second 5DOF and the last one 6DOF ?
Thanks a lot.
Harry
Hey Harry,
A standard ball joint found in the market has maximum movement of 11.5deg. That is why I have set the limits of motion range using lower bound (LB) and upper bound (UB) at these values.
The numbers 4, 5 and 6 do not represent the number of dofs, they represent the actual dof. 4 corresponds to dof4 (rotation along X-axis) and so on. So now, the range is applied to dof4 using the first option. Same for dof5 (option2) and dof6 (option3).
I hope this clears your doubts!
@@Aeroswap I got it ! Thanks a lot.
You do an amazing job by making videos and take Time to reply at all comments.
What a chance we have to exchange with you !
Regards
Harry
Thanks Harry!
I just try my best to share whatever I know :)
Please make a video on all types of joints separately, in this video only ball joint covered , thank for your quick response
Yes, follow up videos about other types of joints will be made soon.
Hello, How would you go about applying a spring to the suspension system? say to the lower suspension arm?
Hey there,
Great question! I will model it using a 1D spring element of required stiffness. Connect it to the rest of the structure using RBE3 elements for load transfer.
@@Aeroswap What elem type would you use and what card element for the property? The spring im trying to make doesn't need have a damper its just a spring with sitffness of 300N/mm
CELAS or CBUSH maybe. I think some of the element types also allow damping. It has been a long time since I have modeled anything like this so I do not remember which element type it was. I might have to check the documentation myself on this one.
Thank you so much. I have a question regarding topology optimization. Can we optimize a topology considering material nonlinearity in optistruct?
Yes, definitely! Just add the necessary nonlinear parameters to the optimization setup.
The solver will consider nonlinearity when material removal is done!
@@Aeroswap Thank you.
Sir in hypermesh 2017 pjoint property is not available
What i can do
Hello Om,
Joints are not supported in older versions of Hypermesh. I think this feature was introduced from 2019 version.
@@Aeroswap ok
Is it possible to combine these cards in order to do a non-linear transient analysis?
Yes, absolutely! If you check, you will find a separate analysis type called 'Nonlinear Transient' when you create the loadstep.
i am not getting results . i gave disp as tabled1 instead of curve data. its not showing as completed msg in msg log. . and analysis stopped . can give suggestion why it happening
Hi Yagnem,
Please check the .OUT file from analysis directory. There must be some error mentioned in this file.
After you know what the problem is, it will be much easier to rectify it.
Hi bro...plz make a video on types of analysis and uses♥️
Thanks for the suggestion. I will work on this soon!
Excuse me,What if I want to add loads in other directions? For example, along the diagonal direction of x and y.
Good question! In that case you can enable both DOFs while creating the DAREA. Then the loading data will be applied along both the selected directions and resultant will be observed on the diagonal (vector addition). I hope this is what you were looking for!
@@Aeroswap Another question, if I want to add multiple transient analysis, how should I set it up? Specifically, under a loadstep, there are multiple Dloads that need to be added. Corresponds to multiple tloads and multiple curves. If it is statics, I can use loadadd, what should I do for transient analysis?
A single DLOAD can add multiple TLOADs. Change the value in NUM field of the DLOAD and it will give you the option to enter multiple TLOADs and their corresponding scale factors in tabular format!
@@Aeroswap That's right, thanks a lot for your answer.By the way,when adding darea in transient analysis, two degrees of freedom are created, how to adjust the angle of deflection? Is it by changing the value of dof=()?
Hello, in a non linear transient analysis with a time dependent displacement BC (the same way as you did) I don't know how I can add my acceleration corresponding to gravity ! What can I do and how to solve my issue? Thanks !
Hi Xavier,
Please correct me if I'm wrong. If the boundary condition is displacement with respect to time, why is gravity needed? No matter what the gravitational acceleration is, the component will follow the path specified by displacement load.
@@Aeroswap First of all, thank you so much for your quick answer! I've been learning hypermesh for the past few weeks and I've learnt a lot from you, especially about bolt pretension. I think that last night I did not do a good job explaining my current issue. Let me give you more details.
In general, at a given point where you need to prescribe your boundary conditions (subscript "0"), either your fix your primary or secondary variable (up to 6 of them): {Fx_0 or ux_0, Fy_0 or uy_0,...,Mz_0 or ThetaZ_0} which correspond to the translations/rotations and forces/moments.
In your analysis you prescribed a displacement Uz_0 at a given node. One may want to prescribe, let's say a force Fx_0 at the same location or at another location. However, looking at the interface for various nonlinear problems (nonlinear transient, direct transient, etc.) I cannot see the option to have BOTH prescribed "displacement" AND "force". Indeed, my understanding is that the choice between "displacement" or "force" is made by the TLOAD collector when choosing the TYPE ("disp" or 'load'). My initial idea was to have two of such a TLOAD collector, one for the displacement, and the other one for the load. However, in the load step parameter, it seems that only one of such TLOAD collector can be choosen. What to do then?
Thanks for the clarification. I think I have understood your point now. It is possible to combine two or more TLOAD entries applied at the same location. Create a new loadcollector with card image DLOAD. Now set the NUM value to 2 and a tabular data entry will be enabled. You can select the two TLOADs in this table and specify required scaling values. Now you can use this DLOAD entry in place of TLOAD while creating the loadstep.
This way, you can combine acceleration as well as displacement loads at same point. I hope this information helps!
@@Aeroswap Thank you very much!!! I made it work using the method you just described. 1)In a first TLOAD1 load collector : ExcitedID =acceleration (ie ACC=9.81 along X as gravity for which no node is needed) and my TID is just a curve which is basically a constant=1.... and 2) in a second TLOAD1 load collector : EXCITEDID is a set of nodes on which I prescribe a time dependent profile for its theta_z coordinates, TYPE= DISP, and TID is hte curve which describe theta_z(t). This latter TLOAD1 collector is here to simulate a "braking/deceleration". Then I create a DLOAD collector which regroups these two TLOAD1 collectors and I run my simulation using this DLOAD, and it works!
However there is one thing missing, and I cannot find how to make it work in this non linear transient analysis : My whole body (which is essentially a cylinder) has a INITIAL ROTATIONAL VELOCITY (around global z). I tried to create a load collector "INVELB", with Wz=3.14 (I am not sure what the "BID" is) but I cannot find where in my non linear transient load step I should specity this INVELB load collector... Probably this is not the way how to do it so if you could let me know the way to account for initial velocity in a non linear transient simulation I would really appreciate it!!!
Thanks !
Hey Xavier, good to know the DLOAD approach worked!
If you are interested in observing the effects of centrifugal loads applied on the body due to rotation, you can simply use the RFORCE type loadcollector. But remember that using this type of load will not output actual visual animation of rotation, just the result contours.
If you want to visualize the rotation in animation, you can specify time-dependent rotational velocity using another separate TLOAD1 and combine it using the previously used DLOAD.
This will work for both, linear as well as nonlinear transient loadcases.
hi bro the cad model link is expired can you update the link
Hi bro, you are doing a great job, your video's are really helpful for beginners. its request to you, can you make a video on frequency response fatigue analysis??
I'm glad you like the content.
I will work on these topics soon. Thanks for the suggestion!
Sir i am getting error 8008 from last two days. It is saying ***internal programming error****# 8008
Check detects overwriting of data blocks : rauspc.
Datamanger error in subroutine "datamx".
Plz help anyone 🥺🥺
Hello bro. Please make a video on Linear Transient Heat Transfer Analysis using optistruct.
I was trying to perform the above analysis on a disk of a disk brake but it is not solving. Definitely I'm doing something wrong.
Please make a video as much as possible earlier. It will be very helpful.
Thanks for the suggestion Abhishek. I will work on this soon!
Hey, amazing video.
I tried doing this, but it's not giving an output. Can you please help me out.
Hey Praful,
Do you get any error message when you launch the solver. If yes, can you please tell me what it says?
Thanks.
@@Aeroswap Could you please share your email. So that I could ping you all details about file.
My email address is provided in the 'About' section of this channel. Feel free to reach out via email regarding this.
@@Aeroswap Thanks. Kindly check your mail.
Thanks for the update. I will get back to you soon!
Hi brother...can you make a video on XFEM???
I do not have much experience in using XFEM but I will consider your suggestion and see what can be done 👍🏻
@@Aeroswap thanks bro ....looking forward for the same👍
Sir your name?
No audio till 0:53 bro
That's weird. I can hear everything properly. Checked on multiple devices. Let's wait and see if others are facing any issues!
Audio is clear bro...
Now it's ok 😌