29 check_macro (omega.order() == 1,
"only order 1 mesh still supported");
30 check_macro (omega.map_dimension() == 2,
"invalid map_dimension");
33 check_macro (nt == omega.size(),
"mesh may contain only triangles");
36 for (
size_t ie = 0; ie < nt; ++ie) {
39 for (
size_t iloc = 0; iloc < K.
size(); ++iloc) {
44 cout <<
"#!geo" << endl
48 <<
" dimension 2" << endl
49 <<
" nodes " << x.size() + nt << endl
50 <<
" triangles " << 3*nt << endl;
51 if (omega.coordinate_system_name() !=
"cartesian") {
52 cout <<
" coordinate_system " << omega.coordinate_system_name() << endl;
54 cout <<
"end header" << endl
56 for (
size_t i = 0; i < x.size(); ++i) {
60 for (
size_t i = 0; i < xg.size(); ++i) {
65 for (
size_t ie = 0; ie < nt; ++ie) {
68 for (
size_t iloc = 0; iloc < K.
size(); ++iloc) {
69 size_t iloc2 = (iloc+1) % K.
size();
70 dout <<
"t\t" << K[iloc] <<
" " << K[iloc2] <<
" " << ig << endl;
74 for (
size_t idom = 0; idom < omega.n_domain_indirect(); ++idom) {
79 <<
"1 1 " << dom.size() << endl;
80 for (
size_t oige = 0; oige < dom.size(); ++oige) {
81 size_t ie = dom.oige(oige).index();
83 dout <<
"e\t" << E[0] <<
" " << E[1] << endl;
87 int main(
int argc,
char**argv) {
89 check_macro (communicator().size() == 1,
"program may run sequentially");