def _get_xd_steel(self): dx = self.geometry.L_x r_steel = self.cross_section.R_f return XDomainFEGridAxiSym(coord_min=(0, 0), coord_max=(dx, r_steel), shape=(self.n_x, self.n_y_steel), integ_factor=2 * np.pi, fets=FETS2D4Q())
def _get_xd_concrete(self): r_steel = self.cross_section.R_f print('len', self.geometry.L_x) dx = self.geometry.L_x r_concrete = self.cross_section.R_m return XDomainFEGridAxiSym(coord_min=(0, r_steel), coord_max=(dx, r_concrete), shape=(self.n_x, self.n_y_concrete), integ_factor=2 * np.pi, fets=FETS2D4Q())
def _get_fets_eval(self): return FETS2D4Q()
def _get_xd_concrete(self): return XDomainFEGrid(coord_min=(0, self.r_steel), coord_max=(self.L_x, self.r_concrete), shape=(self.n_x, 1), integ_factor=1, fets=FETS2D4Q())
Vis3DTensorField, Viz3DTensorField from mayavi import mlab from simulator.api import \ TStepBC from simulator.xdomain.xdomain_fe_grid import XDomainFEGrid import numpy as np from .mlab_decorators import decorate_figure thickness = 1 xdomain = XDomainFEGrid(coord_max=(1, 1), shape=(1, 1), integ_factor=thickness, fets=FETS2D4Q()) # print(xdomain.B1_Eimabc.shape) # print(xdomain.B0_Eimabc.shape) m = MATS3DDesmorat() m = MATS2DElastic(E=1, nu=0) left_y = BCSlice(slice=xdomain.mesh[0, :, 0, :], var='u', dims=[1], value=0) left_x = BCSlice(slice=xdomain.mesh[0, :, 0, :], var='u', dims=[0], value=-1) right_x = BCSlice(slice=xdomain.mesh[-1, :, -1, :], var='u', dims=[0], value=0.0) m = TStepBC(
def _get_xd_steel(self): return XDomainFEGrid(coord_min=(0, 0), coord_max=(dx, r_steel), shape=(n_x, 1), integ_factor=1, fets=FETS2D4Q())
lut.scalar_lut_manager.scalar_bar.height = 0.8 lut.scalar_lut_manager.scalar_bar.width = 0.17 lut.scalar_lut_manager.scalar_bar.position = np.array([0.82, 0.1]) if __name__ == '__main__': mats2d = MATS2DScalarDamage(stiffness='algorithmic', epsilon_0=0.03, epsilon_f=1.9 * 1000) mats2d = MATS2DElastic() mats2d = MATS2DMplDamageEEQ(epsilon_0=0.03, epsilon_f=1.9 * 1000) fets2d = FETS2D4Q() dots = DOTSGrid(L_x=600, L_y=100, n_x=51, n_y=10, fets=fets2d, mats=mats2d) xdots = DOTSGrid(L_x=4, L_y=1, n_x=40, n_y=10, fets=fets2d, mats=mats2d) tloop = TimeLoop(tline=TLine(min=0, max=1, step=0.1), ts=dots) if False: tloop.bc_list = [ BCSlice(slice=dots.mesh[0, :, 0, :], var='u', dims=[0, 1], value=0), BCSlice(slice=dots.mesh[25, -1, :, -1], var='u', dims=[1], value=-50), BCSlice(slice=dots.mesh[-1, :, -1, :], var='u', dims=[0, 1], value=0)