use of com.cas.circuit.vo.IP in project TeachingInSimulation by ScOrPiOzzy.
the class R method mergeParallel2.
private void mergeParallel2() {
assert isopoList.size() == 2;
for (IP ip : isopoList) {
passedIP.clear();
mergeParallel(ip);
}
}
use of com.cas.circuit.vo.IP in project TeachingInSimulation by ScOrPiOzzy.
the class R method shutPowerDown.
public void shutPowerDown() {
List<ElecCompDef> elecCompList = new ArrayList<ElecCompDef>();
for (IP ip : allIsopoList) {
findElecComp(elecCompList, ip.getTerminals(), true);
ip.clearVolt();
}
cleanProperty();
for (ElecCompDef elecCompDef : elecCompList) {
if (elecCompDef != null) {
elecCompDef.doMagnetism();
}
}
if ("Tmp_REMOVE".equals(voltage.getEnv())) {
return;
}
R removed = cache.remove(voltage.getEnv());
boolean result = this == removed;
if (result) {
Logger.getLogger(R.class.getCanonicalName()).info("移除电源" + voltage.getEnv() + "剩余电源" + String.valueOf(cache.size()) + ":" + cache.values().toString());
}
}
use of com.cas.circuit.vo.IP in project TeachingInSimulation by ScOrPiOzzy.
the class R method mergeSeries.
/**
*/
private void mergeSeries() {
for (IP ip : isopoList) {
if (toRemoveIsopoList.contains(ip)) {
continue;
}
if ((ip.getTerminals().contains(startTerminal) && ip.getTerminals().contains(endTerminal)) && ip.getCRList().size() != 1) {
// 短路
isopoList.remove(ip);
for (IP removeIp : isopoList) {
removeIp.detory();
}
isopoList.clear();
isopoList.add(ip);
return;
}
if ((ip.getTerminals().contains(startTerminal) || ip.getTerminals().contains(endTerminal))) {
continue;
}
if ((!ip.getTerminals().contains(startTerminal) && !ip.getTerminals().contains(endTerminal)) && ip.getCRList().size() > 2) {
readyToCheckIPs.add(ip);
continue;
}
passedIP.clear();
List<CR> seriesResistanceList = findSeriesResistance(ip);
// FIXME Modify
if (seriesResistanceList.size() > 0) {
CR one = new CR(this);
one.setType(CR.SERIES);
for (CR cr : seriesResistanceList) {
one.attach(cr);
}
one.merge();
}
}
}
Aggregations