private Void readPhaseTapChanger(String[] tokens) { int num = Integer.parseInt(tokens[1]); int tap = Integer.parseInt(tokens[2]); String id = mapper.getId(AmplSubset.PHASE_TAP_CHANGER, num); TwoWindingsTransformer twt = network.getTwoWindingsTransformer(id); if (twt == null) { throw new AmplException("Invalid two windings transformer id '" + id + "'"); } PhaseTapChanger ptc = twt.getPhaseTapChanger(); ptc.setTapPosition(ptc.getLowTapPosition() + tap - 1); return null; }
@Override public void modify(Network network, ComputationManager computationManager) { TwoWindingsTransformer transformer = network.getTwoWindingsTransformer(transformerId); if (transformer == null) { throw new PowsyblException("Two windings transformer '" + transformerId + "' not found"); } PhaseTapChanger tapChanger = transformer.getPhaseTapChanger(); if (tapChanger == null) { throw new PowsyblException("Transformer " + transformerId + " is not a PST"); } tapChanger.setRegulationMode(PhaseTapChanger.RegulationMode.FIXED_TAP); tapChanger.setTapPosition(tapPosition); } }
@Override public void modify(Network network, ComputationManager computationManager) { Objects.requireNonNull(network); TwoWindingsTransformer phaseShifter = network.getTwoWindingsTransformer(phaseShifterId); if (phaseShifter == null) { throw new PowsyblException("Transformer '" + phaseShifterId + "' not found"); } if (phaseShifter.getPhaseTapChanger() == null) { throw new PowsyblException("Transformer '" + phaseShifterId + "' is not a phase shifter"); } phaseShifter.getPhaseTapChanger().setTapPosition(tapPosition); phaseShifter.getPhaseTapChanger().setRegulating(false); phaseShifter.getPhaseTapChanger().setRegulationMode(PhaseTapChanger.RegulationMode.FIXED_TAP); } }
phaseShifter.getPhaseTapChanger().setTapPosition(tapPos); phaseShifter.getPhaseTapChanger().setTapPosition(optimalTap); phaseShifter.getPhaseTapChanger().setTapPosition(optimalTap);