[Getdp] Circular cavity
Lars Rindorf
lrf at teknologisk.dk
Fri Apr 16 08:05:54 CEST 2010
Hi Jakub
I could not reproduce your errors, but there was some incorrect programming in your file. I would recommend a direct solver, umfpack or mumps, to solve your problem. Iterative solvers have never worked for me. Your simulation works like this:
Group {
Wall = Region[29];
Vol = Region[30];
Vol_S = Region[{Wall}] ;
Vol_C = Region[{Vol}] ;
Tot = Region[{Vol_S,Vol_C}] ;
}
Function {
nu0 = 1 / (4.e-7 * Pi) ;
ep0 = 8.854187817e-12 ;
nu [] = nu0 ;
epsilon [] = ep0 * 1.00058;
sigma [] = 0.1 ;
}
Constraint {
{ Name PEC ;
Case {
// { Region Wall; Value 0. ; }
}
}
}
//Include "IntJac.pro"
/* Standard volume Jacobian */
Jacobian {
{ Name JVol;
Case { { Region Vol_C; Jacobian Vol; }
{ Region Vol_S; Jacobian Sur; }
}
}
}
/* Standard integration */
Integration {
{ Name I1 ;
Case {
{ Type Gauss ;
Case {
{ GeoElement Triangle ; NumberOfPoints 3; }
{ GeoElement Tetrahedron ; NumberOfPoints 5; }
}
}
}
}
}
FunctionSpace {
{ Name Hcurl_e_3D; Type Form1;
BasisFunction {
{ Name se; NameOfCoef ee; Function BF_Edge; Support Tot; Entity EdgesOf[All]; }
}
Constraint {
{ NameOfCoef ee; EntityType EdgesOf ; NameOfConstraint PEC; }
}
}
}
Formulation {
{ Name MW_e_3D; Type FemEquation;
Quantity {
{ Name e; Type Local; NameOfSpace Hcurl_e_3D; }
}
Equation {
Galerkin { DtDt [ epsilon[] * Dof{e} , {e} ];
In Vol_C; Integration I1; Jacobian JVol; }
Galerkin { [ nu[] * Dof{d e} , {d e} ];
In Vol_C; Integration I1; Jacobian JVol; }
Galerkin { Dt[ sigma[]*Dof{e} , {e} ];
In Vol_S; Integration I1; Jacobian JVol; }
}
}
}
Resolution {
{ Name MW_e_3D;
System {
{ Name A; NameOfFormulation MW_e_3D; Type ComplexValue; }
}
Operation {
GenerateSeparate [A]; EigenSolve[A,10,-1,0]; SaveSolutions[A];
}
}
}
PostProcessing {
{ Name MW_e_3D; NameOfFormulation MW_e_3D; NameOfSystem A;
Quantity {
{ Name e; Value{ Local{ [ {e} ] ; In Vol; } } }
{ Name e2; Value{ Local{ [ SquNorm[{e}] ] ; In Vol; } } }
}
}
}
PostOperation {
{ Name MW_e_3D; NameOfPostProcessing MW_e_3D;
Operation {
Print[ e, OnElementsOf Vol , File "e.pos" ] ;
Print[ e2, OnElementsOf Vol , File "e2.pos" ] ;
}
}
}
KR Lars
-----Oprindelig meddelelse-----
Fra: getdp-bounces at ace20.montefiore.ulg.ac.be [mailto:getdp-bounces at ace20.montefiore.ulg.ac.be] På vegne af Jakub Tesar
Sendt: 12. april 2010 10:48
Til: getdp at geuz.org
Emne: [Getdp] Circular cavity
Dear GetDP developers,
I´d like to solve resonance frequency and electric field in loaded circular cavity with an EigenSolve procedure. The .pro file is bellow. I became this request:
Frequency= 0Hz
and
No system available for EigenSolve: check `DtDt` and `GenerateSeparate`
Can somebody help me?
Thank you for your answer
Jakub Tesar, Masaryk univerzity in Brno, Czech republic
_______________________________________________________
Group {
Wall = Region[29];
Vol = Region[30];
Sur = Region[{Wall}] ;
Tot = Region[{Vol,Wall}] ;
Vol_S = Region[{Wall}] ;
Vol_C = Region[{Vol}] ;
}
Function {
nu0 = 1 / (4.e-7 * Pi) ;
ep0 = 8.854187817e-12 ;
nu [ Vol ] = nu0 ;
epsilon [ Vol ] = ep0 * 1.00058;
sigma [ Vol ] = 0 ;
}
Constraint {
{ Name PEC ;
Case {
{ Region Wall; Value 0. ; }
}
}
}
Include "IntJac.pro"
Function{
DefineFunction[epsilon, sigma, nu, J_s, K_s, NxH];
DefineVariable[ Val_Rint, Val_Rext, Freq, DFreq ] ; }
Group{
DefineGroup[ Vol, Vol_C, Vol_S, Sur, Pml] ; }
FunctionSpace {
{ Name Hcurl_e_3D; Type Form1;
BasisFunction {
{ Name se; NameOfCoef ee; Function BF_Edge; Support Tot; Entity EdgesOf[All]; }
}
Constraint {
{ NameOfCoef ee; EntityType EdgesOf ; NameOfConstraint PEC; }
}
}
}
Formulation {
{ Name MW_e_3D; Type FemEquation;
Quantity {
{ Name e; Type Local; NameOfSpace Hcurl_e_3D; }
}
Equation {
Galerkin { DtDt [ epsilon[] * Dof{e} , {e} ];
In Vol; Integration I1; Jacobian JVol; }
Galerkin { [ nu[] * Dof{d e} , {d e} ];
In Vol; Integration I1; Jacobian JVol; }
Galerkin { Dt [ J_s[] , {e} ];
In Vol_S; Integration I1; Jacobian JVol; }
}
}
}
Resolution {
{ Name MW_e_3D;
System {
{ Name A; NameOfFormulation MW_e_3D; Type ComplexValue; Frequency Freq;}
}
Operation {
GenerateSeparate [A]; EigenSolve[A,10,1,0]; SaveSolutions[A];
}
}
}
PostProcessing {
{ Name MW_e_3D; NameOfFormulation MW_e_3D; NameOfSystem A;
Quantity {
{ Name e; Value{ Local{ [ {e} ] ; In Vol; } } }
{ Name e2; Value{ Local{ [ SquNorm[{e}] ] ; In Vol; } } }
}
}
}
PostOperation {
{ Name MW_e_3D; NameOfPostProcessing MW_e_3D;
Operation {
Print[ e, OnElementsOf Vol , File "e.pos" ] ;
Print[ e2, OnElementsOf Vol , File "e2.pos" ] ;
}
}
}