Soil Structure Interface Modeling

STKO Team
Posts: 2924
Joined: Tue Oct 29, 2019 8:45 am

Re: Soil Structure Interface Modeling

Post by STKO Team » Thu Nov 10, 2022 9:39 am

You also didnt answer my question about equalDOF. I would really appreciate more direction on this.
I answered here (I made a mistake in the title...):
Problem 2: contact with non-compatible meshes.
For EqualDOF there is not difference in what is the master and what is the slave. I mean, no physical difference.
Note: If you use the Transformation handler, there is a computational difference, due to the fact that a node cannot be master and slave at the same time in multiple constraints. But if you use the Penalty approach there is not such a problem
I would really appreciate if you can help me make work any of these three models.
I fixed the model with the mesh issue (sent earlier). These models are huge so I fixed only that one. Then, if you need, based on the direction I give you on this one, you can try to fix the others.

Here's a working version of your model with compatible meshes:



These are the issues I found and fixed:
  • The soil domain was not correct for structured Hexa meshing. The central part was not subdivided.
    I created a grid of lines connecting the edges, extruded them into faces, and then merged them with the soil.
    NoEdgeProlongation.png
    NoEdgeProlongation.png (203.98 KiB) Viewed 4741 times
  • I performed some extra cuts because the foundation's vertical faces and the soil geometry were not matching. In this model you need them to match perfectly because you want to use a node-to-node interaction:
    IncompGeom_Soil_Found.png
    IncompGeom_Soil_Found.png (85.65 KiB) Viewed 4741 times
  • I changed the contact orientation type to "From Local Axes". The "From Link direction" works only when you have a finite gap between master and slave
  • I had to assign the local axes for contact. They were correctly defined but not assigned.
  • The shell element property was erroneously assigned to some vertical edges. I had to un-assign them:
    Unassign.png
    Unassign.png (58.93 KiB) Viewed 4741 times
  • Finally I had to make sure the Vertical Edge for Floor-Master-Nodes has a edge-seed = 1 subdivision per edge. Because it has no element assigned, therefore any node generated in between the floor nodes will be singular.
Note: I had to re-mesh your model and for testing reasons I had to change the mesh seeds of your model.
I used:
  • Global seed = Uniform by size -> 2.0 m
  • Edge Seed @ External edges of soild = Uniform by size -> 20 m
  • Edge Seed @ Edge of master floor nodes = Uniform by subdivisions -> 1
Last edited by STKO Team on Fri Nov 11, 2022 11:56 am, edited 1 time in total.

kolozvari
Posts: 227
Joined: Tue Oct 05, 2021 9:22 pm

Re: Soil Structure Interface Modeling

Post by kolozvari » Thu Nov 10, 2022 5:33 pm

Thank you very much! Can you please remove the fixed model from the forum?

I do have a few follow up comments as I would like to better understand STKO.
1)
I changed the contact orientation type to "From Local Axes". The "From Link direction" works only when you have a finite gap between master and slave
Does this mean that there is a gap now in between the soil and the foundation? In the original model there was no gap. If so, how big is the gap? How did you do it?
2)
I changed the contact orientation type to "From Local Axes". The "From Link direction" works only when you have a finite gap between master and slave
Why did you have to do that if you are using "From Link direction" option? I thought that when you have "From Link direction" you dont need local axes... Also, how do you check to which object are the local axes assigned? I couldnt figure out how to visualize local axes assignment.
3)
The shell element property was erroneously assigned to some vertical edges.
How do you check this? I am having a really hard time checking what is assigned where? Also, how did this happen? I never assigned wall to lines. In fact, I am not even sure where did these lines came from. I only defined the walls.
4)
Finally I had to make sure the Vertical Edge for Floor-Master-Nodes has a edge-seed = 1 subdivision per edge. Because it has no element assigned, therefore any node generated in between the floor nodes will be singular.
I dont understand what are you referring to. Is this related to contact modeling? Please clarify.
5) I have noticed that you mat foundation and basement structure are not merged together, while they were merged in the model I sent you (see screenshots). Is this because they are connected with the equalDOF so merging is not necessary?

Please let me know. Than you very much for all your help.
Attachments
1.PNG
1.PNG (433.91 KiB) Viewed 4738 times
2.PNG
2.PNG (468.51 KiB) Viewed 4738 times

STKO Team
Posts: 2924
Joined: Tue Oct 29, 2019 8:45 am

Re: Soil Structure Interface Modeling

Post by STKO Team » Fri Nov 11, 2022 11:56 am

1) Does this mean that there is a gap now in between the soil and the foundation? In the original model there was no gap. If so, how big is the gap? How did you do it?
Exactly, You did not have any gap! so you can't use "From Link Direction". In your original model you selected "From Link Direction". But since there's no gap, the link direction cannot be computed. So I switched to "From Local Axes"

2) Why did you have to do that if you are using "From Link direction" option? I thought that when you have "From Link direction" you dont need local axes... Also, how do you check to which object are the local axes assigned? I couldnt figure out how to visualize local axes assignment.
Check previous answer

How do you check this? I am having a really hard time checking what is assigned where? Also, how did this happen? I never assigned wall to lines. In fact, I am not even sure where did these lines came from. I only defined the walls.
First I had an error while writing the TCL files. That error let me understand (reading the traceback) that the ShellDKGQ Element Property was assigned to some geometry (or sub-geometry) with a number of nodes different than 4.
So, from the worktree, you can right-click on the Element Property and click on "Select". It will select all sub-geometries this property was assigned to. You will see that some edges are selected (not only the faces).
Probably this happened because you were in sub-selection mode, and erroneously you selected both sub-faces and sub-edges of the walls.
I am not even sure where did these lines came from
Watch the "Getting Started" webinar series. We explain the concept of B-Rep (Boundary Representation used in our CAD Engine): Every face has boundary edges (similarly, every solid has boundary faces, and every edge has boundary vertices...)
Sometimes you want to assign a property to a boundary edge of a face: for example when you want to create a boundary beam that shared the same nodes of the wall...

I am having a really hard time checking what is assigned where
You can: a) use the "Select" command after the right-click on a property in the Work-Tree, or b) Go to the property Tab, and you will see your geometry colored according to the color you defined (or automatically defined) in the Property Editor (using the "Edit Shader" button)

I dont understand what are you referring to. Is this related to contact modeling? Please clarify.
What I'm saying is that you defined a wire, with vertices at the floor levels for the master nodes. However, if you assign a mesh seed which is smaller than the inter-floor height, it will create intermediate nodes which will be floating (thus a singular matrix)

5) I have noticed that you mat foundation and basement structure are not merged together, while they were merged in the model I sent you (see screenshots). Is this because they are connected with the equalDOF so merging is not necessary?
Exactly. Check the answer about boundary-representaiton. If a solid is merged with a face, the common edge will share the same mesh-nodes (physically attached). But in OpenSees you can share the same node between a shell (6 DOFs) and a solid (3 DOFs).

So I had to detach them into 2 separated geometry. Finally I linked them back using Equal DOFs

kolozvari
Posts: 227
Joined: Tue Oct 05, 2021 9:22 pm

Re: Soil Structure Interface Modeling

Post by kolozvari » Sat Nov 12, 2022 12:47 am

Thank you for clarifications.

What I am trying to do next is to run a fixed base model of the building only (without soil), but the model is blowing up very early in the analysis (see screenshot below). I tried to change time step, tolerance, penalty coefficients, and mesh, but it doesnt help. Any idea what is causing this? It is strange because the model with the building and the soil works perfectly fine.

One theory I have is that there is an issue with the modeling of basement levels. I use ShellDKGQ for walls and slabs and perhaps the element doesnt have any out-of-plane stiffness, so there is some kind of instability occurring.

I would appreciate your thoughts on how to approach this problem and what can potentially fix it.

Thank you!
Attachments
Capture.PNG
Capture.PNG (303.96 KiB) Viewed 4724 times

STKO Team
Posts: 2924
Joined: Tue Oct 29, 2019 8:45 am

Re: Soil Structure Interface Modeling

Post by STKO Team » Mon Nov 14, 2022 8:10 am

I don't think it's due to the ShellDKGQ. I know it has some zero-energy modes related to the drilling DOF, but those modes result into hourglassing instabilities only in very rare cases, for example when no Drilling Rotation DOF is fixed. But I don't think this is the case.

Does this happen at the end of the gravity analysis? or during transient?

Could you share this model?

kolozvari
Posts: 227
Joined: Tue Oct 05, 2021 9:22 pm

Re: Soil Structure Interface Modeling

Post by kolozvari » Mon Nov 14, 2022 11:20 am

Sure. The model is attached.

Looking forward to hearing from you.

Thank you!

kolozvari
Posts: 227
Joined: Tue Oct 05, 2021 9:22 pm

Re: Soil Structure Interface Modeling

Post by kolozvari » Mon Nov 14, 2022 12:24 pm

There is no gravity load and gravity analysis. It happens within first 20 to 50 time steps.

Thanks

STKO Team
Posts: 2924
Joined: Tue Oct 29, 2019 8:45 am

Re: Soil Structure Interface Modeling

Post by STKO Team » Mon Nov 14, 2022 3:01 pm

Yes, there is clearly an instability because the accelerations and displacements reach unrealistic values.

With the ASDShellQ4 it works fine.
We developed this new shell element to improve some deficiencies we found in all other shell formulations.
Check the discussion in the pull request here: https://github.com/OpenSees/OpenSees/pull/365

One relatively well-known issue in the ShellDKGQ (and DKGT) element, is how they treat the drilling DOF. They do not use the Drilling DOF formulation by Huges & Brezzi (which is consistently based on Cosserat's continuum theory). Instead, they use the so-called "Corner Rotation" from the Allman-type triangle. This method, based on the incompatible-modes formulation, gives 3 zero-energy modes in the stiffness matrix, associated with the 4 drilling DOFs. However, this instability should not propagate so easily. I'll have to investigate why it is happening in your model.

However, go with the ASDShellQ4, it has many other improvements

kolozvari
Posts: 227
Joined: Tue Oct 05, 2021 9:22 pm

Re: Soil Structure Interface Modeling

Post by kolozvari » Sun Nov 20, 2022 5:33 am

Thank you. ASDshell works fine. I will use that one in the future.

I am working on adding more elements to the model and columns and slabs are next. I am running again with issues with meshing:
1) After adding columns I need to divide soil geometry so my soil and structure mesh are compatible (for contact modeling) and what I did is the following: 1) Draw lines on the surface of the soil, 2) extrude line into a face to the bottom of the soil domain, 3) merge new face with the soil domain. When I generate mesh I get the same issue as in my question from last week. I just don't know what am I doing wrong (see screenshots below). This shouldn't be a difficult task and I re-did it few times and almost every time the mesh looks different, but still with errors.
2) You will notice that currently slabs are not merged with the rest of the structure. For some reason after I merge slab geometries with the rest of the structure I am getting some errors that I dont quite understand. Some faces cannot be meshed as structured grid and some other warning. Why am I getting this?

I attached the model BEFORE splitting the geometries and merging the slabs with the rest of the structure. I would really appreciate if you can help me with this. I am sure it takes only 5 minutes. I dont think I have a good understanding of the meshing algorithm and it keeps giving me errors.

I also have few questions:
1) I want to apply gravity load as area load on slabs. I used FaceForce option. Is that the right option?
2) What is the unit of shell elements density kN/m2 or kN/m3? In other words, is it the mass per unit area or per unit volume? Similarly for other elements such as columns (kN/m or kN/m3)? I am assuming that mass is always mass per unit weight, but it is unclear to me.

Lookin forward to hearing from you. Thank you.
Attachments
Full_Model_Before_Splitting_Soil_Geometry.zip
(6.28 MiB) Downloaded 257 times
Capture.PNG
Capture.PNG (662.25 KiB) Viewed 4684 times
mesh error.PNG
mesh error.PNG (365.65 KiB) Viewed 4684 times

STKO Team
Posts: 2924
Joined: Tue Oct 29, 2019 8:45 am

Re: Soil Structure Interface Modeling

Post by STKO Team » Mon Nov 21, 2022 9:03 am

I am working on adding more elements to the model and columns and slabs are next. I am running again with issues with meshing:
1) After adding columns I need to divide soil geometry so my soil and structure mesh are compatible (for contact modeling) and what I did is the following: 1) Draw lines on the surface of the soil, 2) extrude line into a face to the bottom of the soil domain, 3) merge new face with the soil domain. When I generate mesh I get the same issue as in my question from last week. I just don't know what am I doing wrong (see screenshots below). This shouldn't be a difficult task and I re-did it few times and almost every time the mesh looks different, but still with errors.
2) You will notice that currently slabs are not merged with the rest of the structure. For some reason after I merge slab geometries with the rest of the structure I am getting some errors that I dont quite understand. Some faces cannot be meshed as structured grid and some other warning. Why am I getting this?
Here's a fixed model:

  • Issue with soil meshing
    The base of the soil should also be cut, otherwise some sub-solids cannot be meshed with structured hexa. After cutting with the Merge command, don't forget to re-assign mesh controls (some new sub-geometries may have the default mesh controls!)
    soil-base.png
    soil-base.png (60.9 KiB) Viewed 4675 times
  • After meshing, re-assign edge-seed to the new edges if necessary
    edge seed.png
    edge seed.png (143.69 KiB) Viewed 4675 times
  • The foundation podium should be cut as well
    foundation.png
    foundation.png (102.44 KiB) Viewed 4675 times
  • Issues with the slabs
    The slabs must be cut as well, because your connection beams where split in 2. The node in the middle will cut the slab faces at that point, so you need to extend a cut also there. After that re-assign mesh-controls
    slab_cuts.png
    slab_cuts.png (90.8 KiB) Viewed 4675 times
    conn_beam_2.png
    conn_beam_2.png (59.99 KiB) Viewed 4675 times
  • Final Check!!!! IMPORTANT
    When you merge the connection-beams (with physical and element properties) with the slabs' edges (without any property), the merge algorithm will randomly pick only one of the 2 coinciding edges. Therefore, you will need to re-assign connection beam phsyical and element properties to the corresponding slab's edges. You can do it on the modified model, I don't remember their exact location
    re-assign.png
    re-assign.png (43.18 KiB) Viewed 4675 times
1) I want to apply gravity load as area load on slabs. I used FaceForce option. Is that the right option?
Yes. FaceForce is an automation that takes the user-input as pressure (F/L^2) and converts it into equivalent lumped nodal forces (load command in OpenSees)

2) What is the unit of shell elements density kN/m2 or kN/m3? In other words, is it the mass per unit area or per unit volume? Similarly for other elements such as columns (kN/m or kN/m3)? I am assuming that mass is always mass per unit weight, but it is unclear to me.
This is always a problem in OpenSees:
  • Shells: density = mass per unit volume. It can be assigned in the nDMaterial (in case of PlateFiber or LayeredShell sections), or directly in the Section (in case of ElasticMembranePlateSection)
  • Beams: density = mass per unit length
    (i.e. rho(mass/L^3) * area (L^2)). It can be assigned in the ElementProperty
Last edited by STKO Team on Tue Nov 22, 2022 9:22 am, edited 1 time in total.

Post Reply