[Getdp] crash problem

Gilles Quéméner quemener at isn.in2p3.fr
Wed Jun 26 17:51:34 CEST 2002


Bonjour,

J'essaie de faire tourner un exemple simple de magnetostatique 3D, a
savoir un tube
d'acier dans un  champ uniforme (sans tenir compte de symetries etc...).
Pour cela ,
j'utilise un fichier .pro que Janvrot m'a donne. Pour certaines valeurs
des longueurs
caracteristiques, tout se passe bien, mais  quand je diminue ces
longueurs, le maillage
et la resolution se passent bien, en revanche le programme s'interrompt
durant le
"post-processing" avec le message suivant:

GetDP : P o s t - P r o c e s s i n g . . .
GetDP : Loading   : Processing data 'solenoide.res'
GetDP : Info      : Selected PostProcessing 'MagSta_phi'
GetDP : Info      : Selected Mesh 'solenoide.msh'
GetDP : Operation : PostOperation 1/3
GetDP :           > 'phi.pos'
Debug : Data is in double precision format (size==8)
Debug : Read View 'phi' (1 TimeSteps): 0 0 0 0 0 0 0 0 0 499780 0 0 0 0
Debug : List_Nbrs: SP0 VP0 TP0 SL0 VL0 TL0 ST0 VT0 TT0 SS7996480 VS0 TS0
T2D0 T2C0 T3D0 T3C0
Debug : New Display List
Debug : New Display List
GetDP : Operation : PostOperation 2/3
GetDP :           > 'b_phi.pos'
Debug : Data is in double precision format (size==8)
Debug : Read View 'b' (1 TimeSteps): 0 499780 0 0 0 0 0 0 0 0 0 0 0 0
Debug : List_Nbrs: SP0 VP2998680 TP0 SL0 VL0 TL0 ST0 VT0 TT0 SS0 VS0 TS0
T2D0 T2C0 T3D0 T3C0
Debug : New Display List
Debug : New Display List

[7]    Killed                        gmsh solenoide.geo
isnpx2014:/home/quemener/Gmsh/gmsh-1.34.0/approx<2370 >


J'utilise un PC Linux sous RedHat 7.1 (1.4 GHz, 512 Mo). Un probleme
similaire se produit
sur un portable (INspiron 8100, 1GHz, 512 Mo). Est-ce un probleme de
memoire, un bug dans
GetDP 0.85 ou Gmsh 1.34.0, ou un autre probleme?
Je vous joins les fichiers correspondants a mon probleme au cas ou vous
souhaitiez les tester.

Pour certaines valeurs des longueurs caracterisitques, j'ai un message
du type
"Unable to add point, will try later...", que signifie ce message,
est-ce un probleme dans ma
description de la geometrie?
Merci beaucoup pour votre aide.
Bien cordialement,

                                              Gilles Quemener

--
_______________________________________________________________________________
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/20020626/9a87a335/attachment.html>
-------------- next part --------------
/* ---------------------------------------------------------------------------
   Constants used in solenoide.geo and solenoide.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


// Dimensions tube
d_Si = 5.00*cm; // Solenoid inner diameter
d_So = 7.50*cm; // Solenoid outer diameter
l_S  = 10.0*cm; // Solenoid length

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

// Characteristic Lengths
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;


// Arquivo com parametros para calculo de caso esferico
t = 06.35 * mm; 
r = 12.3 * mm / 2.0;
p = 0.50 * t;
B0 = 050.0;

// Parte comum para defeitos esfericos

// Environment size parameters
AcoX = 5 * r;
AcoY = 10 * r;
ArS = t * 3.0;
ArI = t * 3.0;

// Para compensar um pouco da variacao do campo de fundo B0
// com a geometria do defeito
PhiC = B0 * AcoX / 4.0 / 3.14 * (1.0 + (t - 0.1) * 0.1 / 0.8) * 1000.0;

// 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; }
           }
      }
    }
  }
}

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 ...
    }
  }

/*
  { 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