-
Notifications
You must be signed in to change notification settings - Fork 30
Description
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.