• Discoverability Visible
  • Join Policy Restricted
  • Created 11 Aug 2017

Project 1 - Using Python

  1. Imad Hanhan

    Hello all,

    I have a question on how I can use the python scripts provided by Dr. Yu to calculate the effective properties.

    In the document "Homogonization with 3 boundary conditions in Abaqus" Appendix B, it looks like the Python script is organized to extract stresses from each step. To my understanding, each step will follow the deformation of the previous step. Can someone verify the below:

    Since this is a pure elastic simulation, the previous deformation is irrelevant to the next loading case. In other words, lets say step 1 applies epsilon_11 BC to extract the first set of coefficients. Then step 2 can apply epsilon_22 BC to extract the next set of coefficients.

    Is this true? I would ideally like to use the python script provided at least for this part, but I wasn't sure how they use the different steps without causing errors in their outcome, unless the above holds true.

    Thanks,
    Imad

    Report abuse

  2. Wenbin Yu

    I just invited Bo Peng to join the group. She should be able to answer your questions. 

    Report abuse

  3. Imad Hanhan

    Dr. Yu,

    Thank you for inviting Bo Peng, I'll look for her answer.

    In the meantime, I have another question. Can you please confirm the below?

    If for epsilon_11, epsilon_22, and epsilon_33 I applied epsilon=1, then for the shear strain displacement BC's I should apply epsilon=2. Is that correct?

    Thanks,
    Imad

    Report abuse

  4. Bo Peng

    For the first question, your statement is correct. 

    For the second question, when shear strain is applied, epsilon=0.5 should be used.

     

    Report abuse

  5. Imad Hanhan

    Thank you both for your help, I appreciate your quick responses.

    I have another question, this time regarding periodic boundary conditions. I've been unsuccessfully attempting to implement PBC's in my model for quite some time, and am hoping you may be able to offer some advice.

    I'm using the format that was provided in the Python script for applying periodic boundary conditions. I did de-bug it a bit, for example I seemed to always get "IndexError: list index out of range" when defining xMax=xPN[0][0]. I worked around it by defining my xMax manually by xMax = 20 (which is my maximum x position).

    After some finessing it seems to run without any errors. However, after it finishes, I don't see any interactions or constrains have added in my model in the interactions module. (I do see the reference points have been created).

    What could be some possible reasons that Abaqus runs my python script with no errors but does not create the interactions?

    Thanks,
    Imad

    Report abuse

  6. Bo Peng

    I am not sure the reason of your problem. But I doubt that if you have defined the sets (or surfaces) of 'XN', 'XP' etc. in your cae model. Please check your python script so that you know which one( sets or surfaces of 'XN', 'XP' etc that you need to define. Please let me know if you still have a problem.

     

    Report abuse

  7. Imad Hanhan

    Bo Peng,

    Thank you for your response. I had indeed defined the surfaces corresponding to XN, XP, etc.

    I think my issue is with my reference location point. I'm going to spend some more time reading through the code.

    Thanks again for your help.
    -Imad

    Screen-Shot-2017-11-03-at-11.36.39-AM.png

    Report abuse

  8. Bo Peng

    Where did you define the surfaces? If you look at the script, you can find the surfaces are defined under parts. So if you define the surfaces at the assembly level, the surfaces cannot be found.

     The locations of the reference points will not influence the results if you look at the PBC equations. Reference points are just used to give displacement difference at the boundaries.

    Report abuse

  9. Imad Hanhan

    I defined the surfaces under parts, but I defined them as geometric surfaces, I'm debugging and I see that my 'xPN' is empty... I think I was supposed to define them as surface meshes, is that correct? I'm trying that now to see if the nodes can be found by the script if they're defined as mesh surfaces.

    -Imad

    Report abuse

  10. Bo Peng

    Where did you generate the mesh? Mesh should be generated under parts, not at the assembly level.

    Report abuse

  11. Imad Hanhan

    Thanks Bo, my mesh was generated at the assembly level, I missed that. I re-meshed it at the part level and I'm trying again.

     

    Report abuse

  12. Imad Hanhan

    Hi Bo,

    I am almost there, in fact, I ran it with just eps_11 applied and it worked. I went back in and tried to add the additional steps for the other boundary conditions and ran into one last thing that is causing a problem. When assigning PBC's, I get the error:

    "ValueError: Set "RefPoint1-1.SetRefPoint1" does not exist."

    However, in the tree I can see, for example, reference point 1 and it's corresponding set (in the image attached).

    To get around the error, I manually created instances in the assembly of each refpoint, and it seemed to bypass that error. However, that caused problems later, where the reference points were not defined in my '.inp' file. I got a couple of error messages about reference points not defined and not active in my model.

    I went back to the starting point where I assign PBC's and have been trying to de-bug it, but have not made progress. Do you have any suggestions on what to do to fix this error? Do you have any ideas why I might be getting this error when assigning PBCs?

    Thanks again for all your help, I really appreciate it.
    -Imad

    Screen-Shot-2017-11-03-at-2.37.24-PM.png

    Report abuse