Ejemplo n.º 1
0
 def _get_xd_ifc(self):
     return XDomainFEInterface(
         I=self.xd_steel.mesh.I[:, -1],
         J=self.xd_concrete.mesh.I[:, 0],
         fets=FETS1D52ULRH(),
         integ_factor=0.5
     )
xd1 = XDomainFEGridAxiSym(coord_min=(0, 0),
                          coord_max=(L_x, R_in),
                          shape=(n_x_e, 2),
                          fets=FETS2D4Q())
xd2 = XDomainFEGridAxiSym(coord_min=(0, R_in),
                          coord_max=(L_x, R_out),
                          shape=(n_x_e, n_y_e),
                          integ_factor=2 * np.pi,
                          fets=FETS2D4Q())
m1 = MATS3DElastic(E=280000, nu=0.32)
m2 = MATS3DElastic(E=28000, nu=0.3)

xd12 = XDomainFEInterface(I=xd1.mesh.I[:, -1],
                          J=xd2.mesh.I[:, 0],
                          fets=FETS1D52ULRH())

left_y = BCSlice(slice=xd1.mesh[0, 0, 0, 0], var='u', dims=[1], value=0)
left_x = BCSlice(slice=xd1.mesh[0, :, 0, :], var='u', dims=[0], value=-0)
right_x = BCSlice(slice=xd1.mesh[-1, :, -1, :], var='u', dims=[0], value=u_0)
bc1 = [left_y, left_x, right_x]

m = TStepBC(
    domains=[
        (xd1, m1),
        (xd2, m2),
        (xd12, MATS1D5Elastic(E_s=10000000, E_n=1000000)),
    ],
    bc=bc1,  # + bc2,
)
Ejemplo n.º 3
0
 def _get_fets_eval(self):
     return FETS1D52ULRH(A_m=self.cross_section.A_m,
                         P_b=self.cross_section.P_b,
                         A_f=self.cross_section.A_f)
Ejemplo n.º 4
0
 def _fets_eval_default(self):
     return FETS1D52ULRH()