Lbase: Lbase

Description Usage Public function Author(s) See Also Examples

Description

Base class for the description of limit state function

Usage

1
Arbitrary limit state functions defined by users are inherited from this base class

Public function

Standard reference class is R6 class
Public function

function contents variable(s)
initialize(n) initializes the object n:number of variables
GetN() returns the number of variables
GetX() returns the variable list X
SetX(x) sets variable list x to the variable list X x: variable list
GetG() returns calculated g value
SetG(g) sets calculated g-value to the variable g:calculated g
GetdGdX() returns differential variable value list dGdX
SetdGdX(x) sets differintial variable list dGdX x: dGdX list

Author(s)

Shinsuke Sakai, Takuyo Kaida

See Also

As the application of the following example of GPRSMED, see example of help command LSFM

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Example
#"Probability, Reliability and Statistical Methods in
#  Engineering Design"
# Achintya Haldar  & Sankaran Mahadevan
#  P.218 Table 7.5, 7.6
GPRSMED <- R6::R6Class("GPRSMED",
                   inherit=Lbase,
                   public = list(
                     gcalc = function(){
                       X <- super$GetX()
                       As <- X[1]
                       fy <- X[2]
                       fcd <- X[3]
                       b <- X[4]
                       d <- X[5]
                       eta <- X[6]
                       M <- X[7]
                       g <- As*fy*d*(1.0-eta*As*fy/b/d/fcd)-M
                       super$SetG(g)
                     } ,
                     dGdXcalc = function(){
                       X <- super$GetX()
                       dGdX <- super$GetdGdX()
                       As <- X[1]
                       fy <- X[2]
                       fcd <- X[3]
                       b <- X[4]
                       d <- X[5]
                       eta <- X[6]
                       M <- X[7]
                       dGdX[1] <- fy * d * (1 - eta * As * fy/b/d/fcd) - As * fy * d * (eta * fy/b/d/fcd)
                       dGdX[2] <- As * d * (1 - eta * As * fy/b/d/fcd) - As * fy * d * (eta * As/b/d/fcd)
                       dGdX[3] <- As * fy * d * (eta * As * fy/b/d/fcd^2)
                       dGdX[4] <- As * fy * d * (eta * As * fy/b^2/d/fcd)
                       dGdX[5] <- As * fy * (1 - eta * As * fy/b/d/fcd) + As * fy * d * (eta *
                                                                                                   As * fy/b/d^2/fcd)
                       dGdX[6] <- -(As * fy * d * (As * fy/b/d/fcd))
                       dGdX[7] <- -1
                       super$SetdGdX(dGdX)
                     }
                   )

)

ShinsukeSakai0321/LimitState documentation built on Dec. 26, 2019, 11:31 a.m.