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, )
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)
def _fets_eval_default(self): return FETS1D52ULRH()