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");
see the geo page for the full documentation
see the disarray page for the full documentation
the finite element boundary domain
see the environment page for the full documentation
see the geo_element page for the full documentation
static const variant_type p
static const variant_type t
point_basic< Float > point
double Float
see the Float page for the full documentation
idiststream din
see the diststream page for the full documentation
odiststream dout(cout)
see the diststream page for the full documentation
void split(const geo &omega)
int main(int argc, char **argv)
This file is part of Rheolef.
rheolef - reference manual