Multiple design points

Registered by Wolfgang Betz

Implement the possiblity to check for multiple design points (not just by generating random start points).

Reference: Der Kiureghian A., Dakessian T.: Multiple design points in first and second-order reliability. Structural Safety, 20: 37-49 (1998).

Blueprint information

Status:
Not started
Approver:
Wolfgang Betz
Priority:
Low
Drafter:
Wolfgang Betz
Direction:
Approved
Assignee:
Wolfgang Betz
Definition:
New
Series goal:
Accepted for trunk
Implementation:
Not started
Milestone target:
None

Related branches

Sprints

Whiteboard

example fem_random has multiple design points.

This problem has multiple design points !!! (and the wrong one ins found if starting from mean)
==========================

loadlib "RND";

fem new;

rnd new 1 lognormal mu 0.01 sd 0.01 epsilon 0; # predisplacement
rnd new 2 normal mu 0.03 sd 0.025; # predisplacement (rotation)
rnd new 3 lognormal mu 5 sd 4; # friction
rnd new 4 gumbel mu 1 sd 0.2; # nodal load

rnd corr rv1 1 rv2 2 rho -0.4;
rnd corr create;

isomat 0 E 3e5 nu 0.1;
crosssec 0 Manual A 1e-4 Iy 0.0003 Iz 6e-4 It 20;
crosssec 1 Manual A 1e-4 Iy 0.0003 Iz 6e-6 It 20;

node 0 [0] fix wx, fix wy, fix wz, fix rx, fix ry;
node 1 [2] fix wz, fix rx, fix ry;
node 2 [4] fix wy, fix wz, fix rx, fix ry;
node 10 [2] link wx 1, link wy 1, link wz 1;
node 11 [1,-1] fix wy, fix wz, fix rx, fix ry, fix rz rv(2), spring wx rv(3);
node 12 [3,-1] fix wy -1.0*rv(1), fix wz, fix rx, fix ry, fix rz, spring wx rv(3);

edge 1 0 1;
edge 2 1 2;
edge 11 11 10;
edge 12 12 10;
edge 13 11 12 { pOrder=3; };

elbeam 1 1;
elbeam 2 2;
elbeam 11 11 { crossSec=1; };
elbeam 12 12 { crossSec=1; };
eltruss 13 13;

nload 10 wx 1;
nload 10 wy -1*rv(4);

eload 1 local wy pos=[-1,1] load=-0.5;
eload 2 local wy pos=[-1,1] load=-0.5;
eload 13 local wx pos=[-1,1] load=lx { degreeLoad=1; };

fem assdof;
fem assstf { printmtx=true; };
fem assforces;
fem solve {
  pcn=4;
};

# Output some results
  calc nodeu([1,wx]);
  calc nodeu([1,wy]);
  funplot nodeu([11,wx]), nodeu([12,wx]), nodeu([12,wx])-nodeu([11,wx]);
  calc elinfo(13,N,0);

# Define the limit state function
  var lsf = objexec(0.025+nodeu([1,wy]),{
    fem assstf { dolog=false; };
    fem assforces { dolog=false; };
    fem solve { dolog=false; pcn=4; };
  });

# random sampling
  sfor (i;10) {
    rnd smp { verbose = false; dolog=false; };
    calc lsf;
  };

# FORM - analysis
form ( formy; formx; lsf ) {
  xstart = rv_mean();
  vlog = true;
  betadp = betadp;
};
sfor (i;10) {
  rnd smp { verbose = false; dolog=false; };
  form ( formy; formx; lsf ) {
    xstart = rv_vec(x);
    vlog = true;
    betadp = betadp;
    #dolog = false;
  };
  funplot betadp;
};

# Importance sampling
ips(ipsv;1e5;faillsf(lsf))
(tailstdn betadp 3.64)
{}
{
  reliability = true;
  dolog = false;
} ;

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.