[Getdp] Error: Zero row encountered in ILU
Ruth V. Sabariego
r.sabariego at ulg.ac.be
Thu Jan 8 12:21:18 CET 2009
Hi Nicole,
The problem could come from the GlobalEquation.
You are imposing a GlobalElectricPotential for all regions in Grouped
except PSElektrMantel.
I think the problem could be solved if you should impose either the
potential or the charge for this region.
Regards,
Ruth
nicole.frindt at bioquant.uni-heidelberg.de wrote:
> Hi everybody,
>
> I'm trying to solve an electrostatic 3D problem. But when I run getdp
> I end up with the following message...
>
> GetDP : P r o c e s s i n g . . .
> GetDP : Operation : Generate[A1]
> GetDP : Solver : Loading parameter file
> '/var/tmp/home/frindt/gmsh/ZachschePP/Zach_02/solver.par'
> GetDP : Info : Setting System {A,b} to zero
> GetDP : Info : Generate ExtendedGroup '_BF_Entity_18'
> (GroupsOfNodesOf)
> GetDP : Resources : cpu 88.2935 s
>
> GetDP : Operation : Solve[A1]
> GetDP : Solver : No scaling of system of equations
> GetDP : Solver : RCMK algebraic renumbering
> GetDP : Solver : N: 26683, NZ: 357120, BW max/avg: 4183/13, SW max: 26682
> GetDP : Resources : cpu 88.4215 s
>
> GetDP : Solver : ILUTP (Float, fill-in = 20)
> GetDP : Error : Zero row encountered in ILU
>
> Can anybody tell me what I have to do to fix this problem?
>
> (BTW I used the Netgen 3D algorithm to generate the mesh in gmsh as
> Tetgen+Delaunay didn't work.)
>
> I would be very thankful for any help.
> Nicole
>
> I used the following .pro file:
>
>
> Include "parameters_Zach.pro";
>
> Group {
> //PS denotes Surfaces, PV denotes Volumes. # can be used instead of Region[]
>
> PSElektrode = #PSElektrode;
> PSElktrVakuum = #PSElktrVakuum;
> PSElektrMantel = #PSElektrMantel;
> PSVakuum = #PSVakuum;
> PSDeckelOben = #PSDeckelOben;
> PSDeckelUnten = #PSDeckelUnten;
> PSWand = #PSWand;
>
> PVElektrode = #PVElektrode;
> PVElektrVakuum = #PVElektrVakuum;
> PVElektrMantel = #PVElektrMantel;
> PVVakuum = #PVVakuum;
> PVDeckelOben = #PVDeckelOben;
> PVDeckelUnten = #PVDeckelUnten ;
> PVWand = #PVWand;
>
> //Vol is the total calculation domain
> //Grouped are domains, for which constituents only a single Voltage
> is defined
> Vol= #{PVVakuum,PVElektrVakuum};
> Grouped = #{PSElektrode,PSElektrMantel,PSDeckelOben,PSDeckelUnten,PSWand};
> }
>
> Function {
> eps0=8.854187818e-12 ;
> epsr[PVVakuum]=1.; //Vakuum
> epsr[PVElektrVakuum] = 1.; //ElektrodenVakuum
> // in the circle there should be a homogenous field,
> // aslong the excentriciy e equals zero
> // eps0 is the Dielektrizit tskonstante.
> }
>
> Jacobian {
> { Name Vol ; Case {
> // All domains expand in to infinity in z direction
> // Using Jacobian VolAxi would define a system with a sphere in an
> // zylindrical capacitor.
> // It should not hurt to have negative radii aslong as the system is
> //perfectly symmetric..
> { Region All ; Jacobian Vol ; }
> } }
> }
>
> Integration {
> { Name Int ; Case { { Type Gauss ;
> Case {
> // 3D elements are not relevant
> // This block defines the accuracy for the numerical integrations
> // Higher NumberOfPoint should correspond to higher accuracy in case
> // of nonlinear behaviour within single cells.
> { GeoElement Point ; NumberOfPoints 1 ; }
> { GeoElement Line ; NumberOfPoints 3 ; }
> { GeoElement Triangle ; NumberOfPoints 4 ; }
> { GeoElement Quadrangle ; NumberOfPoints 4 ; }
> { GeoElement Tetrahedron ; NumberOfPoints 4 ; }
> { GeoElement Hexahedron ; NumberOfPoints 6 ; }
> { GeoElement Pyramid ; NumberOfPoints 8 ; }
> { GeoElement Prism ; NumberOfPoints 6 ; }
> }
> } } }
> }
>
> Constraint {
>
> { Name GlobalElectricPotential ;
> Case {
> //Boundary condition using fixed Voltages
> { Region PSElektrode; Value 0.14 ; }
> { Region PSDeckelOben; Value 0.; }
> { Region PSDeckelUnten; Value 0.; }
> { Region PSWand; Value 0.; }
> }
> }
>
> { Name GlobalElectricCharge ;
> Case {
> //Boundary Condition defining the charge of a grouped domain
> //For each grouped domain, either a charge or a potential
> //needs to be specified
> }
> }
> }
>
> FunctionSpace {
> { Name fs_vglob ; Type Form0 ; // so we have scalars
> BasisFunction {
> // ordinary nodal basis functions everywhere but for the grouped domains,
> // which will be grouped of course.
> // Then each grouped domain constituent can only have a single shared value
> { Name sn ; NameOfCoef vn ; Function BF_Node ;
> Support Region[{Vol}] ; Entity NodesOf[ All,Not Grouped] ; }
> { Name sf ; NameOfCoef vfu ; Function BF_GroupOfNodes ;
> Support Vol ; Entity GroupsOfNodesOf[ Grouped] ; }
> }
>
> GlobalQuantity {
> { Name GlobalElectricPotential ; Type AliasOf ; NameOfCoef vfu ; }
> { Name GlobalElectricCharge ; Type AssociatedWith ; NameOfCoef vfu; }
> }
> Constraint {
> // CFoo: unused, nonexisting boundary condition
> { NameOfCoef vn ;EntityType NodesOf ; NameOfConstraint CFoo; }
> { NameOfCoef vfu ;EntityType GroupsOfNodesOf ; NameOfConstraint CFoo; }
>
> { NameOfCoef GlobalElectricCharge ; EntityType GroupsOfNodesOf ;
> NameOfConstraint GlobalElectricCharge ; }
> { NameOfCoef GlobalElectricPotential ;
> EntityType GroupsOfNodesOf ; NameOfConstraint GlobalElectricPotential ; }
> }
> }
>
> }
>
> Formulation {
> // first problem (Laplace equation with Dirichlet BC)
> { Name for_v ; Type FemEquation ;
> Quantity {
> { Name v; Type Local; NameOfSpace fs_vglob; }
> { Name Q; Type Global; NameOfSpace fs_vglob [GlobalElectricCharge]; }
> { Name V; Type Global; NameOfSpace fs_vglob [GlobalElectricPotential]; }
> }
> Equation {
> Galerkin { [ epsr[]*Dof{d v} , {d v} ] ; In Vol; Jacobian Vol ;
> Integration Int ; }
> // div epsr[] grad v=0
>
> GlobalTerm { [ -Dof{Q}/eps0 , {V} ] ; In Grouped ; }
> }
> }
> }
>
> Resolution
> {
> { Name all;System
> {
> { Name A1 ; NameOfFormulation for_v ;}
> }
> Operation
> {
> Generate[A1] ; Solve[A1] ; SaveSolution[A1] ;
> }
> }
> }
>
> PostProcessing {
> { Name all ; NameOfFormulation for_v; Quantity
> {
> { Name v ; Value { Local { [ {v} ] ; In Vol ; Jacobian Vol; } } }
> //{ Name e ; Value { Local { [ {d v} ] ; In Vol ; Jacobian Vol; } } }
> //{ Name ne ; Value { Local { [ Norm[{d v}] ] ; In Vol ; Jacobian Vol; } } }
> //{ Name Q ; Value { Term { [ {Q} ] ; In Grouped ; } } }
> //{ Name V ; Value { Term { [ {V} ] ; In Grouped ; } } }
> //{ Name C ; Value { Term { [ {Q}/{V} ] ; In Grouped; } } }
> }
> }
> }
>
>
> PostOperation{
> { Name all ; NameOfPostProcessing all;
> Operation {
> Print[ v , OnElementsOf Vol , File "v.pos" ] ;
> //Print[ e , OnElementsOf Vol , File "e.pos" ] ;
> //Print[ ne , OnElementsOf Vol , File "ne.pos" ] ;
> //Print[Q, OnRegion Grouped, Format Table];
> //Print[V, OnRegion Grouped, Format Table];
> //Print[C, OnRegion Grouped, Format Table];
> }
> }
> }
>
>
> _______________________________________________
> getdp mailing list
> getdp at geuz.org
> http://www.geuz.org/mailman/listinfo/getdp
>
--
Dr. Ir. Ruth V. Sabariego
University of Liege, Institut Montefiore,
Dept. of Electrical Engineering & Computer Science,
Applied & Computational Electromagnetics (ACE),
Sart Tilman Campus, Grande Traverse, 10 (B28), B-4000 LIEGE, Belgium
phone: +32-4-3663737 -- fax: +32-4-3662910 -- http://elap.montefiore.ulg.ac.be/