本文整理汇总了Python中PerceptMesh.get_number_elements方法的典型用法代码示例。如果您正苦于以下问题:Python PerceptMesh.get_number_elements方法的具体用法?Python PerceptMesh.get_number_elements怎么用?Python PerceptMesh.get_number_elements使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PerceptMesh
的用法示例。
在下文中一共展示了PerceptMesh.get_number_elements方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_high_level_interface
# 需要导入模块: import PerceptMesh [as 别名]
# 或者: from PerceptMesh import get_number_elements [as 别名]
def test_high_level_interface(self):
self.fixture_setup()
p_size = parallel_machine_size(self.pm)
if p_size <= 2:
eMesh = PerceptMesh(2)
eMesh.open("./exodus_files/quad_fixture.e")
vectorDimension = 0
eMesh.add_field("coords_mag_field", FEMMetaData.NODE_RANK, vectorDimension)
eMesh.commit()
f_coords = eMesh.get_field("coordinates")
coords_mag_field = eMesh.get_field("coords_mag_field")
ff_coords = FieldFunction("ff_coords", f_coords, eMesh, 2, 2)
#eval_vec3_print(0.1,0.1,0.1,0.0,ff_coords)
coords_mag_sf = StringFunction("sqrt(x*x + y*y )" , "coords_mag_sf", 2, 1)
x = 0.123
y = 0.234
vv = sqrt(x*x + y*y )
v1 = eval_func2(x,y,0,coords_mag_sf)
print "vv = ", vv, "== v1 = ", v1
self.assertEqual(vv, v1)
coords_mag_field_function = FieldFunction("coords_mag_field_function", coords_mag_field, eMesh, 2, 1)
coords_mag_field_function.interpolateFrom(coords_mag_sf)
eMesh.save_as("./exodus_files/quad_fixture_with_coords_mag.e")
ff_coords.add_alias("mc")
sfcm = StringFunction("sqrt(mc[0]*mc[0]+mc[1]*mc[1]+mc[2]*mc[2])", "sfcm", 3, 1)
add_newlines = True
eMesh.print_info("quad fixture", 2, add_newlines)
self.assertTrue(eMesh.get_spatial_dim() == 2)
self.assertTrue(eMesh.get_number_elements() == 12*12)
self.assertTrue(eMesh.get_number_nodes() == 13*13)
self.assertTrue(eMesh.get_parallel_size() == p_size)
self.assertTrue(eMesh.get_bulk_data() != 0)
self.assertTrue(eMesh.get_fem_meta_data() != 0)
# // entity data setter/getters
node = eMesh.get_node(1)
self.assertTrue(node != 0)
cm1 = eMesh.get_field_data(coords_mag_field, node)
co1 = [0,0]
co1[0] = eMesh.get_field_data(f_coords, node, 0)
co1[1] = eMesh.get_field_data(f_coords, node, 1)
print "cm1= ", cm1, " co1= ", co1
eMesh.set_field_data(123.0, f_coords, node, 0)
co1[0] = eMesh.get_field_data(f_coords, node, 0)
print " co1= ", co1
element = eMesh.get_element(1)
self.assertTrue(element != 0)
element1 = eMesh.get_entity(eMesh.element_rank(), 1)
self.assertTrue(element == element1)
#/// find node closest to given point
node = eMesh.get_node(0,0)
self.assertTrue(node != 0)
#/// find element that contains given point
element = eMesh.get_element(0.01, 0.01)
self.assertTrue(element != 0)
示例2: LInfNorm
# 需要导入模块: import PerceptMesh [as 别名]
# 或者: from PerceptMesh import get_number_elements [as 别名]
# DEBUG
print numSteps, pMesh.get_current_database_step(), pMesh.get_current_database_time()
cubDegree = 2
lInfNorm = LInfNorm(bulkData)
lInfNorm.setCubDegree(cubDegree)
l2Norm = L2Norm(bulkData)
l2Norm.setCubDegree(cubDegree)
errors[i*2]=l2Norm.evaluate(sf_Terr)
errors[i*2+1]=lInfNorm.evaluate(sf_Terr)
if dofs_are_elems:
dofs[i] = float(pMesh.get_number_elements())
else:
dofs[i] = float(pMesh.get_number_nodes())
print numSteps, dofs[i], errors[i*2], errors[i*2+1]
for i in range(0,num_meshes-1):
mesh_ratio=pow(dofs[i]/dofs[i+1],-1.0/spatial_dim)
for n in range(0,2):
rates[i*2+n]=log(errors[i*2+n]/errors[(i+1)*2+n])/log(mesh_ratio)
print rates[i*2+n], rates[i*2+n]-expected_rates[n], tolerances[n]
# OUTPUT:
# pass: if rates are within tolerance of expected rates
# fail: otherwise