model.set_constr('fix', ['P4', 'P7'], 'x')

# set part material
mat = pyc.Material('steel')
mat.set_mech_props(7800, 210 * (10**9), 0.3)
model.set_matl(mat, part)

# set the element type and mesh database
model.set_eshape(eshape, 2)
model.set_etype('plstress', part, 0.1)
model.mesh(1.0, 'gmsh')  # mesh 1.0 fineness, smaller is finer
model.plot_elements(proj_name + '_elem', display=show_gui)
model.plot_pressures(proj_name + '_press', display=show_gui)
model.plot_constraints(proj_name + '_constr', display=show_gui)

# make and solve the model
prob = pyc.Problem(model, 'struct')
prob.solve()

# view and query results
sx = prob.rfile.get_nmax('Sx')
print('Sx_max: %f' % sx)

# Plot results
# store the fields to plot
fields = 'Sx,Sy,S1,S2,S3,Seqv,ux,uy,utot,ex'
fields = fields.split(',')
for field in fields:
    fname = proj_name + '_' + field
    prob.rfile.nplot(field, fname, display=False)
Exemple #2
0
 def example_load_results(self, file_name):
     proj_name = os.path.join('examples', file_name)
     model = pyc.FeaModel(proj_name)
     prob = pyc.Problem(model, 'struct')
     prob.rfile.load()