CITE THIS NOTEBOOK: Exploring civil structure modeling with System Modeler by Vedat Şenol. Wolfram Community April 6 2023.
In the community post Why buildings collapse and how to design earthquake-resistant buildings? I promised to explain how I developed the models in System Modeler, so in this post, I’ll walk you through the steps I took to build the models. I hope it will give you some insights in the process of model building. My aim was to create a civil-structure model that accurately reflects the behavior of real buildings under lateral loads, such as wind or earthquakes. To do this, I used a type of building structure known as a shear frame. A shear frame is designed to resist horizontal forces by using a series of interconnected vertical and horizontal members that work together to provide stability and support. By modeling my building as a shear frame, I was able to simulate its behavior under various loading conditions and gain insights into its structural performance.

Structural Dynamics and The Required Fidelity Level

While it may seem intuitive to model each story of a building as a mass with a six degree of freedom spring-damper system, this approach can be computationally expensive and complex. Instead, when analyzing a building's response to seismic forces, it is common to simplify the problem by considering only the motion in one direction.
This is because earthquakes typically cause the ground to shake primarily in one direction, and neglecting the response in other directions does not significantly affect the overall behavior of the structure.
Thus, the 3D structure can be simplified to 2D, as shown below, and each floor node can be represented by 3 degrees of freedom (horizontal, vertical, and rotational freedoms).
After restricting the analysis to one direction, the next step is to apply the rigid diaphragm assumption (Chopra, 2007). This assumption implies that the building’s floor system, or slab, behaves as a stiff plate that uniformly distributes forces to all columns without deflection, see the figure below. If the slab does not deform, then
x
1
is equal to
x
2
and
θ
1
is equal to
θ
2
. Additionally, vertical displacements can be neglected since they are usually much smaller than horizontal displacements. Therefore, the
y
1
,
y
2
, and rotational displacements are removed from the equations, leaving only
x
1
as sufficient to capture the desired dynamics.
Consequently, the problem can be simplified from 6 degrees of freedom (2 nodes with 3 DOFs each) to 1 for each story (1 node with 1 DOF) . To further simplify the concept, let' s exclude the moving base and use a stationary base, which is common in earthquake engineering (Chopra, 2007).
Ultimately, the displacement in the earthquake direction can reduce one story to 1 degree of freedom (DOF). The inter-story drifts, denoted by (
δ
i
=
x
i
-
x
i-1
), can be calculated using these DOF (
δ
i
=
x
i
-
x
i-1
).
To model the necessary dynamics of a story, a prismatic joint can be employed to limit the movement in the earthquake direction, eqDir, along with a mass representing the floor mass, and stiffness and damping values for columns, as follows:
This civil structure can be modeled by using the 1D translational Mechanics library but for visualization purposes the MultiBody library is preferred.
Let’s import the library with the models:
ImportString
,"MO";
The story we modeled as follows;
In[]:=
story=SystemModel["EartquakeResistantDesign.Components.Story1D"]
Out[]=
In[]:=
story["Diagram"]
Out[]=
As seen above, the story consists 1 degrees of freedom mass-spring-damper system. Let’s build our first 5-storey structure,
In[]:=
fiveStory=SystemModel["EartquakeResistantDesign.Exercises.FiveStorey"];​​fiveStory["Diagram"]
Out[]=
I created the model above and simulated it. The roof displacement is as follows
In[]:=
model=SystemModelPlot[fiveStory,"Roof displacements",PlotRange->All,TargetUnits->{"Seconds",Automatic},Frame->True,Axes->False]
Out[]=
Roof displacement
I found manually creating a model for a building with a large number of stories can be a tedious and time-consuming process while creating the model. To tackle this tedious process, I pulled a for loop-structure trick that automatizes the process. By using this loop, we can generate a model for a building with a variable number of stories more easily and efficiently.
To do this, we can define a set of parameters for the building, such as the height of each story and the number of stories. We can then use a for loop to generate the building by stacking blocks on top of each other based on these parameters. This allows us to quickly create models for buildings of different sizes, without having to manually create each one.
The building component including the for loop structure is as follows. The number of story can be set by the parameter numberOfStory
To achieve desired results when modeling a structure, we can set the parameters of the story mass, stiffness, and damping. Additionally, visualizations can be improved by using multiplication factors, represented by “multFact.” I plan to share another post on customizing animations.
For example, in a 5-story building which was common in the earthquake region that I mentioned previous post with a plan layout of 200 m², we set the story mass at 80 tonnes (400 kg/m²), the lateral stiffness at 160, 000 kN/m, and damping at 5 %.
I assume a building’s fundamental period to be approximately n*0.1 seconds, where n represents the number of stories. In the case of a 5-story building which was common in the earthquake region that I mentioned previous post, parameters have been tuned to ensure that the first mode is around 2 Hz.
It is time check whether the structure acts as I assumed. To do so, I apply a step force to the structure and release it.
The maximum roof displacement is around 1.5 cm.
Let's check the FFT of the response.
Sample the variable:
Compute the FFT:
Plot the amplitude:
The response is peak around 2 Hz as we assumed. In conclusion, we have successfully modeled a civil structure in System Modeler and validated the results using FFT analysis. The parameters of story mass, stiffness, and damping were adjusted to achieve the desired response.
Through this process, I hope we have gained a better understanding of the behavior of civil structures and how to effectively model them in System Modeler . The techniques and principles employed here can be applied to other civil engineering problems, making System Modeler a valuable tool in the field .

References

[1]. Chopra, Anil K. Dynamics of Structures: Theory and Applications to Earthquake Engineering. New Delhi: Pearson Education India, 2007.