Very interesting video for applying Periodic Boundary Condition (PBC) to unit cell model. But I am wondering why supports have been defined for the three corner nodes as most of papers I have seen they apply PBC on RVE without defining supports for corner nodes. So is it possible to model PBC without defining supports at these 3 left corner nodes, if so the results will be the same or will be something different which one is correct. Also, I am wondering why the load is defined on a single point, I know this node is already connected to other boundary nodes through interaction equations as you have explained in another video regarding the theory of PBC which was a great video too. But is it possible to define the applied load as a distributed line for the top surface, if so the results will be the same or will be something different which one is correct. Thanks in advance
Hello @John Nabil, thanks for your interest in the channel. Your comments are right. There are two major approaches to impose loads on periodic-boundary-condition aware models. First is the approach I use, where you isolate corner nodes and use them as anchor for specifying your loading type. The other approach is where you impose PBC on all nodes in the model and then introduce a strain tensor into the model as part of a constraint equation. The above is quite a common approach in literature and I am not surprised you have seen this in other papers. The approach I used here was made popular in the early 2000s and continues to be in use today. There is actually no difference between the two methods, because the relative displacement of the two supported nodes leads to a displacement which is equivalent to the product of a strain tensor multiplied by the edge/RVE length of the composite. In the strain-tensor approach, this product of strain*edgelength is passed into the constraint equation. I do not do so in my approach. On the second query of a distributed loading, this is not possible. This is because the nature of PBC is that two opposite collinear nodes are imposed with constraint equation which instructs them on how to behave. If you go ahead and apply a distributed loading on the same nodes, this later loading will be over-taken by the constraint equation and hence the distributed load (on such nodes) will not be imposed. Whatever the boundary conditions you use, the results will be different because BC is what defines how the FEM solution will go. So, whether it is a Dirichlet, Neumann, mixed-mode, distributed loading or periodic BC, the results will all be different. What you want to do is to make sure that whatever approach (loading type) you choose, the results you generate must match an expected analytical and/or experimental solution. This yields to the argument of the invaluable necessity of validation of FEM models. Its a long explanation but I think it is important for the clarifications to be made. I hope you understand.
@@MichaelOkereke Dear Dr. Michael, Really thanks a lot for clear detailed explanations as I was confused from what I have read in papers and your modeling. But to be honest I learned how to apply PBC in Abaqus from your videos. For the second query about the distributed loading, I was thinking if I did that it will give me different results but actually I ran the model two times after I wrote my comment for you to make a comparison. First time I did as you have done a displacement on a single point and the second time I applied distributed displacement and I obtained the same results. Really I am confused now after what you have said that it should be different results. So, I am wondering why Abaqus obtained the same results for single point loading and distributed loading. Thanks in advance
Hi @@joonabil, you need not be confused as it is not meant to be so. Your first model with a load on a single node is correct, and this is similar to mine. However your second model, with distributed loads on some boundary nodes, whilst it might seem to be the same as the first model is actually not. What you need to do to check for differences is to run a simple model without PBC on the domain and apply distributed load on the top. I will think you are going to use some kind of pressure load. You should get a slightly different result from the PBC-case. If you use a random pressure load, then you will get quantitatively different results. To make both models comparable, find the pressure load that corresponds to the desired displacement. Think about your force-displacement equation in Engineering mechanics, to select that appropriate pressure load. What is happening really in your distributed loading model, with PBC implemented, is that the *Equation constraints (canonical equations) are overwriting the distributed loading instruction. Take it this way, for set of nodes say Nodes 1 to 10, if you apply PBC on them as well as distributed loading on same nodes, the PBC will take priority to the distributed load thereby making it seem like the distributed load is active but in principle, it is not. Thanks for all your thoughts on this, I will have to discuss this more as I believe it is subtle and something I need to discuss in with my CM Videos Insiders as well as my include same in my forthcoming PBC e-book.
@@MichaelOkereke Dear Dr. Michael, Really thanks a lot for clear detailed explanations. Do you mean in case of using PBC any kind of distributed load for nodes will be neglected automatically due to the *Equation constraints, but if that is the case it should neglect also the load applied on a single node in the first case as your model. Also back to the two approaches to apply loads on PBC, if I get you right as you said both approaches; yours and strain tensor will give the same results. I mean if I modelled PBC for all nodes and applied the load by strain tensor approach I will get the same results you have got from your approach. Thanks in advance
Hello @John Nabil, here are my thoughts. 1. The method that I used here has the four corner nodes free of any *Equation constraints. Therefore, they can take any external loads on them. This is why the literature call them retained nodes, since they do not have the PBC constriant on them. They are there use as drivers to cause the model to behave a certain way. This is why any loading on them is not over-written by the PBC *Equation constraint. On the other hand, for the other approach, my understanding is that all nodes have *Equations enforced. 2. On similarity of results between the two appraoches, they should lead to the same result, I will imagine. I cannot see why they will not be as the implementation is the same - based on *Equations except how you decide to load the model. If they are not the same, then the numerical diferences should be quite small, but I will say they are the same. You ahve to test it out yourself to be sure.
Hi Dr. Okereke, thank you very much for your fantastic works. I saw your video on 3D and 2D RVE modeling and applying periodic boundary conditions and found the topic very helpful. I’m working on Acoustic (phononic) metamaterials using the Finite Element Method proposed by M. Aberg & P. Gudmunson, “The usage of standard finite element codes for computation of dispersion relations in materials with periodic microstructures.” Could you please make a video on the process of implementing Floquet periodicity as periodic boundary conditions?
Hello @sharmin ashrafi, thanks for your interest in the channel. I have a plan to make some videos on metamaterials but my interest is really on the mechanical response. I have not done any work on floquet periodicity but this could be interesting to research into. Keep coming back and lets see if I could learn enough of this topic to make a video about it. Good luck with your research.
Thanks for such informative tutorial. It helps me a lot. Sir, please explain the following input for an auxetic structure in dynamics explicit(Quasistatic ) in Abaqus CAE. 1. V=2mm/s, displacement of the model up to 30 mm. How can I apply both BCs at the same time or I am doing something wrong. 2. How von Mises stress is considered for different deformation values (Different nominal stress) for the same structure.
Hello @AmitSingh, thanks for the comment. 1. I will suggest if you want a pre-determined displacement of 30 mm, then input that directly using Static analysis. However, if you want to then run a dynamic analysis, then the ABAQUS Dynamic Explicit might do (but certainly not quasi-static). In that case, you may explore specifying velocity as V = 2 mm/s. In which case, if you want to achieve the 30 mm displacement, then your time-step will last for 15 seconds. It all depends on what you want to do. If you are more interested in the quasi-static analysis, then an ABAQUS Static General step will be okay and you simply specify the displacement as 30 mm. It makes analysis run quicker, easily and more accessible in terms of explaining the results. 2. In terms of Von Mises stress, I will think you are referring to homogenized (effective) stress state in the material. In the videos I make on this channel, I often extract the reaction forces attached to a retained node (where the displacement is applied). Using this, you want work out the normal stress (what you describe as nominal stress data). You can also calculate the strain which is displacement/gauge length. For this case, you would have to decide on what you want but changing the displacement would give you different nominal stress-strain values (as a homogenized value).
Yes, absolutely @Muse, I am sure this can be done. You just have to change the material and then run the simulation. Clearly the mechanism of deformation will be different but this is possible.
@@MichaelOkereke Thank you, Professor! Hydrogel materials are quite tough for experimental investigation unless it is an advanced lab. I am trying to simulate on Abaqus for hydrogel and Shape memory materials! I wonder if you can guide me on this through your personal email Sir! Thank you once in advance!
Hello @Said, thanks for your interest on the channel. It sounds like you have to do it by trial and error or use software that runs optimization of lattice structure with properties. There is one called nTopology. These should help you, I hope.
Thank You sir. I really appreciate your videos, they are really informative. Also, your book "Finite Element Application-a practical guide" helped me a lot. If possible please make a video on extracting homogenized properties from 3D lattice RVE by manual application of PBC.
Hi @Rajnandini, thanks. I am glad you found the video and my book helpful. For homogenised properties of 3DRVE lattice structure with PBC, this in my future plan. I will bear this in mind.
Hello @ilyas, thanks for your interest in the channel. Definitely, this is something I have on my to do list and will make a video about it in future. Please keep watching!
Hi @Fahmi apologies, thanks for your interest in the channel. I will usually suggest you give me a reference publication to work with to see if I can make a video on this topic. It helps to know which aspect of the topic you are interested in.
It is hard to create hexahedral meshes based on the BCC structure because of the complexity of the joints where all the trusses connect. It can be done but you have to use the partition tool to cut up that region sufficiently to allow for meshing with hexahedral meshes. Outside ABAQUS, you may be able to use a stronger meshing tool such as hypermesh or Ansa to achieve the same. That is the only suggestion I can give. Some research groups are working on optimal meshing tools/algorithms for such problems but these are not yet incorporated into ABAQUS - the commercially available version.
Hello Dr! First of all, i would like to Thank you for your TH-cam tutorial. if you can please do this in Abaques on another software "Modeling of Pore Parameters and Experimental Validation Using the Microstructure of 0.85Mo and 1.5Mo Prealloyed Sintered Steels".
Hi. I have purchased the PBCGen"D full version for the simulation of lattice structure but I am getting an error in the code. ''Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in PBCGen2D'' Please help me solve this error
Hey@@MichaelOkereke thanks for your reply I have sent you the model file I am not using face sheet as I have been instructed to do so by uni professor. Help me add PBC without the use of face sheet for my model also to fer force disp and stress strain data chher
Very interesting video for applying Periodic Boundary Condition (PBC) to unit cell model. But I am wondering why supports have been defined for the three corner nodes as most of papers I have seen they apply PBC on RVE without defining supports for corner nodes. So is it possible to model PBC without defining supports at these 3 left corner nodes, if so the results will be the same or will be something different which one is correct. Also, I am wondering why the load is defined on a single point, I know this node is already connected to other boundary nodes through interaction equations as you have explained in another video regarding the theory of PBC which was a great video too. But is it possible to define the applied load as a distributed line for the top surface, if so the results will be the same or will be something different which one is correct. Thanks in advance
Hello @John Nabil, thanks for your interest in the channel.
Your comments are right. There are two major approaches to impose loads on periodic-boundary-condition aware models. First is the approach I use, where you isolate corner nodes and use them as anchor for specifying your loading type. The other approach is where you impose PBC on all nodes in the model and then introduce a strain tensor into the model as part of a constraint equation.
The above is quite a common approach in literature and I am not surprised you have seen this in other papers. The approach I used here was made popular in the early 2000s and continues to be in use today. There is actually no difference between the two methods, because the relative displacement of the two supported nodes leads to a displacement which is equivalent to the product of a strain tensor multiplied by the edge/RVE length of the composite. In the strain-tensor approach, this product of strain*edgelength is passed into the constraint equation. I do not do so in my approach.
On the second query of a distributed loading, this is not possible. This is because the nature of PBC is that two opposite collinear nodes are imposed with constraint equation which instructs them on how to behave. If you go ahead and apply a distributed loading on the same nodes, this later loading will be over-taken by the constraint equation and hence the distributed load (on such nodes) will not be imposed.
Whatever the boundary conditions you use, the results will be different because BC is what defines how the FEM solution will go. So, whether it is a Dirichlet, Neumann, mixed-mode, distributed loading or periodic BC, the results will all be different. What you want to do is to make sure that whatever approach (loading type) you choose, the results you generate must match an expected analytical and/or experimental solution. This yields to the argument of the invaluable necessity of validation of FEM models.
Its a long explanation but I think it is important for the clarifications to be made. I hope you understand.
@@MichaelOkereke Dear Dr. Michael, Really thanks a lot for clear detailed explanations as I was confused from what I have read in papers and your modeling. But to be honest I learned how to apply PBC in Abaqus from your videos. For the second query about the distributed loading, I was thinking if I did that it will give me different results but actually I ran the model two times after I wrote my comment for you to make a comparison. First time I did as you have done a displacement on a single point and the second time I applied distributed displacement and I obtained the same results. Really I am confused now after what you have said that it should be different results. So, I am wondering why Abaqus obtained the same results for single point loading and distributed loading. Thanks in advance
Hi @@joonabil, you need not be confused as it is not meant to be so. Your first model with a load on a single node is correct, and this is similar to mine. However your second model, with distributed loads on some boundary nodes, whilst it might seem to be the same as the first model is actually not. What you need to do to check for differences is to run a simple model without PBC on the domain and apply distributed load on the top. I will think you are going to use some kind of pressure load. You should get a slightly different result from the PBC-case. If you use a random pressure load, then you will get quantitatively different results. To make both models comparable, find the pressure load that corresponds to the desired displacement. Think about your force-displacement equation in Engineering mechanics, to select that appropriate pressure load.
What is happening really in your distributed loading model, with PBC implemented, is that the *Equation constraints (canonical equations) are overwriting the distributed loading instruction. Take it this way, for set of nodes say Nodes 1 to 10, if you apply PBC on them as well as distributed loading on same nodes, the PBC will take priority to the distributed load thereby making it seem like the distributed load is active but in principle, it is not.
Thanks for all your thoughts on this, I will have to discuss this more as I believe it is subtle and something I need to discuss in with my CM Videos Insiders as well as my include same in my forthcoming PBC e-book.
@@MichaelOkereke Dear Dr. Michael, Really thanks a lot for clear detailed explanations. Do you mean in case of using PBC any kind of distributed load for nodes will be neglected automatically due to the *Equation constraints, but if that is the case it should neglect also the load applied on a single node in the first case as your model. Also back to the two approaches to apply loads on PBC, if I get you right as you said both approaches; yours and strain tensor will give the same results. I mean if I modelled PBC for all nodes and applied the load by strain tensor approach I will get the same results you have got from your approach. Thanks in advance
Hello @John Nabil, here are my thoughts.
1. The method that I used here has the four corner nodes free of any *Equation constraints. Therefore, they can take any external loads on them. This is why the literature call them retained nodes, since they do not have the PBC constriant on them. They are there use as drivers to cause the model to behave a certain way. This is why any loading on them is not over-written by the PBC *Equation constraint. On the other hand, for the other approach, my understanding is that all nodes have *Equations enforced.
2. On similarity of results between the two appraoches, they should lead to the same result, I will imagine. I cannot see why they will not be as the implementation is the same - based on *Equations except how you decide to load the model. If they are not the same, then the numerical diferences should be quite small, but I will say they are the same. You ahve to test it out yourself to be sure.
Hi Dr. Okereke, thank you very much for your fantastic works. I saw your video on 3D and 2D RVE modeling and applying periodic boundary conditions and found the topic very helpful. I’m working on Acoustic (phononic) metamaterials using the Finite Element Method proposed by M. Aberg & P. Gudmunson, “The usage of standard finite element codes for computation of dispersion relations in materials with periodic microstructures.” Could you please make a video on the process of implementing Floquet periodicity as periodic boundary conditions?
Hello @sharmin ashrafi, thanks for your interest in the channel. I have a plan to make some videos on metamaterials but my interest is really on the mechanical response. I have not done any work on floquet periodicity but this could be interesting to research into. Keep coming back and lets see if I could learn enough of this topic to make a video about it. Good luck with your research.
Hello Dr! Thank you for your TH-cam tutorial. Could we use beam elements (B21) to create the lattice structures in this video?
Yes you can! That will be a truss-based 1D-analysis but yes you can.
Thanks a lot, very intrested video. thanks from Algeria.
Thanks @Amroune, glad you found it interesting. Take care.
Thanks for such informative tutorial. It helps me a lot.
Sir, please explain the following input for an auxetic structure in dynamics explicit(Quasistatic ) in Abaqus CAE.
1. V=2mm/s, displacement of the model up to 30 mm. How can I apply both BCs at the same time or I am doing something wrong.
2. How von Mises stress is considered for different deformation values (Different nominal stress) for the same structure.
Hello @AmitSingh, thanks for the comment.
1. I will suggest if you want a pre-determined displacement of 30 mm, then input that directly using Static analysis. However, if you want to then run a dynamic analysis, then the ABAQUS Dynamic Explicit might do (but certainly not quasi-static). In that case, you may explore specifying velocity as V = 2 mm/s. In which case, if you want to achieve the 30 mm displacement, then your time-step will last for 15 seconds. It all depends on what you want to do. If you are more interested in the quasi-static analysis, then an ABAQUS Static General step will be okay and you simply specify the displacement as 30 mm. It makes analysis run quicker, easily and more accessible in terms of explaining the results.
2. In terms of Von Mises stress, I will think you are referring to homogenized (effective) stress state in the material. In the videos I make on this channel, I often extract the reaction forces attached to a retained node (where the displacement is applied). Using this, you want work out the normal stress (what you describe as nominal stress data). You can also calculate the strain which is displacement/gauge length.
For this case, you would have to decide on what you want but changing the displacement would give you different nominal stress-strain values (as a homogenized value).
hello dr. can you do simulation on impact test of double twisted wire fence.
Hello, thanks for the query. Unfortunately, I have no experience modelling twisted wire fence and so unable to help. Good luck with the research.
Interesting lecture! Is it possible to apply on polymer materials?
Yes, absolutely @Muse, I am sure this can be done. You just have to change the material and then run the simulation. Clearly the mechanism of deformation will be different but this is possible.
@@MichaelOkereke Thank you, Professor! Hydrogel materials are quite tough for experimental investigation unless it is an advanced lab. I am trying to simulate on Abaqus for hydrogel and Shape memory materials! I wonder if you can guide me on this through your personal email Sir! Thank you once in advance!
Thanks lot for your video. How can I do a simulation for this structure for additive manufacturing in order to know in advance critical stresses?
Hello @Said, thanks for your interest on the channel. It sounds like you have to do it by trial and error or use software that runs optimization of lattice structure with properties. There is one called nTopology. These should help you, I hope.
Thank You sir. I really appreciate your videos, they are really informative. Also, your book "Finite Element Application-a practical guide" helped me a lot. If possible please make a video on extracting homogenized properties from 3D lattice RVE by manual application of PBC.
Hi @Rajnandini, thanks. I am glad you found the video and my book helpful. For homogenised properties of 3DRVE lattice structure with PBC, this in my future plan. I will bear this in mind.
Thanks lot for your good and interesting videos. How can I do a simulation for cohesive zone for composite ?
Hello @ilyas, thanks for your interest in the channel. Definitely, this is something I have on my to do list and will make a video about it in future. Please keep watching!
hello sir, can you make a video on modeling graphene cement composite that would be really helpful
Hi @Fahmi apologies, thanks for your interest in the channel. I will usually suggest you give me a reference publication to work with to see if I can make a video on this topic. It helps to know which aspect of the topic you are interested in.
Dear Prof. Do you have any idea how to create hexa mesh for BCC lattice ?
It is hard to create hexahedral meshes based on the BCC structure because of the complexity of the joints where all the trusses connect. It can be done but you have to use the partition tool to cut up that region sufficiently to allow for meshing with hexahedral meshes. Outside ABAQUS, you may be able to use a stronger meshing tool such as hypermesh or Ansa to achieve the same. That is the only suggestion I can give. Some research groups are working on optimal meshing tools/algorithms for such problems but these are not yet incorporated into ABAQUS - the commercially available version.
Hello Dr! First of all, i would like to Thank you for your TH-cam tutorial. if you can please do this in Abaques on another software "Modeling of Pore Parameters and Experimental Validation Using the Microstructure of 0.85Mo and 1.5Mo Prealloyed Sintered Steels".
Is this a paper? I will need some more information @Fentahun.
@@MichaelOkereke Yes Dr this is a paper. i can sent to you this paper if you want it?
Okay send it via CM Videos Insider Group if you are subscribed. There is a welcome email to use.
Thanks
Cheers @Ahmed.
Hi. I have purchased the PBCGen"D full version for the simulation of lattice structure but I am getting an error in the code.
''Index in position 1 is invalid. Array indices must be positive integers or logical
values.
Error in PBCGen2D''
Please help me solve this error
Please can you email me the model let me have a look.
Hey@@MichaelOkereke
thanks for your reply
I have sent you the model file
I am not using face sheet as I have been instructed to do so by uni professor.
Help me add PBC without the use of face sheet for my model also to fer force disp and stress strain data
chher