本文整理汇总了Python中pyNastran.f06.f06_formatting.writeFloats13E函数的典型用法代码示例。如果您正苦于以下问题:Python writeFloats13E函数的具体用法?Python writeFloats13E怎么用?Python writeFloats13E使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了writeFloats13E函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: _write_f06_springs_transient
def _write_f06_springs_transient(f, stress, header, words, name):
for dt, datai in sorted(iteritems(data)):
header[1] = ' %s = %10.4E\n' % (name, dt)
msg += header + words
f.write(''.join(msg))
eids = []
stresses = []
for eid, stress in sorted(iteritems(datai)):
eids.append(eid)
stresses.append(stress)
if len(stresses) == 4:
stresses, is_all_zeros = writeFloats13E(stresses)
f.write(' %10i %13s %10i %13s %10i %13s %10i %13s\n' % (
eids[0], stresses[0],
eids[1], stresses[1],
eids[2], stresses[2],
eids[3], stresses[3]))
eids = []
stresses = []
if stresses:
line = ' '
stresses, is_all_zeros = writeFloats13E(stresses)
for eid, stress in zip(eids, stresses):
line += '%10i %13s ' % (eid, stress)
f.write(line.rstrip() + '\n')
msg.append(page_stamp % page_num)
f.write(''.join(msg))
msg = ['']
page_num += 1
return page_num - 1
开发者ID:ClaesFredo,项目名称:pyNastran,代码行数:34,代码来源:oes_springs.py
示例2: _write_f06_quad4_bilinear_transient
def _write_f06_quad4_bilinear_transient(self, f, itime, n, is_magnitude_phase, cen):
"""
CQUAD4 bilinear
CQUAD8
CTRIAR
CTRIA6
"""
fds = self.fiberCurvature[:, 0]
oxx = self.data[itime, :, 0]
oyy = self.data[itime, :, 1]
txy = self.data[itime, :, 2]
eids = self.element_node[:, 0]
nodes = self.element_node[:, 1]
ilayer0 = True
for eid, node, fd, doxx, doyy, dtxy in zip(eids, nodes, fds, oxx, oyy, txy):
vals, is_all_zeros = writeFloats13E([fd])
fdr = vals[0]
([oxxr, oyyr, txyr,
oxxi, oyyi, txyi,], is_all_zeros) = writeImagFloats13E([doxx, doyy, dtxy], is_magnitude_phase)
if node == 0 and ilayer0:
f.write('0 %8i %8s %-13s %-13s / %-13s %-13s / %-13s %-13s / %s\n' % (eid, cen, fdr, oxxr, oxxi, oyyr, oyyi, txyr, txyi))
elif ilayer0: # TODO: assuming 2 layers?
f.write(' %8s %8i %-13s %-13s / %-13s %-13s / %-13s %-13s / %s\n' % ('', node, fdr, oxxr, oxxi, oyyr, oyyi, txyr, txyi))
else:
f.write(' %8s %8s %-13s %-13s / %-13s %-13s / %-13s %-13s / %s\n\n' % ('', '', fdr, oxxr, oxxi, oyyr, oyyi, txyr, txyi))
ilayer0 = not ilayer0
开发者ID:ClaesFredo,项目名称:pyNastran,代码行数:29,代码来源:oes_plates.py
示例3: write_f06
def write_f06(self, header, page_stamp, page_num=1, f=None, is_mag_phase=False):
assert f is not None
if self.nonlinear_factor is not None:
return self._write_f06_transient(header, page_stamp, page_num, f, is_mag_phase)
msg = header + [' F O R C E S O F M U L T I - P O I N T C O N S T R A I N T\n',
' \n',
' POINT ID. TYPE T1 T2 T3 R1 R2 R3\n']
raise RuntimeError('is this valid...')
for nodeID, translation in sorted(iteritems(self.translations)):
rotation = self.rotations[nodeID]
grid_type = self.gridTypes[nodeID]
(dx, dy, dz) = translation
#dxr=dx.real; dyr=dy.real; dzr=dz.real;
#dxi=dx.imag; dyi=dy.imag; dzi=dz.imag
(rx, ry, rz) = rotation
#rxr=rx.real; ryr=ry.real; rzr=rz.real
#rxi=rx.imag; ryi=ry.imag; rzi=rz.imag
#vals = [dxr,dyr,dzr,rxr,ryr,rzr,dxi,dyi,dzi,rxi,ryi,rzi]
vals = list(translation) + list(rotation)
(vals2, is_all_zeros) = writeFloats13E(vals)
#if not is_all_zeros:
[dx, dy, dz, rx, ry, rz] = vals2
msg.append('%14i %6s %-13s %-13s %-13s %-13s %-13s %s\n' % (nodeID, grid_type, dx, dy, dz, rx, ry, rz))
msg.append(page_stamp % page_num)
f.write(''.join(msg))
return page_num
开发者ID:ClaesFredo,项目名称:pyNastran,代码行数:29,代码来源:oqg_mpcForces.py
示例4: _write_f06_transient
def _write_f06_transient(self, header, pageStamp, pageNum=1, f=None, is_mag_phase=False):
msg = []
words = [' L O A D V E C T O R\n',
' \n',
' POINT ID. TYPE T1 T2 T3 R1 R2 R3\n']
for dt, translations in sorted(self.translations.items()):
header[1] = ' %s = %10.4E\n' % (self.data_code['name'], dt)
msg += header + words
for nodeID, translation in sorted(translations.items()):
rotation = self.rotations[dt][nodeID]
gridType = self.gridTypes[nodeID]
(dx, dy, dz) = translation
(rx, ry, rz) = rotation
vals = [dx, dy, dz, rx, ry, rz]
(vals2, isAllZeros) = writeFloats13E(vals)
if not isAllZeros:
[dx, dy, dz, rx, ry, rz] = vals2
msg.append('%14i %6s %13s %13s %13s %13s %13s %-s\n' % (nodeID, gridType, dx, dy, dz, rx, ry, rz.rstrip()))
msg.append(pageStamp + str(pageNum) + '\n')
if f is not None:
f.write(''.join(msg))
msg = ['']
pageNum += 1
return (''.join(msg), pageNum - 1)
开发者ID:anick107,项目名称:von_mises_rms,代码行数:28,代码来源:opg_loadVector.py
示例5: _write_f06_transient_block
def _write_f06_transient_block(self, words, header, pageStamp, page_num=1, f=None):
msg = []
#assert f is not None # remove
for dt, translations in sorted(self.translations.iteritems()):
if isinstance(dt, float): # fix
#header[1] = ' %s = %10.4E float %s\n' % (self.data_code['name'], dt, self.analysis_code)
header[1] = ' %s = %10.4E\n' % (self.data_code['name'], dt)
else:
#header[1] = ' %s = %10i integer %s\n' % (self.data_code['name'], dt, self.analysis_code)
header[1] = ' %s = %10i\n' % (self.data_code['name'], dt)
msg += header + words
for nodeID, translation in sorted(translations.iteritems()):
rotation = self.rotations[dt][nodeID]
grid_type = self.gridTypes[nodeID]
(dx, dy, dz) = translation
(rx, ry, rz) = rotation
vals = [dx, dy, dz, rx, ry, rz]
(vals2, is_all_zeros) = writeFloats13E(vals)
#if not is_all_zeros:
[dx, dy, dz, rx, ry, rz] = vals2
msg.append('%14i %6s %-13s %-13s %-13s %-13s %-13s %s\n' % (nodeID, grid_type, dx, dy, dz, rx, ry, rz))
msg.append(pageStamp % page_num)
f.write(''.join(msg))
msg = ['']
page_num += 1
return page_num - 1
开发者ID:sukhbinder,项目名称:cyNastran,代码行数:28,代码来源:tableObject.py
示例6: _write_f06_transient
def _write_f06_transient(self, header, pageStamp, page_num=1, f=None, is_mag_phase=False):
msg = []
words = [' N O N - L I N E A R - F O R C E V E C T O R\n'
' \n',
' POINT ID. TYPE T1 T2 T3 R1 R2 R3\n']
for dt, translations in sorted(self.translations.iteritems()):
header[1] = ' %s = %10.4E\n' % (self.data_code['name'], dt)
msg += header + words
for nodeID, translation in sorted(translations.iteritems()):
rotation = self.rotations[dt][nodeID]
grid_type = self.gridTypes[nodeID]
(dx, dy, dz) = translation
(rx, ry, rz) = rotation
vals = [dx, dy, dz, rx, ry, rz]
(vals2, is_all_zeros) = writeFloats13E(vals)
if not is_all_zeros:
[dx, dy, dz, rx, ry, rz] = vals2
msg.append('%14i %6s %-13s %-13s %-13s %-13s %-13s %s\n' % (nodeID, grid_type, dx, dy, dz, rx, ry, rz))
msg.append(pageStamp % page_num)
f.write(''.join(msg))
msg = ['']
page_num += 1
return page_num - 1
开发者ID:sukhbinder,项目名称:cyNastran,代码行数:27,代码来源:opnl_forceVector.py
示例7: _write_f06_transient
def _write_f06_transient(self, header, pageStamp,
page_num=1, f=None, is_mag_phase=False):
words = [' S T R E S S E S I N T R I A X 6 E L E M E N T S\n',
' ELEMENT GRID ID STRESSES IN MATERIAL COORD SYSTEM MAX MAG MAX VON MISES \n',
' ID RADIAL AZIMUTHAL AXIAL SHEAR PRINCIPAL SHEAR\n', ]
#' 5351 0 -9.726205E+02 -1.678908E+03 -1.452340E+03 -1.325111E+02 -1.678908E+03 3.702285E+02 6.654553E+02
#' 4389 -9.867789E+02 -1.624276E+03 -1.388424E+03 -9.212539E+01 -1.624276E+03 3.288099E+02 5.806334E+02
msg = []
for dt, Radial in sorted(self.radial.iteritems()):
header[1] = ' %s = %10.4E\n' % (self.data_code['name'], dt)
msg += header + words
for eid, radial in sorted(Radial.iteritems()):
for nid in sorted(radial):
rad = self.radial[dt][eid][nid]
azimuth = self.azimuthal[dt][eid][nid]
axial = self.axial[dt][eid][nid]
shear = self.shear[dt][eid][nid]
omax = self.omax[dt][eid][nid]
oms = self.oms[dt][eid][nid]
ovm = self.ovm[dt][eid][nid]
if nid == 0:
Eid = eid
else:
Eid = ''
([rad, azimuth, axial, shear, omax, oms, ovm], is_all_zeros) = writeFloats13E([rad, azimuth, axial, shear, omax, oms, ovm])
msg.append(' %8s %8s %s %s %s %s %s %s %-s\n' % (Eid, nid, rad, azimuth, axial, shear, omax, oms, ovm.rstrip()))
msg.append('\n')
msg.append(pageStamp % page_num)
f.write(''.join(msg))
msg = ['']
page_num += 1
return page_num - 1
开发者ID:sukhbinder,项目名称:cyNastran,代码行数:34,代码来源:oes_triax.py
示例8: write_f06
def write_f06(self, header, pageStamp, page_num=1, f=None, is_mag_phase=False):
"""
::
EIGENVALUE = 6.158494E+07
R E A L E I G E N V E C T O R N O . 1
POINT ID. TYPE T1 T2 T3 R1 R2 R3
1 G 2.547245E-17 -6.388945E-16 2.292728E+00 -1.076928E-15 2.579163E-17 0.0
2002 G -6.382321E-17 -1.556607E-15 3.242408E+00 -6.530917E-16 1.747180E-17 0.0
2003 G 0.0 0.0 0.0 0.0 0.0 0.0
"""
msg = []
#print self.data_code
for i, (iMode, eigVals) in enumerate(sorted(iteritems(self.translations))):
msg += header
freq = self.eigrs[i]
msg.append('%16s = %12E\n' % ('EIGENVALUE', freq))
msg.append(' R E A L E I G E N V E C T O R N O . %10i\n \n' % (iMode))
msg.append(' POINT ID. TYPE T1 T2 T3 R1 R2 R3\n')
for nodeID, translation in sorted(iteritems(eigVals)):
rotation = self.rotations[iMode][nodeID]
grid_type = self.gridTypes[nodeID]
(dx, dy, dz) = translation
(rx, ry, rz) = rotation
vals = [dx, dy, dz, rx, ry, rz]
(vals2, is_all_zeros) = writeFloats13E(vals)
[dx, dy, dz, rx, ry, rz] = vals2
msg.append('%14i %6s %-13s %-13s %-13s %-13s %-13s %s\n' % (nodeID, grid_type, dx, dy, dz, rx, ry, rz))
msg.append(pageStamp % page_num)
f.write(''.join(msg))
msg = ['']
page_num += 1
return page_num - 1
开发者ID:umvarma,项目名称:pynastran,代码行数:35,代码来源:oug_eigenvectors.py
示例9: write_f06
def write_f06(self, header, page_stamp, page_num=1, f=None, is_mag_phase=False):
words = [' APPLIED LOADS VECTOR\n',
'\n',
' EID SOURCE FX FY FZ MX MY MZ\n']
ntimes, ntotal, size = self.data.shape
for itime, dt in enumerate(self._times):
if self.nonlinear_factor is not None:
if isinstance(dt, float):
header[1] = ' %s = %10.4E\n' % (self.data_code['name'], dt)
else:
header[1] = ' %s = %10i\n' % (self.data_code['name'], dt)
f.write(''.join(header + words))
f1 = self.data[itime, :, 0]
f2 = self.data[itime, :, 1]
f3 = self.data[itime, :, 2]
m1 = self.data[itime, :, 3]
m2 = self.data[itime, :, 4]
m3 = self.data[itime, :, 5]
for f1i, f2i, f3i, m1i, m2i, m3i in zip(f1, f2, f3, m1, m2, m3):
vals = [f1i, f2i, f3i, m1i, m2i, m3i]
(vals2, is_all_zeros) = writeFloats13E(vals)
(dx, dy, dz, rx, ry, rz) = vals2
f.write('%14i %6s %-13s %-13s %-13s %-13s %-13s %s\n' % (
node_id, eid, source, dx, dy, dz, rx, ry, rz))
f.write(page_stamp % page_num)
page_num += 1
return page_num-1
开发者ID:ClaesFredo,项目名称:pyNastran,代码行数:28,代码来源:opg_Objects.py
示例10: write_f06
def write_f06(self, header, page_stamp, page_num=1, f=None, is_mag_phase=False, is_sort1=True):
if self.nonlinear_factor is not None:
return self._write_f06_transient(header, page_stamp, page_num, f, is_sort1=is_sort1)
msg = header + [
' S T R A I N S I N B A R E L E M E N T S ( C B A R )\n',
' ELEMENT SA1 SA2 SA3 SA4 AXIAL SA-MAX SA-MIN M.S.-T\n',
' ID. SB1 SB2 SB3 SB4 STRAIN SB-MAX SB-MIN M.S.-C\n',
]
for eid, E1s in sorted(iteritems(self.e1)):
#eType = self.eType[eid]
axial = self.axial[eid]
#MSt = self.MSt[eid]
#MSc = self.MSc[eid]
MSt = ''
MSc = ''
e1 = self.e1[eid]
e2 = self.e2[eid]
e3 = self.e3[eid]
e4 = self.e4[eid]
emax = self.emax[eid]
emin = self.emin[eid]
vals = [e1[0], e2[0], e3[0], e4[0], axial, emax[0], emin[0],
e1[1], e2[1], e3[1], e4[1], emax[1], emin[1]]
(vals2, is_all_zeros) = writeFloats13E(vals)
[e10, e20, e30, e40, axial, emax0, emin0,
e11, e21, e31, e41, emax1, emin1] = vals2
msg.append('0%8i %-13s %-13s %-13s %-13s %-13s %-13s %-13s %s\n' % (eid, e10, e20, e30, e40, axial, emax0, emin0, MSt))
msg.append(' %8s %-13s %-13s %-13s %-13s %-13s %-13s %-13s %s\n' % ('', e11, e21, e31, e41, '', emax1, emin1, MSc))
msg.append(page_stamp % page_num)
f.write(''.join(msg))
return page_num
开发者ID:HibernantBear,项目名称:pyNastran,代码行数:35,代码来源:oes_bars.py
示例11: write_f06
def write_f06(self, header, pageStamp, pageNum=1, f=None, is_mag_phase=False):
if self.dt is not None:
return self._write_f06_transient(header, pageStamp, pageNum, f)
msg = header + [' S T R A I N S I N R O D E L E M E N T S ( C R O D )\n',
' ELEMENT AXIAL SAFETY TORSIONAL SAFETY ELEMENT AXIAL SAFETY TORSIONAL SAFETY\n',
' ID. STRAIN MARGIN STRAIN MARGIN ID. STRAIN MARGIN STRAIN MARGIN\n']
out = []
for eid in sorted(self.axial):
axial = self.axial[eid]
MSa = self.MS_axial[eid]
torsion = self.torsion[eid]
MSt = self.MS_torsion[eid]
(vals2, isAllZeros) = writeFloats13E([axial, torsion])
(axial, torsion) = vals2
out.append([eid, axial, MSa, torsion, MSt])
nOut = len(out)
nWrite = nOut
if nOut % 2 == 1:
nWrite = nOut - 1
for i in range(0, nWrite, 2):
outLine = ' %8i %13s %10.4E %13s %10.4E %8i %13s %10.4E %13s %10.4E\n' % (tuple(out[i] + out[i + 1]))
msg.append(outLine)
if nOut % 2 == 1:
outLine = ' %8i %13s %10.4E %13s %10.4E\n' % (
tuple(out[-1]))
msg.append(outLine)
msg.append(pageStamp + str(pageNum) + '\n')
if f is not None:
f.write(''.join(msg))
msg = ['']
return(''.join(msg), pageNum)
开发者ID:anick107,项目名称:von_mises_rms,代码行数:34,代码来源:oes_rods.py
示例12: write_f06
def write_f06(self, header, page_stamp, page_num=1, f=None, is_mag_phase=False, is_sort1=True):
msg = self._get_msgs()
(ntimes, ntotal) = self.data.shape[:2]
eids = self.elements
for itime in range(ntimes):
dt = self._times[itime]
header = _eigenvalue_header(self, header, itime, ntimes, dt)
f.write(''.join(header + msg))
#[tx, ty, tz, rx, ry, rz]
tx = self.data[itime, :, 0]
ty = self.data[itime, :, 1]
tz = self.data[itime, :, 2]
rx = self.data[itime, :, 3]
ry = self.data[itime, :, 4]
rz = self.data[itime, :, 5]
# loop over all the elements
for (i, eid, txi, tyi, tzi, rxi, ryi, rzi) in zip(
count(), eids, tx, ty, tz, rx, ry, rz):
vals = [txi, tyi, tzi, rxi, ryi, rzi]
(vals2, is_all_zeros) = writeFloats13E(vals)
[txi, tyi, tzi, rxi, ryi, rzi] = vals2
msg.append('0 %8i %-13s %-13s %-13s %-13s %-13s %s\n' % (
eid, txi, tyi, tzi, rxi, ryi, rzi))
f.write(page_stamp % page_num)
page_num += 1
if self.nonlinear_factor is None:
page_num -= 1
return page_num
开发者ID:HibernantBear,项目名称:pyNastran,代码行数:32,代码来源:oes_bush.py
示例13: _write_f06_transient
def _write_f06_transient(self, header, pageStamp, page_num=1, f=None, is_mag_phase=False):
words = [' C O M P L E X F O R C E S I N S C A L A R S P R I N G S ( C E L A S 4 )\n',
' (REAL/IMAGINARY)\n',
' \n',
' ELEMENT ELEMENT\n',
' ID. FORCE ID. FORCE\n']
msg = []
for dt, Force in sorted(self.force.items()):
header[1] = ' %s = %10.4E\n' % (self.data_code['name'], dt)
msg += header + words
#packs = []
forces = []
elements = []
line = ''
for eid, force in sorted(Force.items()):
elements.append(eid)
forces.append(force)
#pack.append(eid)
#pack.append(f)
([forceReal, forceImag], is_all_zeros) = writeFloats13E([force.real, force.imag])
line += ' %13s %-13s / %-13s' % (eid, forceReal, forceImag)
if len(forces) == 2:
msg.append(line.rstrip() + '\n')
line = ''
forces = []
if forces:
msg.append(line.rstrip() + '\n')
msg.append(pageStamp % page_num)
f.write(''.join(msg))
msg = ['']
page_num += 1
return page_num - 1
开发者ID:sukhbinder,项目名称:cyNastran,代码行数:34,代码来源:oef_complexForceObjects.py
示例14: _write_f06_transient
def _write_f06_transient(self, header, page_stamp, page_num=1, f=None, is_mag_phase=False, is_sort1=True):
#raise NotImplementedError('CBUSH1D')
words = [
# ELEMENT-ID = 7001
' S T R E S S E S ( F O R C E S ) I N B U S H 1 D E L E M E N T S ( C B U S H 1 D )',
' \n',
' AXIAL AXIAL AXIAL AXIAL AXIAL PLASTIC\n',
' TIME FORCE DISPLACEMENT VELOCITY STRESS STRAIN STRAIN STATUS\n',
]
msg = []
for dt, ElementForce in sorted(iteritems(self.element_force)):
header[1] = ' %s = %10.4E\n' % (self.data_code['name'], dt)
msg += header + words
for eid, element_force in sorted(iteritems(ElementForce)):
#eType = self.eType[eid]
#element_force = self.element_force[dt][eid]
axial_displacement = self.axial_displacement[dt][eid]
axial_velocity = self.axial_velocity[dt][eid]
axial_stress = self.axial_stress[dt][eid]
axial_strain = self.axial_strain[dt][eid]
plastic_strain = self.plastic_strain[dt][eid]
is_failed = self.is_failed[dt][eid]
vals = [element_force, axial_displacement, axial_velocity, axial_stress, axial_strain, plastic_strain, is_failed]
(vals2, is_all_zeros) = writeFloats13E(vals)
[element_force, axial_displacement, axial_velocity, axial_stress, axial_strain, plastic_strain, is_failed] = vals2
msg.append(' %-13s %-13s %-13s %-13s %-13s %-13s %-13s %s\n' % (eid,
element_force, axial_displacement, axial_velocity, axial_stress, axial_strain, plastic_strain, is_failed))
msg.append(page_stamp % page_num)
f.write(''.join(msg))
msg = ['']
page_num += 1
return page_num - 1
开发者ID:HibernantBear,项目名称:pyNastran,代码行数:34,代码来源:oes_bush1d.py
示例15: write_f06
def write_f06(self, header, page_stamp, page_num=1, f=None, is_mag_phase=False, is_sort1=True):
msg = self._get_msgs()
(ntimes, ntotal) = self.data.shape[:2]
eids = self.elements
for itime in range(ntimes):
dt = self._times[itime]
header = _eigenvalue_header(self, header, itime, ntimes, dt)
f.write(''.join(header + msg))
#[element_force, axial_displacement, axial_velocity, axial_stress, axial_strain, plastic_strain, is_failed]
element_force = self.data[itime, :, 0]
axial_displacement = self.data[itime, :, 1]
axial_velocity = self.data[itime, :, 2]
axial_stress = self.data[itime, :, 3]
axial_strain = self.data[itime, :, 4]
plastic_strain = self.data[itime, :, 5]
is_failed = self.data[itime, :, 6]
# loop over all the elements
for (i, eid, element_forcei, axial_displacementi, axial_velocityi, axial_stressi, axial_straini, plastic_straini, is_failedi) in zip(
count(), eids, element_force, axial_displacement, axial_velocity, axial_stress, axial_strain, plastic_strain, is_failed):
vals = [element_forcei, axial_displacementi, axial_velocityi, axial_stressi, axial_straini, plastic_straini, is_failedi]
(vals2, is_all_zeros) = writeFloats13E(vals)
[element_forcei, axial_displacementi, axial_velocityi, axial_stressi, axial_straini, plastic_straini, is_failedi] = vals2
f.write('0%8i %-13s %-13s %-13s %-13s %-13s %-13s %s\n'
% (eid, element_forcei, axial_displacementi, axial_velocityi, axial_stressi, axial_straini, plastic_straini, is_failedi))
f.write(page_stamp % page_num)
page_num += 1
if self.nonlinear_factor is None:
page_num -= 1
return page_num
开发者ID:HibernantBear,项目名称:pyNastran,代码行数:32,代码来源:oes_bush1d.py
示例16: _write_f06_transient
def _write_f06_transient(self, header, pageStamp, page_num=1, f=None, is_mag_phase=False):
words = [
' S T R A I N S I N B A R E L E M E N T S ( C B A R )\n',
' ELEMENT SA1 SA2 SA3 SA4 AXIAL SA-MAX SA-MIN M.S.-T\n',
' ID. SB1 SB2 SB3 SB4 STRAIN SB-MAX SB-MIN M.S.-C\n',
]
msg = []
for dt, E1s in sorted(self.e1.iteritems()):
header[1] = ' %s = %10.4E\n' % (self.data_code['name'], dt)
msg += header + words
for eid, e1s in sorted(E1s.iteritems()):
eType = self.eType[eid]
axial = self.axial[eid]
e1 = self.e1[eid]
e2 = self.e2[eid]
e3 = self.e3[eid]
e4 = self.e4[eid]
vals = [e1[0], e2[0], e3[0], e4[0], axial,
e1[1], e2[1], e3[1], e4[1]]
(vals2, is_all_zeros) = writeFloats13E(vals)
[e10, e20, e30, e40,
e11, e21, e31, e41] = vals2
msg.append('0%8i %-13s %-13s %-13s %-13s %-13s %-13s %-13s %s\n' % (eid, e10, e20, e30, e40, axial))
msg.append(' %8s %-13s %-13s %-13s %-13s %-13s %-13s %-13s %s\n' % ('', e11, e21, e31, e41))
msg.append(pageStamp % page_num)
f.write(''.join(msg))
msg = ['']
page_num += 1
return page_num - 1
开发者ID:sukhbinder,项目名称:cyNastran,代码行数:31,代码来源:oes_bars.py
示例17: _write_f06_transient
def _write_f06_transient(self, header, pageStamp, pageNum=1, f=None):
msg = header + [' G R I D P O I N T F O R C E B A L A N C E\n',
' \n',
' POINT-ID ELEMENT-ID SOURCE T1 T2 T3 R1 R2 R3\n', ]
#'0 13683 3736 TRIAX6 4.996584E+00 0.0 1.203093E+02 0.0 0.0 0.0'
#' 13683 3737 TRIAX6 -4.996584E+00 0.0 -1.203093E+02 0.0 0.0 0.0'
#' 13683 *TOTALS* 6.366463E-12 0.0 -1.364242E-12 0.0 0.0 0.0'
for dt, Forces in sorted(self.forces.items()):
zero = ' '
for eKey, Force in sorted(Forces.items()):
for iLoad, force in enumerate(Force):
(f1, f2, f3) = force
(m1, m2, m3) = self.moments[dt][eKey][iLoad]
(elemName) = self.elemName[eKey][iLoad]
eid = self.eids[eKey][iLoad]
vals = [f1, f2, f3, m1, m2, m3]
(vals2, isAllZeros) = writeFloats13E(vals)
[f1, f2, f3, m1, m2, m3] = vals2
if eid == 0:
eid = ''
msg.append('%s %8s %10s %8s %s %s %s %s %s %-s\n' % (zero, eKey, eid, elemName, f1, f2, f3, m1, m2, m3))
zero = ' '
zero = '0'
msg.append(pageStamp + str(pageNum) + '\n')
if f is not None:
f.write(''.join(msg))
msg = ['']
pageNum += 1
return (''.join(msg), pageNum - 1)
开发者ID:anick107,项目名称:von_mises_rms,代码行数:32,代码来源:ogf_Objects.py
示例18: write_f06
def write_f06(self, header, page_stamp, page_num=1, f=None, is_mag_phase=False, is_sort1=True):
msg = self._get_msgs()
(ntimes, ntotal) = self.data.shape[:2]
eids = self.element_node[:, 0]
nids = self.element_node[:, 1]
for itime in range(ntimes):
dt = self._times[itime]
header = _eigenvalue_header(self, header, itime, ntimes, dt)
f.write(''.join(header + msg))
#[radial, azimuthal, axial, shear, omax, oms, ovm]
radial = self.data[itime, :, 0]
azimuthal = self.data[itime, :, 1]
axial = self.data[itime, :, 2]
shear = self.data[itime, :, 3]
omax = self.data[itime, :, 4]
oms = self.data[itime, :, 5]
ovm = self.data[itime, :, 6]
# loop over all the elements
for (i, eid, nid, radiali, azimuthali, axiali, sheari, omaxi, omsi, ovmi) in zip(
count(), eids, nids, radial, azimuthal, axial, shear, omax, oms, ovm):
vals = [radiali, azimuthali, axiali, sheari, omaxi, omsi, ovmi]
(vals2, is_all_zeros) = writeFloats13E(vals)
[radiali, azimuthali, axiali, sheari, omaxi, omsi, ovmi] = vals2
f.write('0%8i %-13s %-13s %-13s %-13s %-13s %-13s %-13s %s\n'
% (eid, nid, radiali, azimuthali, axiali, sheari, omaxi, omsi, ovmi))
f.write(page_stamp % page_num)
page_num += 1
if self.nonlinear_factor is None:
page_num -= 1
return page_num
开发者ID:HibernantBear,项目名称:pyNastran,代码行数:34,代码来源:oes_triax.py
示例19: write_f06
def write_f06(self, header, page_stamp, page_num=1, f=None, is_mag_phase=False, is_sort1=True):
if self.nonlinear_factor is not None:
return self._write_f06_transient(
header, page_stamp, page_num, f, is_mag_phase=is_mag_phase, is_sort1=is_sort1
)
msg = header + [
" S T R E S S E S I N B E A M E L E M E N T S ( C B E A M )\n",
" STAT DIST/\n",
" ELEMENT-ID GRID LENGTH SXC SXD SXE SXF S-MAX S-MIN M.S.-T M.S.-C\n",
]
for eid in sorted(self.smax):
msg.append("0 %8i\n" % (eid))
for i, nid in enumerate(self.grids[eid]):
xxb = self.xxb[eid][i]
sxc = self.sxc[eid][i]
sxd = self.sxd[eid][i]
sxe = self.sxe[eid][i]
sxf = self.sxf[eid][i]
sMax = self.smax[eid][i]
sMin = self.smin[eid][i]
SMt = self.MS_tension[eid][i]
SMc = self.MS_compression[eid][i]
(vals2, is_all_zeros) = writeFloats13E([sxc, sxd, sxe, sxf, sMax, sMin, SMt, SMc])
(sxc, sxd, sxe, sxf, sMax, sMin, SMt, SMc) = vals2
msg.append(
"%19s %4.3f %12s %12s %12s %12s %12s %12s %12s %s\n"
% (nid, xxb, sxc, sxd, sxe, sxf, sMax, sMin, SMt, SMc.strip())
)
msg.append(page_stamp % page_num)
f.write("".join(msg))
return page_num
开发者ID:HibernantBear,项目名称:pyNastran,代码行数:34,代码来源:oes_beams.py
示例20: _write_f06_transient
def _write_f06_transient(self, header, pageStamp, page_num=1, f=None, is_mag_phase=False):
words = [' S T R E S S E S I N R O D E L E M E N T S ( C R O D )\n',
' ELEMENT AXIAL SAFETY TORSIONAL SAFETY ELEMENT AXIAL SAFETY TORSIONAL SAFETY\n',
' ID. STRESS MARGIN STRESS MARGIN ID. STRESS MARGIN STRESS MARGIN\n']
msg = []
for dt, axials in sorted(self.axial.iteritems()):
dtLine = '%14s = %12.5E\n' % (self.data_code['name'], dt)
header[2] = dtLine
msg += header + words
out = []
for eid in sorted(axials):
axial = self.axial[dt][eid]
MSa = self.MS_axial[dt][eid]
torsion = self.torsion[dt][eid]
MSt = self.MS_torsion[dt][eid]
(vals2, is_all_zeros) = writeFloats13E([axial, torsion])
(axial, torsion) = vals2
out.append([eid, axial, MSa, torsion, MSt])
nOut = len(out)
nWrite = nOut
if nOut % 2 == 1:
nWrite = nOut - 1
for i in xrange(0, nWrite, 2):
outLine = ' %8i %13s %10.4E %13s %10.4E %8i %13s %10.4E %13s %10.4E\n' % (tuple(out[i] + out[i + 1]))
msg.append(outLine)
if nOut % 2 == 1:
outLine = ' %8i %13s %10.4E %13s %10.4E\n' % (tuple(out[-1]))
msg.append(outLine)
msg.append(pageStamp % page_num)
f.write(''.join(msg))
page_num += 1
return page_num - 1
开发者ID:sukhbinder,项目名称:cyNastran,代码行数:35,代码来源:oes_rods.py
注:本文中的pyNastran.f06.f06_formatting.writeFloats13E函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论