@@ -172,15 +172,16 @@ def get_elastic_stress(
172
172
173
173
def service_analysis (
174
174
self ,
175
- point_na : Tuple [float , float ],
175
+ ecf : Tuple [float , float ],
176
+ eps0 : float ,
176
177
theta : float ,
177
178
kappa : float ,
178
179
centroid : Tuple [float , float ],
179
180
) -> Tuple [float , float , float , float , float ]:
180
181
r"""Performs a service stress analysis on the section.
181
182
182
- :param point_na: Point on the neutral axis
183
- :param d_n: Depth of the neutral axis from the extreme compression fibre
183
+ :param ecf: Global coordinate of the extreme compressive fibre
184
+ :param eps0: Strain at top fibre
184
185
:param theta: Angle (in radians) the neutral axis makes with the
185
186
horizontal axis (:math:`-\pi \leq \theta \leq \pi`)
186
187
:param kappa: Curvature
@@ -204,7 +205,8 @@ def service_analysis(
204
205
el_min_strain ,
205
206
el_max_strain ,
206
207
) = el .calculate_service_actions (
207
- point_na = point_na ,
208
+ ecf = ecf ,
209
+ eps0 = eps0 ,
208
210
theta = theta ,
209
211
kappa = kappa ,
210
212
centroid = centroid ,
@@ -220,18 +222,18 @@ def service_analysis(
220
222
221
223
def get_service_stress (
222
224
self ,
223
- d_n : float ,
224
225
kappa : float ,
225
- point_na : Tuple [float , float ],
226
+ ecf : Tuple [float , float ],
227
+ eps0 : float ,
226
228
theta : float ,
227
229
centroid : Tuple [float , float ],
228
230
) -> Tuple [np .ndarray , float , float , float ]:
229
231
r"""Given the neutral axis depth `d_n` and curvature `kappa` determines the
230
232
service stresses within the section.
231
233
232
- :param d_n: Neutral axis depth
233
234
:param kappa: Curvature
234
- :param point_na: Point on the neutral axis
235
+ :param ecf: Global coordinate of the extreme compressive fibre
236
+ :param eps0: Strain at top fibre
235
237
:param theta: Angle (in radians) the neutral axis makes with the
236
238
horizontal axis (:math:`-\pi \leq \theta \leq \pi`)
237
239
:param centroid: Centroid about which to take moments
@@ -248,7 +250,8 @@ def get_service_stress(
248
250
# get strain at node
249
251
strain = utils .get_service_strain (
250
252
point = (node [0 ], node [1 ]),
251
- point_na = point_na ,
253
+ ecf = ecf ,
254
+ eps0 = eps0 ,
252
255
theta = theta ,
253
256
kappa = kappa ,
254
257
)
@@ -258,7 +261,8 @@ def get_service_stress(
258
261
259
262
# calculate total force
260
263
n_sec , m_x_sec , m_y_sec , _ , _ = self .service_analysis (
261
- point_na = point_na ,
264
+ ecf = ecf ,
265
+ eps0 = eps0 ,
262
266
theta = theta ,
263
267
kappa = kappa ,
264
268
centroid = centroid ,
@@ -607,14 +611,16 @@ def calculate_elastic_actions(
607
611
608
612
def calculate_service_actions (
609
613
self ,
610
- point_na : Tuple [float , float ],
614
+ ecf : Tuple [float , float ],
615
+ eps0 : float ,
611
616
theta : float ,
612
617
kappa : float ,
613
618
centroid : Tuple [float , float ],
614
619
) -> Tuple [float , float , float , float , float ]:
615
620
r"""Calculates service actions for the current finite element.
616
621
617
- :param point_na: Point on the neutral axis
622
+ :param ecf: Global coordinate of the extreme compressive fibre
623
+ :param eps0: Strain at top fibre
618
624
:param theta: Angle (in radians) the neutral axis makes with the
619
625
horizontal axis (:math:`-\pi \leq \theta \leq \pi`)
620
626
:param kappa: Curvature
@@ -645,7 +651,8 @@ def calculate_service_actions(
645
651
# get strain at gauss point
646
652
strain = utils .get_service_strain (
647
653
point = (x , y ),
648
- point_na = point_na ,
654
+ ecf = ecf ,
655
+ eps0 = eps0 ,
649
656
theta = theta ,
650
657
kappa = kappa ,
651
658
)
0 commit comments