Expansion joint (or contraction joint) in FLAC3D

Hi everyone, I have a question. How can I model an expansion joint in a tunnel using FLAC3D? Is it sufficient to assign different IDs to the structural elements, or is there another recommended approach? I’m uncertain because structural elements with different IDs (such as shells) still share the same zone nodes at their intersection.

Specifically, I need to decouple the structural behavior of two intersecting tunnels.

Thanks in advance

My recommended approach is to first model the tunnel lining as liner elements in FLAC3D, and be sure to distinguish between side 1 and side 2 by using the command: struct node join side 2 group “expansion_joint” ~~~.

With this, side 1 will act together with the ground, and for side 2 you can simulate expansion-joint behavior between linings by using a separate structure link attach command.

A simple example is shown below.
structure node join side 2 group ‘expansion_joint’ range-target group ‘lining_B’ range group ‘lining_A’ position-y @tun_start @tun_end

structure link attach x linear …
y rigid …
z normal-yield … ;; radial spring
rotation-x rigid … ;; rotation spring
rotation-y normal-yield …
rotation-z rigid range group ‘expansion_joint’ position-y @tun_start @tun_end

	struct link property x  area 0.32 stiffness=0  range group 'expansion_joint' position-y @tun_start @tun_end
	struct link property z  area 0.32 stiffness=0 range group 'expansion_joint' position-y @tun_start @tun_end
	struct link property z  yield-compression=0 yield-tension=0 range group 'expansion_joint' position-y @tun_start @tun_end

	struct link property rotation-y area 0.32 stiffness=0 range group 'expansion_joint' position-y @tun_start @tun_end
	struct link property rotation-y yield-compression=0 yield-tension=0  range group 'expansion_joint' position-y @tun_start @tun_end
1 Like

To add to my previous points, FLAC3D features a unique concept of side 1 and side 2 that cannot be found in other well-known finite element programs, which excellently simulates interactions between structures.

What’s noteworthy here is that many engineers are unaware of this fact. While there may be various reasons, I believe the manuals are often too basic or disconnected from practical applications. The lack of realistic practical examples is a matter that requires deep consideration, as misunderstandings in command-driven FLAC3D can lead to significant errors.

This is why this forum serves as an excellent platform for sharing diverse practical experiences and errors. However, even recently, while I’ve posted many replies on interesting topics, the outcomes often remain unresolved or fade away. It would be nice if those who receive replies were informed of the resolved results through separate emails, but this doesn’t happen.

I am Korean. As you may know, Korea is also distinguished by K-POP. In Korea, MIDAS GTS NX is used very frequently, and while there used to be many FLAC3D users like myself, there are now only a few.

Some reasons I can think of are that MIDAS GTS NX, like K-POP, is easy to follow and introduces various practical examples that people get excited about. However, FLAC3D’s manual is like a scripture book.

FLAC3D has added remarkably innovative features through continuous updates compared to the past, but as I mentioned earlier, many people are unaware of them. Recently, it’s encouraging that diverse introductions are being made through YouTube.

As mentioned earlier, FLAC3D is a program with excellent fundamental structure. However, for there to be more passionate FLAC3D users like myself, I’ve shared these thoughts hoping for K-POP-like performance-driven promotion and more introduction of actual research or practical examples.

Thank you.

3 Likes

In addition to @galleon excellent suggestions there is a FLAC3D example with liner elements that show how to create a “cold joint” between two tunnel liners. See the text below Figure 14 for more information:

Hello, thanks for your answer but i have a question, what about the id for the elements? it must be the same for lining_A and lining_B?

thank you.

The IDs for each element should be different. From what I remember, when the IDs are the same, the elements tend to behave almost as a single unit, showing relatively small relative deformation. When the IDs are different, they will exhibit joint-like behavior.

Of course, the main point of the previous answer was that the ability in the liner element to define side 1 and side 2 is a very powerful feature, though many users are not aware of it. In any case, please test with both the same ID and different IDs.
There are many ways to assign different IDs according to the analysis sequence, but I often resolve this by using Python code with the help of AI. FLAC3D is command-driven, so beginners may find it challenging at first; however, as users become more advanced—and considering the recent trend of working with AI—the outlook is very promising.