private: void calculateFieldB(Side* side){ int axis = side->getAxis(); double fEx = side->getRib(Side::UP_RIB)->getE() + side->getRib(Side::UP_RIB)->getdE(); double bEx = side->getRib(Side::DOWN_RIB)->getE() + side->getRib(Side::DOWN_RIB)->getdE(); double fEy = side->getRib(Side::RIGHT_RIB)->getE() + side->getRib(Side::RIGHT_RIB)->getdE(); double bEy = side->getRib(Side::LEFT_RIB)->getE() + side->getRib(Side::LEFT_RIB)->getdE(); double dx = side->getBCell()->getH((axis+1)%3); double dy = side->getBCell()->getH((axis+2)%3); double dEx = fEx - bEx; double dEy = fEy - bEy; double dB = -1.0 * Constants::c * ca->getTimeStep() * (dEy/dx - dEx/dy); side->setdB(dB); }