metaData = pMesh.get_fem_meta_data() bulkData = pMesh.get_bulk_data() nodal_field = metaData.get_field(nodal_fields[0]) ff_Tnd = FieldFunction(nodal_fields[0], nodal_field, bulkData, Dimensions(spatial_dim), Dimensions(1)) error_string = [exact_soln_name[0]+" - "+nodal_fields[0]]; error_name = [nodal_fields[0]+"_err"] sf_Terr = StringFunction(error_string[0], error_name[0], Dimensions(spatial_dim), Dimensions(1)) numSteps = pMesh.get_database_time_step_count() pMesh.read_database_at_step(numSteps) # 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= ", numSteps, " nodal_fields[0]= ", nodal_fields[0] pMesh.read_database_at_step(numSteps) p_field = pMesh.get_field(metaData.NODE_RANK, "P") node = pMesh.get_node(1) p1 = pMesh.get_field_data(p_field, node) print "p1= " , p1 p21 = eval_func2(2,1,0,ff_Tnd) p21_ex = eval_func2(2,1,0,sf_ex[0]) err = eval_func2(2,1,0,sf_Terr) print "p21 = ", p21, p21_ex, err # 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= ", numSteps, " nodal_fields[0]= ", nodal_fields[0] pMesh.read_database_at_step(numSteps) p_field = pMesh.get_field("P") node = pMesh.get_node(1) p1 = pMesh.get_field_data(p_field, node) print "p1= ", p1 p21 = eval_func2(2, 1, 0, ff_Tnd) p21_ex = eval_func2(2, 1, 0, sf_ex[0]) err = eval_func2(2, 1, 0, sf_Terr) print "p21 = ", p21, p21_ex, err # 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())