@Override public List<CommandExecution> before(Path workingDir) throws IOException { network.getVariantManager().setWorkingVariant(workingStateId); copyInputFiles(workingDir); return buildCommandExecution(); }
network.getVariantManager().setWorkingVariant(workingStateId); .supplyAsync(() -> { network.getVariantManager().cloneVariant(VariantManagerConstants.INITIAL_VARIANT_ID, postContStateId); network.getVariantManager().setWorkingVariant(postContStateId); .thenComposeAsync(aVoid -> loadFlow.run(postContStateId, postContParameters), computationManager.getExecutor()) .handleAsync((lfResult, throwable) -> { network.getVariantManager().setWorkingVariant(postContStateId); network.getVariantManager().setWorkingVariant(workingStateId); return resultBuilder.build(); });
@Override public void onPostContingencyResult(RunningContext context, PostContingencyResult postContingencyResult) { String workingStateId = context.getNetwork().getVariantManager().getWorkingVariantId(); for (LimitViolation limitViolation : postContingencyResult.getLimitViolationsResult().getLimitViolations()) { if (limitViolation.getLimitType() == LimitViolationType.CURRENT) { Branch branch = context.getNetwork().getBranch(limitViolation.getSubjectId()); context.getNetwork().getVariantManager().setWorkingVariant(context.getInitialStateId()); limitViolation.addExtension(CurrentExtension.class, new CurrentExtension(branch.getTerminal(limitViolation.getSide()).getI())); double preContingencyValue = branch.getTerminal(limitViolation.getSide()).getP(); context.getNetwork().getVariantManager().setWorkingVariant(workingStateId); double postContingencyValue = branch.getTerminal(limitViolation.getSide()).getP(); limitViolation.addExtension(ActivePowerExtension.class, new ActivePowerExtension(preContingencyValue, postContingencyValue)); } } } }
network.getVariantManager().cloneVariant(stateId, tmpStateId); try { network.getVariantManager().setWorkingVariant(tmpStateId); LoadFlowFactory loadFlowFactory = config.getLoadFlowFactoryClass().newInstance(); LoadFlow loadFlow = loadFlowFactory.create(network, computationManager, 0); network.getVariantManager().setWorkingVariant(stateId);