更多信息
范例
基本范例
参见
相关链接
NDSolve`FEM`
ElementMesh::femimq
范例
基本范例 (2)
This message is generated when mesh elements are specified that self-intersect, have a wrong ordering, or have no area:
Needs["NDSolve`FEM`"]ToElementMesh["Coordinates" -> {{0, 0}, {1, 0}, {0, 1}}, "MeshElements" -> {TriangleElement[{{3, 2, 1}}]}]To fix this, the correct element ordering needs to be specified:
ToElementMesh["Coordinates" -> {{0, 0}, {1, 0}, {0, 1}}, "MeshElements" -> {TriangleElement[{{1, 2, 3}}]}]This message may also be generated during interpolation:
data = {{2.62713, 145.509, 1.}, {2.62713, 155.609, 2.}, {4.50713, 154.346, 2.}, {6.38713, 153.084, 2.}};Interpolation[data, InterpolationOrder -> 1];The issue is that because of numerical inexactness, a triangle with 0 area has been generated during mesh creation:
m = ToElementMesh[data[[All, 1 ;; 2]]]Note that three triangles have been generated and one has poor quality:
m["Quality"]m["Wireframe"]Slightly perturbing the input data fixes this:
data2 = data;
data2[[All, 1 ;; 2]] += RandomReal[10 ^ -12 * {-1, 1}, Dimensions[data2[[All, 1 ;; 2]]]];if = Interpolation[data2, InterpolationOrder -> 1];if["ElementMesh"]["Quality"]