Eigenmode problem with DtDof operator (and not DtDtDof)
Dear all,
I am trying to find eigenmodes for an eddy current problem (Magnetodynamics a-v formulation), i.e. for first order time derivative (DtDof). I hope to obtain as eigenvalues the inverse decay time constants for current density eigenmodes of a passive conductor. A simple demonstration is the 2D Magnetodynamic example (chapter 8.3 of the getDP manual) where I added this resolution section:
{ Name Eigenmode ;
System {
{ Name EigenSys ; NameOfFormulation Magnetodynamics_av_2D ; Type ComplexValue ; }
}
Operation {
GenerateSeparate[EigenSys] ;
EigenSolve[EigenSys, NbEigenvalues, EigenvalShiftRe, EigenvalShiftIm] ;
SaveSolutions[EigenSys] ;
}
}
(with NbEigenvalues=4, EigenvalShiftRe=0.0, EigenvalShiftIm=0.0) which results in this error:
Error : GetDP - No System available for EigenSolve: check 'DtDt' and 'GenerateSeparate'
I am using getDP version 3.5.0, both with and without the -slepc
option.
Replacing DtDof
with DtDtDof
in the formulation removes the error and produces a result that looks like eigenmodes of an oscillatory system, similar to what you'd expect from the various Helmholtz equation examples.
Curiously, source code comments in both src/kernel/Eigensolve_ARPACK.cpp:267 and src/kernel/Eigensolve_SLEPc.cpp:1266 seem to indicate that first order time derivatives should be allowed.
Am I attempting something stupid? Thanks in advance for any advice ...
Greetings
Wolfgang