Kassiopeia
Kassiopeia copied to clipboard
ERROR KGslErrorHandler.cxx and domain error (1) in ellint.c
I'm trying to simulate an electron gun with a simple setup that includes two electrodes with one with a hole. The electrons generated from the cathode are accelerated to the anode with a hole. Two termination events are defined ksterm_max_z
and ksterm_death
, this one seems to produce this error each time the electrons collide with the anode surface
16:55:04 [ERROR] l/Utility/KGslErrorHandler.cxx:84 GSL error: ellint.c:542: domain error (1)
1# gsl_sf_ellint_Ecomp_e
2# gsl_sf_ellint_Ecomp
3# KEMField::KElectrostaticAnalyticRingIntegrator::EFieldRFromChargedRing(double const*, double const*)
4# KEMField::KGaussianQuadrature::operator()(double (**)(double const*, double const*), int, double, double, double*, int, double*) const
5# KEMField::KElectrostaticAnalyticConicSectionIntegrator::ElectricField(KEMField::KConicSection const*, KEMField::KThreeVector_<true> const&) const
****************[KSSTEP WARNING MESSAGE] Failed to execute step <1501> (GSL error: ellint.c:542: domain error (1))
while electrons passing through the hole activate the ksterm_max_z termination
. In fact, if I open the root file I find b'gsl_error'
and b'term_max_z'
. Instead, if I use the anode without a hole like the cathode, I don't get this error, but b'term_death_surface'
.
I started to suppose that could be a problem related to the attribute radial_mesh_count
of the cylinder_tube_space
but it doesn't change and I've already defined the axial_mesh
and electrostatic_dirichlet
.
The kemfield
I'm using is the same as the DipoleTrapSimulation.xml
example.