[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r4697 - /trunk/getfem/src/getfem_import.cc
From: |
logari81 |
Subject: |
[Getfem-commits] r4697 - /trunk/getfem/src/getfem_import.cc |
Date: |
Mon, 30 Jun 2014 15:02:46 -0000 |
Author: logari81
Date: Mon Jun 30 17:02:45 2014
New Revision: 4697
URL: http://svn.gna.org/viewcvs/getfem?rev=4697&view=rev
Log:
add support for importing some 3rd order gmsh elements
Modified:
trunk/getfem/src/getfem_import.cc
Modified: trunk/getfem/src/getfem_import.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_import.cc?rev=4697&r1=4696&r2=4697&view=diff
==============================================================================
--- trunk/getfem/src/getfem_import.cc (original)
+++ trunk/getfem/src/getfem_import.cc Mon Jun 30 17:02:45 2014
@@ -73,6 +73,12 @@
case 15: { /* POINT */
GMM_WARNING2("ignoring point element");
} break;
+ case 26: { /* 3RD ORDER LINE */
+ pgt = bgeot::simplex_geotrans(1,3);
+ } break;
+ case 21: { /* 3RD ORDER TRIANGLE */
+ pgt = bgeot::simplex_geotrans(2,3);
+ } break;
default: { /* UNKNOWN .. */
/* higher order elements : to be done .. */
GMM_ASSERT1(false, "gmsh element type " << type << " is unknown.");
@@ -120,9 +126,15 @@
case 15: { /* POINT */
GMM_WARNING2("ignoring point element");
} break;
+ case 26: { /* 3RD ORDER LINE */
+ nodes.resize(4);
+ } break;
+ case 21: { /* 3RD ORDER TRIANGLE */
+ nodes.resize(10);
+ } break;
default: { /* UNKNOWN .. */
/* higher order elements : to be done .. */
- GMM_ASSERT1(false, "the gmsh element type " << type << "is unknown..");
+ GMM_ASSERT1(false, "the gmsh element type " << type << " is
unknown..");
} break;
}
}
@@ -346,6 +358,26 @@
ci.nodes[4] = tmp_nodes[4]; ci.nodes[5] = tmp_nodes[5];
ci.nodes[6] = tmp_nodes[6]; ci.nodes[7] = tmp_nodes[7];
ci.nodes[8] = tmp_nodes[8];
+ }
+ break;
+ case 26 : { /* Third order line */
+ std::vector<size_type> tmp_nodes(4);
+ tmp_nodes[0] = ci.nodes[0]; tmp_nodes[1] = ci.nodes[2];
+ tmp_nodes[2] = ci.nodes[3]; tmp_nodes[3] = ci.nodes[1];
+
+ ci.nodes[0] = tmp_nodes[0]; ci.nodes[1] = tmp_nodes[1];
+ ci.nodes[2] = tmp_nodes[2]; ci.nodes[3] = tmp_nodes[3];
+ }
+ break;
+ case 21 : { /* Third order triangle */
+ std::vector<size_type> tmp_nodes(10);
+ tmp_nodes[0] = ci.nodes[0]; tmp_nodes[1] = ci.nodes[3];
+ tmp_nodes[2] = ci.nodes[4]; tmp_nodes[3] = ci.nodes[1];
+ tmp_nodes[4] = ci.nodes[8]; tmp_nodes[5] = ci.nodes[9];
+ tmp_nodes[6] = ci.nodes[5]; tmp_nodes[7] = ci.nodes[7];
+ tmp_nodes[8] = ci.nodes[6]; tmp_nodes[9] = ci.nodes[2];
+
+ gmm::copy(tmp_nodes, ci.nodes);
}
break;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4697 - /trunk/getfem/src/getfem_import.cc,
logari81 <=