public: void calculateFieldE(){ CellArray ca = *Calculater::ca; for(int axis=0; axis<3; axis++){ for(int i=0;i<ca.getSize();i++){ Cell cell = *ca.getCell(i); if(cell.getRib(axis, Cell::dr)->getMark() == Rib::INTERNAL_RIB_MARK) calculateFieldE(cell.getRib(axis, Cell::dr)); } } }
public: void calculateFieldB(){ CellArray ca = *Calculater::ca; for(int axis=0; axis<3; axis++){ for(int i=0;i<ca.getSize();i++){ Cell cell = *ca.getCell(i); if(cell.getSide(axis, Cell::BACKWARD_SIDE)->getMark() == Side::INTERNAL_SIDE_MARK) calculateFieldB(cell.getSide(axis, Cell::BACKWARD_SIDE)); } } }
public: void calculateFlows(){ cout << "test" << endl; CellArray ca = *Calculater::ca; for(int axis=0; axis<3; axis++){ for(int i=0;i<ca.getSize();i++){ Cell lc = *ca.getCell(i); if(lc.getCell(axis, Cell::FORWARD_SIDE) == NULL) continue; Cell rc = *lc.getCell(axis, Cell::FORWARD_SIDE); lc.getSide(axis, Cell::FORWARD_SIDE)->setFlow(calculateFlow(axis, lc, rc)); } } }