# RVE Periodic Boundary Conditions in ANSYS Workbench Modal Analysis

## Summary:

Applying Periodic Boundary Conditions on a Composite REV.

## Main Question or Discussion Point

Hi
I have a project regarding micromechanics of composites. I'm starting my analysis on the Fiber Matrix RVE. Right now I'm trying to find the natural frequency of the unit cell. The Unit cell has some unique geometry which I will keep on changing to see how natural frequency changes.

I have to apply infinite periodic boundary on this unit cell, Up-down, left-right, front-back. I want to know how to do it because I'm running out of time and can't find any solutions to it. The mesh on all opposite sides of the unit cell is same since there are no double lines and the structure itself is symmetric. I know this is easier to do in Abaqus but I'm very unfamiliar with it and have wasted days on it. Can anyone please explain step by step what to do? I would really appreciate it.

Last edited by a moderator:

Related Mechanical Engineering News on Phys.org
You will have to write constraint equations that will equate displacements in each DOF for corresponding nodes on both sides.

For example:

U1_node1-U1_node2=0

This has to be repeated for all DOFs and all pairs of nodes.
In Abaqus it’s done in the same way.

Last edited:
Are you saying that I have to do this for each node? Like I have one node on the front face U1 and another node on the opposite face U2 and their difference should be zero at all times.

I'm doing it in ABAQUS now. The mesh is completely identical on opposite sides. I tried using Easy PBC but it turns out to be not so easy. It automatically creates sets, then creates constraints and calculates homogenised elastic properties but what I really want are natural frequency and mode shapes.

Yes, normally it has to be done this way. It's quite tedious but can be automatized (in Abaqus you can use Python scripting). It shouldn't be so difficult when you have matching meshes on opposite sides.

Check the article "Applying Periodic Boundary Conditions in Finite Element Analysis" by W. Wu et al. for reference.

There's also a Micromechanics Plugin for Abaqus that offers automated periodic BCs. It can be downloaded from Dassault Systemes Knowledge Base (article QA00000046185).

Last edited:
I tried using micromechanics and Easy PBC plugin to generate PBC and I got the same error from both of them.

Error in job NF: 813 nodes are missing degree of freedoms. The MPC/Equation/kinematic coupling constraints can not be formed. The nodes have been identified in node set ErrNodeMissingDofConstrDef.

I'm pretty desperate at this point such that I have moved from 3D to 2D and am using constraint equations to define node displacements. Now I am trying to apply PBC on a 2D Planar shell and its still not working. I am hoping that I will get something like this:

But all I am getting are errors

Here is the meshed Part that I am working on.

I have tried using constraint equations just on the nodes at the four corners (Set 21, Set 1, Set 22, Set 42) for the time being.

Constraint 1:
1) Coefficient: 1, Set Name: Set-21, DOF: 3, CSYS ID: global
2) Coefficient: -1, Set Name: Set-1, DOF: 3, CSYS ID: global

Constraint 2:
1) Coefficient: 1, Set Name: Set-42, DOF: 3, CSYS ID: global
2) Coefficient: -1, Set Name: Set-22, DOF: 3, CSYS ID: global

Constraint 3:
1) Coefficient: 1, Set Name: Set-21, DOF: 3, CSYS ID: global
2) Coefficient: -1, Set Name: Set-42, DOF: 3, CSYS ID: global

Constraint 4:
1) Coefficient: 1, Set Name: Set-1, DOF: 3, CSYS ID: global
2) Coefficient: -1, Set Name: Set-22, DOF: 3, CSYS ID: global

And I am getting a similar error as I got in my 3D RVE.

"Error in job Job-1: 3 nodes are missing degree of freedoms. The MPC/Equation/kinematic coupling constraints can not be formed. The nodes have been identified in node set ErrNodeMissingDofConstrDef."

Why am I getting this error? Is it because I am using some nodes in more than one constraint equation? Like Set-21 is being used in constraint 1 and 3. Similarly others are also being used in more than one constraint equation.

From what I know, the constraint equation input in Abaqus works something like this

Coeff1*Set1:DOF1 + Coeff2*Set2:DOF2=0

Is this correct?

What I am really struggling with is grasping the dof concept.

I think it means:

dof1=translation across x-axis
dof2=translation across y-axis
dof3=translation across z-axis
dof4= Rotation across x-axis
dof5= Rotation across y axis
dof6= Rotation across z-axis

Is this correct?

Also if I input 3DOF for set 1 and 3DOF for set 2 in an equation, does it mean that I am telling abaqus to copy the dof(translation and rotation) of set 1 into the set 2 or what?

Equation constraints in Abaqus are defined in the following manner:

coefficient, set, DOF, CSYS

General form of two-term equation constraint is: $$A_{1} \cdot u_{DOFx}^{node1}+A_{2} \cdot u_{DOFx}^{node2}=0$$
So in case of your first equation it's: $$u_{DOF3}^{Set-21}-u_{DOF3}^{Set-1}=0$$ and thus: $$u_{DOF3}^{Set-21}=u_{DOF3}^{Set-1}$$ As you can see, this constraint will equate the displacements in third direction for Set-21 and Set-1. What do these DOFs mean ? As you said: U1 = UX, U2 = UY, U3 = UZ, U4 = URX, U5 = URY, U6 = URZ. Now it's important whether your model is a planar shell in 3D space or 2D solid (plane stress/strain). In the latter case DOF3 is not available.

Yes its a 2D shell in a 2D space. I think I understand much of it now however I still have two questions.

I understand that when I put a constraint equation between two nodes on the opposite faces of an object in x-direction, I am telling those nodes that if the first one moves in x-direction(or y-direction) with a specific magnitude, the second one must also follow that node and move in the same x-direction with the exact magnitude and I have to do it with all node pairs on opposite faces so that it fits like a puzzle piece with adjacent RVE elements in an infinite medium who are also experiencing exact same deformations.

1) The paper that you referenced, talks about something called a dummy node. Its an arbitrary point with a prescribed value, either a displacement or a strain but why is it used, what happens when I use it and what difference does it make?

2) What should I do with nodes that are shared with more than one faces i.e corner nodes like Set 21, set 1, set 42, and set 22? Lets say when I am constraining the motion of bottom 2 corner nodes (set 21 and set 1), should I do it just in x direction or both x and y direction? I know for the rest of the nodes which aren't shared between more than one face are supposed to be constrained in both x and y direction.

Dummy node approach is yet another method of introducing PBCs in Abaqus. This node is represented by a reference point feature. Instead of constraining motions of each node to its corresponding node on the other side you can constrain the motion of each node on one side to follow the motion of a reference point and to the same for another side (using second reference point). This way you will end up with only two points to control. It's a good option if you want to prescribe displacement to these periodic boundaries. In the article they use: $$u_{1}^{Left}-u_{1}^{Right}=0.01$$ When it comes to the second question, you can treat these periodic BCs as equivalent (or more advanced type) of symmetry. When you apply symmetry BCs to two orthogonal boundaries, the nodes shared between these boundaries also share the BCs. There's no conflict because each symmetry BC refers to different degree of freedom. Here's an example of a square with symmetry BCs applied to two orthogonal sides:

Thank you. I think I'm done with this part but just wanna make sure if I did it correctly. I did something like this.

Is this correct?

Yes, it looks correct. For the future consider using Micromechanics plug-in. It should make the whole thing much easier. If you are not sure how to use it, there's a nice article about it on Simuleon's blog.