[Getdp] Re: crash problem

Gilles Quéméner quemener at isn.in2p3.fr
Thu Jun 27 12:00:30 CEST 2002


Hello,

Thanks for your rapid answers. I tried to remove the following option :
"Options->General->Use display lists" and to run GetDP/Gmsh in
interactive mode, but it gave exactly the same result as described in
my previous mail.
However, it works fine in batch mode!

This time I have a configuration which gives a real fatal error,
I just changed some dimensions of the setup and some characteristic
lengths. The corresponding files are  attached to this mail. Any clue?
This was run on a labtop INSPIRON 8100 1.GHz, 512 Mo, in interactive
and batch mode.
Cheers,

              Gilles

--
_______________________________________________________________________________
Gilles Quiminer                     til: (33) (0)4-76-28-40-18
Institut des Sciences Nucliaires    fax: (33) (0)4-76-28-40-04
53, Avenue des Martyrs              http://www.jlab.org/~quemener
38026 GRENOBLE cedex FRANCE         http://isnwww.in2p3.fr/hadrons/hadrons.html


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/getdp/attachments/20020627/314e8517/attachment.html>
-------------- next part --------------
Gmsh 1.34.0
-------------------------------------------------------
Build OS       : Linux 2.2.19-6.2.12
Build date     : Mon Feb 18 19:08:46 CET 2002
Build host     : elap21.montefiore.ulg.ac.be
Packager       : geuzaine
Home directory : /home/quemener/
Launch date    : Thu Jun 27 09:12:41 2002
Command line   : gmsh solenoide.geo
-------------------------------------------------------
Loading 'solenoide.geo'
Info : Including 'solenoide.cst'
Loaded 'solenoide.geo'
Geometry
Mesh 1D...
Meshing Curve 30101
Meshing Curve 30102
Meshing Curve 30103
Meshing Curve 30104
Meshing Curve 30105
Meshing Curve 30106
Meshing Curve 30107
Meshing Curve 30108
Meshing Curve 30109
Meshing Curve 30110
Meshing Curve 30111
Meshing Curve 30112
Meshing Curve 30113
Meshing Curve 30114
Meshing Curve 30115
Meshing Curve 30116
Meshing Curve 30117
Meshing Curve 30118
Meshing Curve 30119
Meshing Curve 30120
Meshing Curve 30121
Meshing Curve 30122
Meshing Curve 30123
Meshing Curve 30124
Meshing Curve 30125
Meshing Curve 30126
Meshing Curve 30127
Meshing Curve 30128
Meshing Curve 30129
Meshing Curve 30130
Meshing Curve 30131
Meshing Curve 30132
Meshing Curve 90101
Meshing Curve 90102
Meshing Curve 90103
Meshing Curve 90104
Meshing Curve 90109
Meshing Curve 90110
Meshing Curve 90111
Meshing Curve 90112
Meshing Curve 90117
Meshing Curve 90118
Meshing Curve 90119
Meshing Curve 90120
Mesh 1D complete (0.05 s)
Mesh
Mesh 2D...
Debug : Shortest curve has length 0.114668
Meshing Surface 30301
Debug : Surface: 30301
      : SVD    : 1.78879,1.78879,1.1288e-13 (min=3)
      : Plane  : (8.16438e-31 x + 1.41995e-29 y + -1 z = -0.225)
      : Normal : (8.16438e-31 , 1.41995e-29 , -1 )
      : t1     : (0.998351 , -0.0574029 , 0 )
      : t2     : (0.0574029 , 0.998351 , 1.42229e-29 )
Meshing Surface 30302
Debug : Surface: 30302
      : SVD    : 1.78879,1.78879,1.1288e-13 (min=3)
      : Plane  : (8.16438e-31 x + 1.41995e-29 y + 1 z = -0.225)
      : Normal : (8.16438e-31 , 1.41995e-29 , 1 )
      : t1     : (0.998351 , -0.0574029 , 0 )
      : t2     : (-0.0574029 , -0.998351 , 1.42229e-29 )
Meshing Surface 30303
Debug : Surface: 30303
      : SVD    : 0.248541,1.8636,5.83557 (min=1)
      : Plane  : (0.707107 x + 0.707107 y + 2.64438e-16 z = 0.0560288)
      : Normal : (0.707107 , 0.707107 , 2.64438e-16 )
      : t1     : (0.707107 , -0.707107 , 0 )
      : t2     : (-1.86986e-16 , -1.86986e-16 , 1 )
Meshing Surface 30304
Debug : Surface: 30304
      : SVD    : 0.248541,1.8636,5.83557 (min=1)
      : Plane  : (0.707107 x + -0.707107 y + -7.50104e-17 z = -0.0560288)
      : Normal : (0.707107 , -0.707107 , -7.50104e-17 )
      : t1     : (-0.707107 , -0.707107 , 0 )
      : t2     : (5.30404e-17 , -5.30404e-17 , 1 )
Error : 3 identical points in Qtest
Fatal Error : Segmentation violation (invalid memory reference)
            : ------------------------------------------------------
            : You have discovered a bug in Gmsh! You may report it
            : by e-mail (together with any helpful data permitting to
            : reproduce it) to <gmsh at geuz.org>
-------------- next part --------------
/* ---------------------------------------------------------------------------
   Constants used in solenoide_un.geo and solenoide_un.pro
----------------------------------------------------------------------------*/

// Units
Grad = Pi/180.;
m    = 1.0;       // meter
cm   = 1.0e-2*m;  // centimeter
mm   = 1.0e-3*m;  // millimeter
A    = 1.0;       // amphre
kA   = 1000.*A;   // kilo-amphre
T    = 1.0;       // tesla
G    = 1.0e-4*T;   // gauss

// Dimensions tube
d_Si = 14.60*cm; // Solenoid inner diameter
d_So = 15.00*cm; // Solenoid outer diameter
l_S  = 45.00*cm; // Solenoid length

// Outside air cylinder 
d_Ai = 3*d_So;
l_A =  3*l_S; 

// Characteristic Lengths
lc_Solenoid  = (d_So-d_Si)/5.;  // Coil
lc_Air    =    (d_Ai-d_So)/10.; // Air within Coil
//lc_Solenoid  = (d_So-d_Si)/3.;  // Coil
//lc_Air    =    (d_Ai-d_So)/5.; // Air within Coil


// Constants
mu0        =  4.0e-7 * Pi;


// Used in PostOperation
r = d_Ai/2;
x1 =  r;
x2 = -r;
y1 =  r;
y2 = -r;
z1 =  r;
z2 = -r;
n1 =  200;
n2 =  n1;


// Field parameters:
// Constant field along Z-axis : b = mu0 h = -mu0 grad(phi)
B_z = 70.*G;
PhiC = B_z*l_A/mu0;

// steel parameters for mu[Steel] = 1./(as + bs * Norm[$1]);
as = 471.378;
bs = 0.452112;

// Resolution parameters
NL_NbrMaxIter = 45;
NL_Eps = 1.e-4;
NL_Relax = 1;

-------------- next part --------------
// ---------------------------------------------------------------------------
//                       3D solenoid model
// ---------------------------------------------------------------------------

// Constants
Include "solenoide.cst";



// ---------------------------------------------------------------------------
// Solenoide coil
// ---------------------------------------------------------------------------

// Translation
dx = 0.0*mm;
dy = 0.0*mm;
dz = 0.0*mm;


///////////////////////////////////////////////////////////////////////////////
// Points at z>0
Point(30000) = {      0+dx,      0+dy,  l_S/2+dz, lc_Solenoid};
Point(30001) = { d_Si/2+dx,      0+dy,  l_S/2+dz, lc_Solenoid};
Point(30002) = {      0+dx, d_Si/2+dy,  l_S/2+dz, lc_Solenoid};
Point(30003) = {-d_Si/2+dx,      0+dy,  l_S/2+dz, lc_Solenoid};
Point(30004) = {      0+dx,-d_Si/2+dy,  l_S/2+dz, lc_Solenoid};
Point(30005) = { d_So/2+dx,      0+dy,  l_S/2+dz, lc_Solenoid};
Point(30006) = {      0+dx, d_So/2+dy,  l_S/2+dz, lc_Solenoid};
Point(30007) = {-d_So/2+dx,      0+dy,  l_S/2+dz, lc_Solenoid};
Point(30008) = {      0+dx,-d_So/2+dy,  l_S/2+dz, lc_Solenoid};

// Points at z<0
Point(30010) = {      0+dx,      0+dy, -l_S/2+dz, lc_Solenoid};
Point(30011) = { d_Si/2+dx,      0+dy, -l_S/2+dz, lc_Solenoid};
Point(30012) = {      0+dx, d_Si/2+dy, -l_S/2+dz, lc_Solenoid};
Point(30013) = {-d_Si/2+dx,      0+dy, -l_S/2+dz, lc_Solenoid};
Point(30014) = {      0+dx,-d_Si/2+dy, -l_S/2+dz, lc_Solenoid};
Point(30015) = { d_So/2+dx,      0+dy, -l_S/2+dz, lc_Solenoid};
Point(30016) = {      0+dx, d_So/2+dy, -l_S/2+dz, lc_Solenoid};
Point(30017) = {-d_So/2+dx,      0+dy, -l_S/2+dz, lc_Solenoid};
Point(30018) = {      0+dx,-d_So/2+dy, -l_S/2+dz, lc_Solenoid};

// Points at z=0
Point(30020) = {      0+dx,      0+dy,      0+dz, lc_Solenoid};
Point(30021) = { d_Si/2+dx,      0+dy,      0+dz, lc_Solenoid};
Point(30022) = {      0+dx, d_Si/2+dy,      0+dz, lc_Solenoid};
Point(30023) = {-d_Si/2+dx,      0+dy,      0+dz, lc_Solenoid};
Point(30024) = {      0+dx,-d_Si/2+dy,      0+dz, lc_Solenoid};
Point(30025) = { d_So/2+dx,      0+dy,      0+dz, lc_Solenoid};
Point(30026) = {      0+dx, d_So/2+dy,      0+dz, lc_Solenoid};
Point(30027) = {-d_So/2+dx,      0+dy,      0+dz, lc_Solenoid};
Point(30028) = {      0+dx,-d_So/2+dy,      0+dz, lc_Solenoid};


///////////////////////////////////////////////////////////////////////////////
// Lines (directrices du cylindre)
Line(30101) = {30001,30021,30011};
Line(30102) = {30002,30022,30012};
Line(30103) = {30003,30023,30013};
Line(30104) = {30004,30024,30014};
Line(30105) = {30005,30025,30015};
Line(30106) = {30006,30026,30016};
Line(30107) = {30007,30027,30017};
Line(30108) = {30008,30028,30018};


///////////////////////////////////////////////////////////////////////////////
// Circles
// Solenoid crown section at z>0
Circle(30109) = {30001,30000,30002};
Circle(30110) = {30002,30000,30003};
Circle(30111) = {30003,30000,30004};
Circle(30112) = {30004,30000,30001};
Circle(30113) = {30005,30000,30006};
Circle(30114) = {30006,30000,30007};
Circle(30115) = {30007,30000,30008};
Circle(30116) = {30008,30000,30005};

// Solenoid crown section at z<0
Circle(30117) = {30011,30010,30012};
Circle(30118) = {30012,30010,30013};
Circle(30119) = {30013,30010,30014};
Circle(30120) = {30014,30010,30011};
Circle(30121) = {30015,30010,30016};
Circle(30122) = {30016,30010,30017};
Circle(30123) = {30017,30010,30018};
Circle(30124) = {30018,30010,30015};

// Solenoid crown section at z=0
Circle(30125) = {30021,30020,30022};
Circle(30126) = {30022,30020,30023};
Circle(30127) = {30023,30020,30024};
Circle(30128) = {30024,30020,30021};
Circle(30129) = {30025,30020,30026};
Circle(30130) = {30026,30020,30027};
Circle(30131) = {30027,30020,30028};
Circle(30132) = {30028,30020,30025};


///////////////////////////////////////////////////////////////////////////////
// Surfaces
// Solenoid crown section at z>0
Line Loop(30201) = {30113,30114,30115,30116};
Line Loop(30202) = {30109,30110,30111,30112};
Plane Surface(30301) = {30201,30202};

// Solenoid crown section at z<0
Line Loop(30203) = {30121,30122,30123,30124};
Line Loop(30204) = {30117,30118,30119,30120};
Plane Surface(30302) = {30203,30204};

// Solenoid outside ruled surfaces
Line Loop(30205) = {30121,-30106,-30113,30105};
Ruled Surface(30303) = {30205};
Line Loop(30206) = {30122,-30107,-30114,30106};
Ruled Surface(30304) = {30206};
Line Loop(30207) = {30123,-30108,-30115,30107};
Ruled Surface(30305) = {30207};
Line Loop(30208) = {30124,-30105,-30116,30108};
Ruled Surface(30306) = {30208};

// Solenoid inside ruled surfaces
Line Loop(30209) = {30117,-30102,-30109,30101};
Ruled Surface(30307) = {30209};
Line Loop(30210) = {30118,-30103,-30110,30102};
Ruled Surface(30308) = {30210};
Line Loop(30211) = {30119,-30104,-30111,30103};
Ruled Surface(30309) = {30211};
Line Loop(30212) = {30120,-30101,-30112,30104};
Ruled Surface(30310) = {30212};


///////////////////////////////////////////////////////////////////////////////
// Solenoid (coil) Volume
Surface Loop(30401) = {30303,30302,30304,30305,30306,30301,30307,30308,30309,30310};
Volume(30501) = {30401};
Physical Volume(31501) = {30501};





// ---------------------------------------------------------------------------
// Outer Environment Cylinder (air)
// ---------------------------------------------------------------------------

// Translation
dx =  0.0*mm;
dy =  0.0*mm;
dz =  0.0*mm;


///////////////////////////////////////////////////////////////////////////////
// Points at z>0
Point(90000) = {      0+dx,      0+dy,  l_A/2+dz, lc_Air};
Point(90001) = { d_Ai/2+dx,      0+dy,  l_A/2+dz, lc_Air};
Point(90002) = {      0+dx, d_Ai/2+dy,  l_A/2+dz, lc_Air};
Point(90003) = {-d_Ai/2+dx,      0+dy,  l_A/2+dz, lc_Air};
Point(90004) = {      0+dx,-d_Ai/2+dy,  l_A/2+dz, lc_Air};

// Points at z<0
Point(90010) = {      0+dx,      0+dy, -l_A/2+dz, lc_Air};
Point(90011) = { d_Ai/2+dx,      0+dy, -l_A/2+dz, lc_Air};
Point(90012) = {      0+dx, d_Ai/2+dy, -l_A/2+dz, lc_Air};
Point(90013) = {-d_Ai/2+dx,      0+dy, -l_A/2+dz, lc_Air};
Point(90014) = {      0+dx,-d_Ai/2+dy, -l_A/2+dz, lc_Air};



///////////////////////////////////////////////////////////////////////////////
// Lines (directrices du cylindre)
Line(90101) = {90001,90011};
Line(90102) = {90002,90012};
Line(90103) = {90003,90013};
Line(90104) = {90004,90014};


///////////////////////////////////////////////////////////////////////////////
// Circles
// Solenoid section at z>0
Circle(90109) = {90001,90000,90002};
Circle(90110) = {90002,90000,90003};
Circle(90111) = {90003,90000,90004};
Circle(90112) = {90004,90000,90001};

// Solenoid section at z<0
Circle(90117) = {90011,90010,90012};
Circle(90118) = {90012,90010,90013};
Circle(90119) = {90013,90010,90014};
Circle(90120) = {90014,90010,90011};


///////////////////////////////////////////////////////////////////////////////
// Surfaces
// Solenoid section at z>0
Line Loop(90202) = {90109,90110,90111,90112};
Plane Surface(90901) = {90202};

// Solenoid section at z<0
Line Loop(90204) = {90117,90118,90119,90120};
Plane Surface(90902) = {90204};


// Solenoid inside ruled surfaces
Line Loop(90209) = {90117,-90102,-90109,90101};
Ruled Surface(90907) = {90209};
Line Loop(90210) = {90118,-90103,-90110,90102};
Ruled Surface(90908) = {90210};
Line Loop(90211) = {90119,-90104,-90111,90103};
Ruled Surface(90909) = {90211};
Line Loop(90212) = {90120,-90101,-90112,90104};
Ruled Surface(90910) = {90212};



///////////////////////////////////////////////////////////////////////////////
// Solenoid (coil) Volume
Surface Loop(90401) = {90901,90907,90908,90909,90910,90902,30303,30302,30304,30305,30306,30301,30307,30308,30309,30310};
Volume(90501) = {90401};
Physical Volume(91501) = {90501};


///////////////////////////////////////////////////////////////////////////////
// Boundary surfaces
Physical Surface(92501) = {90901};
Physical Surface(92502) = {90902};
-------------- next part --------------
/*
Magnetostatic problem (scalar magnetic potential), based on t5.pro from FAQ
*/
mm = 1e-3 ;

Include "solenoide.cst";  // defect parameters

Group {
  Steel   = Region[ 31501 ];
  Air     = Region[ 91501 ];
  Domain  = Region[ {Steel, Air} ];
  SurfaceA = Region[ 92501 ]; //
  SurfaceC = Region[ 92502 ]; // simetry plane
}

Function {
  mu0 = 4.e-7 * Pi ;
  mu[Steel] = 1./(as + bs * Norm[$1]);
  //mu[Steel] = mu0;
  mu[Air]     = mu0;
}

Constraint {

  { Name phi ;
    Case {
      { Region SurfaceA ; Value 0. ; }
      { Region SurfaceC ; Value PhiC ; }
    }
  }

}
Jacobian {
  { Name MyJac;
    Case {
      { Region All; Jacobian Vol; }
    }
  }
}

Integration {
  { Name MyInt;
    Case {
      { Type Gauss;
        Case {
	  { GeoElement Tetrahedron; NumberOfPoints 5; }
	}
      }
    }
  }
}

FunctionSpace {
  { Name Hgrad_phi; Type Form0;
    BasisFunction {
      { Name sn; NameOfCoef phin; Function BF_Node;
        Support Domain; Entity NodesOf[ All ]; }
      // uncomment the following for 2nd order interpolation:
      //{ Name sn2; NameOfCoef phin2; Function BF_Node_2E;
      //  Support Domain; Entity EdgesOf[ All ]; }
    }
    Constraint {
      { NameOfCoef phin ; EntityType NodesOf ; NameOfConstraint phi ; }
    }
  }
}

Formulation {
  { Name MagSta_phi; Type FemEquation;
    Quantity {
      { Name phi; Type Local; NameOfSpace Hgrad_phi; }
    }
    Equation {
      Galerkin { [ - mu[{d phi}] * Dof{d phi} , {d phi} ];
                 In Domain; Jacobian MyJac; Integration MyInt; }
    }
  }
}

Resolution {
  { Name MagSta_phi;
    System {
      { Name A; NameOfFormulation MagSta_phi; }
    }
    Operation {
      IterativeLoop[NL_NbrMaxIter, NL_Eps, NL_Relax] {
        GenerateJac[A]; SolveJac[A];
      }
      SaveSolution[A];
    }

  }
}

PostProcessing {
  { Name MagSta_phi; NameOfFormulation MagSta_phi;
    Quantity {
      { Name phi; Value { Local { [ {phi} ]; In Domain; Jacobian MyJac;} } }
      { Name h;   Value { Local { [ {d phi} ]; In Domain; Jacobian MyJac;} } }
      { Name b;   Value
           {
               Local { [ - mu[] * {d phi} ]; In Air; Jacobian MyJac; }
               Local { [ - mu[{d phi}] * {d phi} ]; In Steel; Jacobian MyJac; }
           }
      }
      { Name bx;   Value
           {
               Local { [CompX[ - mu[] * {d phi} ]]; In Air; Jacobian MyJac; }
               Local { [CompX[ - mu[{d phi}] * {d phi} ]]; In Steel; Jacobian MyJac; }
           }
      }
      { Name by;   Value
           {
               Local { [CompY[ - mu[] * {d phi} ]]; In Air; Jacobian MyJac; }
               Local { [CompY[ - mu[{d phi}] * {d phi} ]]; In Steel; Jacobian MyJac; }
           }
      }
      { Name bz;   Value
           {
               Local { [CompZ[ - mu[] * {d phi} ]]; In Air; Jacobian MyJac; }
               Local { [CompZ[ - mu[{d phi}] * {d phi} ]]; In Steel; Jacobian MyJac; }
           }
      }
    }
  }
}

PostOperation {
  { Name phi; NameOfPostProcessing MagSta_phi;
    Operation {
      // Valores basicos
      //Print[ phi, OnElementsOf Domain, File "phi.pos"] ;
      //Print[ b,   OnElementsOf Domain, File "b_phi.pos", Depth 0 ] ;
      //Print[ h,   OnElementsOf Domain, File "h_phi.pos", Depth 0 ] ;
      // etc ...
      Print[phi,OnPlane{{x2,0.0,z2} {x1,0.0,z2} {x2,0.0,z1}} {n1,n2}, File "solenoide_phi.pos",Depth 0];
      Print[b,  OnPlane{{x2,0.0,z2} {x1,0.0,z2} {x2,0.0,z1}} {n1,n2}, File "solenoide_b.pos",  Depth 0];
      Print[bx, OnPlane{{x2,0.0,z2} {x1,0.0,z2} {x2,0.0,z1}} {n1,n2}, File "solenoide_bx.pos", Depth 0];
      Print[by, OnPlane{{x2,0.0,z2} {x1,0.0,z2} {x2,0.0,z1}} {n1,n2}, File "solenoide_by.pos", Depth 0];
      Print[bz, OnPlane{{x2,0.0,z2} {x1,0.0,z2} {x2,0.0,z1}} {n1,n2}, File "solenoide_bz.pos", Depth 0];

      Print[phi,OnPlane{{x2,y2,0.0} {x1,y2,0.0} {x2,y1,0.}} {n1,n2}, File "solenoide_PHI.pos", Depth 0];
      Print[b,  OnPlane{{x2,y2,0.0} {x1,y2,0.0} {x2,y1,0.}} {n1,n2}, File "solenoide_B.pos",   Depth 0];
      Print[bx, OnPlane{{x2,y2,0.0} {x1,y2,0.0} {x2,y1,0.}} {n1,n2}, File "solenoide_BX.pos",  Depth 0];
      Print[by, OnPlane{{x2,y2,0.0} {x1,y2,0.0} {x2,y1,0.}} {n1,n2}, File "solenoide_BY.pos",  Depth 0];
      Print[bz, OnPlane{{x2,y2,0.0} {x1,y2,0.0} {x2,y1,0.}} {n1,n2}, File "solenoide_BZ.pos",  Depth 0];

      Print[h,  OnPlane{{x2,0.0,z2} {x1,0.0,z2} {x2,0.0,z1}} {n1,n2}, File "solenoide_h.pos",  Depth 0];
      Print[bz, OnLine{{0.0,0.0,-l_A} {0.0,0.0,l_A}} {n1},        File "solenoide_BZaxe.pos",  Depth 0];
    }
  }

/*
  { Name grid; NameOfPostProcessing MagSta_phi;
    Operation {
      // Grid bidimensional mesmo lado
      Print[ b, OnGrid {$A,$B,0.004}{0.0001:AcoX-0.001:0.001, 0.0001:AcoY-0.001:0.001, 0} , Format Gnuplot,
        File "bxyz004s.txt" ];
      Print[ b, OnGrid {$A,$B,0.004}{0.0001:AcoX-0.001:0.001, 0.0001:AcoY-0.001:0.001, 0} , Format Gnuplot,
        File > "bxyz004s.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,$B,0.004}{0.0001:AcoX-0.001:0.001, 0.0001:AcoY-0.001:0.001, 0} , Format Gnuplot,
        File > "bxyz004s.txt", ChangeOfCoordinates {$X,-$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,$B,0.004}{0.0001:AcoX-0.001:0.001, 0.0001:AcoY-0.001:0.001, 0} , Format Gnuplot,
        File > "bxyz004s.txt", ChangeOfCoordinates {-$X,-$Y,$Z}, ChangeOfValues {2*$Val0/2}];

      // Grid bidimensional lado oposto
      Print[ b, OnGrid {$A,$B,-t-0.004}{0.0001:AcoX-0.001:0.001, 0.0001:AcoY-0.001:0.001, 0} , Format Gnuplot,
        File "bxyz004o.txt" ];
      Print[ b, OnGrid {$A,$B,-t-0.004}{0.0001:AcoX-0.001:0.001, 0.0001:AcoY-0.001:0.001, 0} , Format Gnuplot,
        File > "bxyz004o.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,$B,-t-0.004}{0.0001:AcoX-0.001:0.001, 0.0001:AcoY-0.001:0.001, 0} , Format Gnuplot,
        File > "bxyz004o.txt", ChangeOfCoordinates {$X,-$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,$B,-t-0.004}{0.0001:AcoX-0.001:0.001, 0.0001:AcoY-0.001:0.001, 0} , Format Gnuplot,
        File > "bxyz004o.txt", ChangeOfCoordinates {-$X,-$Y,$Z}, ChangeOfValues {2*$Val0/2}];

      // cortes em linhas nos eixos x e y mesmo lado
      Print[ b, OnGrid {$A,0.001,0.001}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File   "bxy001z001s.txt" ];
      Print[ b, OnGrid {$A,0.001,0.001}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File > "bxy001z001s.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,0.001,0.002}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File   "bxy001z002s.txt" ];
      Print[ b, OnGrid {$A,0.001,0.002}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File > "bxy001z002s.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,0.001,0.004}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File   "bxy001z004s.txt" ];
      Print[ b, OnGrid {$A,0.001,0.004}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File > "bxy001z004s.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,0.001,0.006}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File   "bxy001z006s.txt" ];
      Print[ b, OnGrid {$A,0.001,0.006}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File > "bxy001z006s.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];

      // cortes em linhas nos eixos x e y lado oposto
      Print[ b, OnGrid {$A,0.001,-t-0.001}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File   "bxy001z001o.txt" ];
      Print[ b, OnGrid {$A,0.001,-t-0.001}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File > "bxy001z001o.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,0.001,-t-0.002}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File   "bxy001z002o.txt" ];
      Print[ b, OnGrid {$A,0.001,-t-0.002}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File > "bxy001z002o.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,0.001,-t-0.004}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File   "bxy001z004o.txt" ];
      Print[ b, OnGrid {$A,0.001,-t-0.004}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File > "bxy001z004o.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];
      Print[ b, OnGrid {$A,0.001,-t-0.006}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File   "bxy001z006o.txt" ];
      Print[ b, OnGrid {$A,0.001,-t-0.006}{0:AcoX-0.001:0.0005, 0, 0} , Format Gnuplot,
        File > "bxy001z006o.txt", ChangeOfCoordinates {-$X,$Y,$Z}, ChangeOfValues {2*$Val0/2}];

      // cortes em linhas no eixo z nos limites da zona de interesse e nos limites do ar
      // Print[ b, OnGrid {0.002, r+bi, $A}{0.001:ArS-0.001:0.001, 0, 0} , Format Gnuplot, File "bzx002yrbis.txt" ];
      // Print[ b, OnGrid {r+bi, 0.002, $A}{0.001:ArS-0.001:0.001, 0, 0} , Format Gnuplot, File "bzxrbiy002s.txt" ];
      Print[ b, OnGrid {0.002, AcoY-0.001, $A}{0.001:ArS-0.001:0.001, 0, 0} , Format Gnuplot, File "bzx002yacoys.txt" ];
      Print[ b, OnGrid {AcoX-0.001, 0.002, $A}{0.001:ArS-0.001:0.001, 0, 0} , Format Gnuplot, File "bzxacoxy002s.txt" ];
      Print[ b, OnGrid {0.002, 0.002, $A}{0.001:ArS-0.001:0.001, 0, 0} , Format Gnuplot, File "bzx002y002s.txt" ];
      Print[ b, OnGrid {0.002, 0.002, $A}{0.001:ArS-0.001:0.001, 0, 0} , Format Gnuplot, File "bzx002y002s.txt" ];

      // Todos os pontos em uma linha ou plano
      // Print[ b, OnLine {{0,0.002,0.004}{0.030,0.002,0.004}} {100}, Format Gnuplot, File "bl.txt" ];
      // Print[ b, OnCut {{0,0, 0.004}{1,0, 0.004}{1,1, 0.004}}, File "bc4.pos" ];
      // Print[ b, OnCut {{0,0,-0.002}{1,0,-0.002}{1,1,-0.002}}, File "bc2.pos" ];
    }
  }
*/
}

-------------- next part --------------
/*

Matrix_Format (Integer): 
    - 1  Sparse 
    - 2  Full 
    - default : 1

Matrix_Printing (Integer): Disk write ('fort.*') 
    - 1  matrix (csr) 
    - 2  preconditioner (msr) 
    - 3  both 
    - default : 0

Matrix_Storage (Integer): Disk Write or Read in internal format 
    - 0  none 
    - 1  write matrix (sparse) 
    - 2  read matrix (sparse) 
    - default : 0

Scaling (Integer): Scale system 
    - 0  no 
    - 1  on basis of diagonal elements  (no loss of possible symmetry) 
    - 2  on basis of inf. norm  of first rows and then columns  (asymmetric) 
    - 3  on basis of norm 1     of first rows and then columns  (asymmetric) 
    - 4  on basis of norm 2     of first rows and then columns  (asymmetric) 
    - default : 0

Renumbering_Technique (Integer): 
    - 0  No renumbering 
    - 1  Reverse Cuthill-Mc Kee 
    - default : 1 

Preconditioner (Integer): 
    - 0  NONE     No Factorization
    - 1  ILUT     Incomplete LU factorization with dual truncation strategy 
    - 2  ILUTP    ILUT with column  pivoting                                
    - 3  ILUD     ILU with single dropping + diagonal compensation (~MILUT) 
    - 4  ILUDP    ILUD with column pivoting                                 
    - 5  ILUK     level-k ILU                                               
    - 6  ILU0     simple ILU(0) preconditioning                             
    - 7  MILU0    MILU(0) preconditioning                                   
    - 8  DIAGONAL                                                           
    - default : 2 

Preconditioner_Position (Integer): 
    - 0  No Preconditioner 
    - 1  Left Preconditioner 
    - 2  Right Preconditioner 
    - 3  Both Left and Right Preconditioner 
    - default : 2 

Nb_Fill (Integer): 
    - ILUT/ILUTP : maximum number of elements per line 
      of L and U (except diagonal element) 
    - ILUK : each element whose fill-in level is greater than NB_FILL 
      is dropped. 
    - default : 20

Permutation_Tolerance (Real): Tolerance for column permutation in ILUTP/ILUDP. 
    At stage i, columns i and j are permuted if 
    abs(a(i,j))*PERMUTATION_TOLERANCE > abs(a(i,i)). 
    - 0  no permutations 
    - 0.001 -> 0.1  classical 
    - default : 0.05

Dropping_Tolerance (Real): 
    - ILUT/ILUTP/ILUK: a(i,j) is dropped if 
      abs(a(i,j)) < DROPPING_TOLERANCE * abs(diagonal element in U). 
    - ILUD/ILUDP : a(i,j) is dropped if 
      abs(a(i,j)) < DROPPING_TOLERANCE * [weighted norm of line i]. 
      Weighted norm = 1-norm / number of nonzero elements on the line. 
    - default : 0

Diagonal_Compensation (Real): ILUD/ILUDP: the term 'DIAGONAL_COMPENSATION * (sum 
    of all dropped elements of the line)' is added to the diagonal element in U 
    - 0  ~ ILU with threshold 
      1  ~ MILU with threshold. 
    - default : 0

Re_Use_ILU (Integer): Reuse ILU decomposition (and renumbering if any)
    - 0  no 
    - 1  yes 
    - default : 0

Algorithm (Integer): 
    - 1  CG       Conjugate Gradient                    
    - 2  CGNR     CG (Normal Residual equation)         
    - 3  BCG      Bi-Conjugate Gradient                 
    - 4  DBCG     BCG with partial pivoting             
    - 5  BCGSTAB  BCG stabilized                        
    - 6  TFQMR    Transpose-Free Quasi-Minimum Residual 
    - 7  FOM      Full Orthogonalization Method         
    - 8  GMRES    Generalized Minimum RESidual          
    - 9  FGMRES   Flexible version of GMRES             
    - 10 DQGMRES  Direct versions of GMRES              
    - 11 LU       LU Factorization                      
    - 12 PGMRES   Alternative version of GMRES          
    - default : 8

Krylov_Size (Integer): Krylov subspace size 
    - default : 40

IC_Acceleration (Real): IC accelerator
    - default : 1 

Re_Use_LU (Integer): Reuse LU decomposition
    - 0  no 
    - 1  yes 
    - default : 0

Iterative_Improvement (Integer): Iterative improvement of the solution obtained by a LU 
    - default : 0

Nb_Iter_Max (Integer): Maximum number of iterations 
    - default : 1000 

Stopping_Test (Real): Target relative residual 
    - default : 1e-10 

*/

            Matrix_Format            1
          Matrix_Printing            0
           Matrix_Storage            0
                  Scaling            0
    Renumbering_Technique            1
           Preconditioner            2
  Preconditioner_Position            2
                  Nb_Fill           20
    Permutation_Tolerance         0.05
       Dropping_Tolerance            0
    Diagonal_Compensation            0
               Re_Use_ILU            0
                Algorithm            8
              Krylov_Size           40
          IC_Acceleration            1
                Re_Use_LU            0
    Iterative_Improvement            0
              Nb_Iter_Max         1000
            Stopping_Test        1e-10