[Getdp] Error: Zero row encountered in ILU

nicole.frindt at bioquant.uni-heidelberg.de nicole.frindt at bioquant.uni-heidelberg.de
Thu Jan 8 12:09:35 CET 2009


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