def load_study(std_name): std = study.Study() std.tmp_dir = TMP_DIR std.name = std_name std = std.load() std_name = find_std_name(std_name) __main__.stds[std_name] = std __main__.openMdb(pathName=std_name + '.cae') vpname = __main__.session.currentViewportName __main__.session.viewports[vpname].setValues(displayedObject=None) mdb = __main__.mdb if std.ccs[0].model_name in mdb.models.keys(): mod = mdb.models[std.ccs[0].model_name] p = mod.parts['Shell'] __main__.session.viewports[vpname].setValues(displayedObject=p) a = mod.rootAssembly a.regenerate() for cc in std.ccs: if not cc.model_name in mdb.models.keys(): print('Could not load objects for model {0}!'.format( cc.model_name)) continue abaqus_functions.set_colors_ti(cc)
def load_study(std_name): std = study.Study() std.tmp_dir = TMP_DIR std.name = std_name std = std.load() std_name = find_std_name(std_name) __main__.stds[std_name] = std __main__.openMdb(pathName = std_name + '.cae') vpname = __main__.session.currentViewportName __main__.session.viewports[vpname].setValues(displayedObject = None) mdb = __main__.mdb if std.ccs[0].model_name in mdb.models.keys(): mod = mdb.models[std.ccs[0].model_name] p = mod.parts['Shell'] __main__.session.viewports[vpname].setValues(displayedObject = p) a = mod.rootAssembly a.regenerate() for cc in std.ccs: if not cc.model_name in mdb.models.keys(): print('Could not load objects for model {0}!'.format( cc.model_name)) continue abaqus_functions.set_colors_ti(cc)
def create(self, force=False): """Creates the thickness imperfection The thickness imperfection is created assuming that each ply has the same contribution to the measured laminate thickness. Thus, a scaling factor is applied to the nominal thickness of each ply in order to macth the measured imperfection field. Parameters ---------- force : bool, optional If ``True`` the thickness imperfection is applied even when it is already created. """ if self.created: if force: cc = self.impconf.conecyl cc.created = False cc.rebuilt = False cc.create_model() else: return cc = self.impconf.conecyl imps, imps_theta_z, t_measured, R_best_fit, H_measured = update_imps() if self.use_theta_z_format: imperfection_file_name = imps_theta_z[self.imp_thick]['ti'] else: imperfection_file_name = imps[self.imp_thick]['ti'] H_measured = H_measured[self.imp_thick] R_best_fit = R_best_fit[self.imp_thick] t_measured = t_measured[self.imp_thick] cc = self.impconf.conecyl self.elems_t, self.t_set = change_thickness_ABAQUS( imperfection_file_name = imperfection_file_name, model_name = cc.model_name, part_name = cc.part_name_shell, stack = cc.stack, t_model = sum(cc.plyts), t_measured = t_measured, H_model = cc.H, H_measured = H_measured, R_model = cc.rbot, R_best_fit = R_best_fit, number_of_sets = self.number_of_sets, semi_angle = cc.alphadeg, stretch_H = self.stretch_H, scaling_factor = self.scaling_factor, num_closest_points = self.ncp, power_parameter = self.power_parameter, num_sec_z = self.num_sec_z, elems_t = self.elems_t, t_set = self.t_set, use_theta_z_format = self.use_theta_z_format) from desicos.abaqus.abaqus_functions import set_colors_ti set_colors_ti(cc) self.created = True print '%s amplitude = %f' % (self.name, self.calc_amplitude()) ffi = self.impconf.ffi if ffi is not None and ffi.created: # There is already a FFI, let it know about us ffi.update_after_tis() return self.elems_t, self.t_set