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;
87int main(
int argc,
char**argv) {
see the Float page for the full documentation
see the communicator page for the full documentation
see the geo page for the full documentation
see the point 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
check_macro(expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)")
void split(const geo &omega)
This file is part of Rheolef.
rheolef - reference manual