Вообще, дамы и господа, прогарммировать подобного рода задачи (кстати говоря, из курса дифференциальных уравнений) можно на любом доступном языке программирования, поддерживающим графические компоненты. Под графическим компонентом можно рассматривать в крайнем случае даже канву самой формы. Но проблема вовсе не в этом. А в том, какими методами вы хотите смоделировать силовые линии. Советую для этого почитать "Применение метода конечных элементов", а для практики использовать книжку
Programming Finite Elements in Java. Я предложил этот метод, как наиболее изящный и оптимальный и в плане работы, и в плане обучения... Ну и конечно же, знание дифференциальных уравнений электромагнитных колебаний и их аппроксимация для метода конечных элементов.
Уверен, несколько месяцев пролетят незаметно =)