你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-06 20:46:52 +08:00
Improved material properties collecting for printing table.
这个提交包含在:
@@ -149,12 +149,10 @@ def process_materials(G):
|
||||
materialsdata (list): List of material IDs, names, and properties to print a table.
|
||||
"""
|
||||
|
||||
if G.messages:
|
||||
print('\nMaterials:')
|
||||
if Material.maxpoles == 0:
|
||||
materialsdata = [['\nID', '\nName', '\nType', '\neps_r', 'sigma\n[S/m]', '\nmu_r', 'sigma*\n[Ohm/m]', 'Dielectric\nsmoothable']]
|
||||
else:
|
||||
materialsdata = [['\nID', '\nName', '\nType', '\neps_r', 'sigma\n[S/m]', 'Delta\neps_r', 'tau\n[s]', 'omega\n[Hz]', 'delta\n[Hz]', 'gamma\n[Hz]', '\nmu_r', 'sigma*\n[Ohm/m]', 'Dielectric\nsmoothable']]
|
||||
if Material.maxpoles == 0:
|
||||
materialsdata = [['\nID', '\nName', '\nType', '\neps_r', 'sigma\n[S/m]', '\nmu_r', 'sigma*\n[Ohm/m]', 'Dielectric\nsmoothable']]
|
||||
else:
|
||||
materialsdata = [['\nID', '\nName', '\nType', '\neps_r', 'sigma\n[S/m]', 'Delta\neps_r', 'tau\n[s]', 'omega\n[Hz]', 'delta\n[Hz]', 'gamma\n[Hz]', '\nmu_r', 'sigma*\n[Ohm/m]', 'Dielectric\nsmoothable']]
|
||||
|
||||
for material in G.materials:
|
||||
# Calculate update coefficients for material
|
||||
@@ -172,46 +170,38 @@ def process_materials(G):
|
||||
G.updatecoeffsdispersive[material.numID, z:z + 3] = e0 * material.eqt2[pole], material.eqt[pole], material.zt[pole]
|
||||
z += 3
|
||||
|
||||
if G.messages:
|
||||
materialtext = []
|
||||
materialtext.append(str(material.numID))
|
||||
materialtext.append(material.ID[:50] if len(material.ID) > 50 else material.ID)
|
||||
materialtext.append(material.type)
|
||||
materialtext.append('{:g}'.format(material.er))
|
||||
materialtext.append('{:g}'.format(material.se))
|
||||
if Material.maxpoles > 0:
|
||||
if 'debye' in material.type:
|
||||
materialtext.append(', '.join('{:g}'.format(deltaer) for deltaer in material.deltaer))
|
||||
materialtext.append(', '.join('{:g}'.format(tau) for tau in material.tau))
|
||||
materialtext.append('')
|
||||
materialtext.append('')
|
||||
materialtext.append('')
|
||||
elif 'lorentz' in material.type:
|
||||
materialtext.append(', '.join('{:g}'.format(deltaer) for deltaer in material.deltaer))
|
||||
materialtext.append('')
|
||||
materialtext.append(', '.join('{:g}'.format(tau) for tau in material.tau))
|
||||
materialtext.append(', '.join('{:g}'.format(alpha) for alpha in material.alpha))
|
||||
materialtext.append('')
|
||||
elif 'drude' in material.type:
|
||||
materialtext.append('')
|
||||
materialtext.append('')
|
||||
materialtext.append(', '.join('{:g}'.format(tau) for tau in material.tau))
|
||||
materialtext.append('')
|
||||
materialtext.append(', '.join('{:g}'.format(alpha) for alpha in material.alpha))
|
||||
else:
|
||||
materialtext.append('')
|
||||
materialtext.append('')
|
||||
materialtext.append('')
|
||||
materialtext.append('')
|
||||
materialtext.append('')
|
||||
# Construct information on material properties for printing table
|
||||
materialtext = []
|
||||
materialtext.append(str(material.numID))
|
||||
materialtext.append(material.ID[:50] if len(material.ID) > 50 else material.ID)
|
||||
materialtext.append(material.type)
|
||||
materialtext.append('{:g}'.format(material.er))
|
||||
materialtext.append('{:g}'.format(material.se))
|
||||
if Material.maxpoles > 0:
|
||||
if 'debye' in material.type:
|
||||
materialtext.append('\n'.join('{:g}'.format(deltaer) for deltaer in material.deltaer))
|
||||
materialtext.append('\n'.join('{:g}'.format(tau) for tau in material.tau))
|
||||
materialtext.extend(['', '', ''])
|
||||
elif 'lorentz' in material.type:
|
||||
materialtext.append(', '.join('{:g}'.format(deltaer) for deltaer in material.deltaer))
|
||||
materialtext.append('')
|
||||
materialtext.append(', '.join('{:g}'.format(tau) for tau in material.tau))
|
||||
materialtext.append(', '.join('{:g}'.format(alpha) for alpha in material.alpha))
|
||||
materialtext.append('')
|
||||
elif 'drude' in material.type:
|
||||
materialtext.extend(['', ''])
|
||||
materialtext.append(', '.join('{:g}'.format(tau) for tau in material.tau))
|
||||
materialtext.append('')
|
||||
materialtext.append(', '.join('{:g}'.format(alpha) for alpha in material.alpha))
|
||||
else:
|
||||
materialtext.extend(['', '', '', '', ''])
|
||||
|
||||
materialtext.append('{:g}'.format(material.mr))
|
||||
materialtext.append('{:g}'.format(material.sm))
|
||||
materialtext.append(material.averagable)
|
||||
materialsdata.append(materialtext)
|
||||
materialtext.append('{:g}'.format(material.mr))
|
||||
materialtext.append('{:g}'.format(material.sm))
|
||||
materialtext.append(material.averagable)
|
||||
materialsdata.append(materialtext)
|
||||
|
||||
if G.messages:
|
||||
return materialsdata
|
||||
return materialsdata
|
||||
|
||||
|
||||
class PeplinskiSoil(object):
|
||||
|
在新工单中引用
屏蔽一个用户