[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/