Search in sources :

Example 11 with IP

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);
    }
}
Also used : IP(com.cas.circuit.vo.IP)

Example 12 with 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());
    }
}
Also used : ElecCompDef(com.cas.circuit.vo.ElecCompDef) CR(com.cas.circuit.vo.CR) IP(com.cas.circuit.vo.IP) ArrayList(java.util.ArrayList) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList)

Example 13 with IP

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();
        }
    }
}
Also used : IP(com.cas.circuit.vo.IP) CR(com.cas.circuit.vo.CR)

Aggregations

IP (com.cas.circuit.vo.IP)13 CR (com.cas.circuit.vo.CR)6 ArrayList (java.util.ArrayList)5 CopyOnWriteArrayList (java.util.concurrent.CopyOnWriteArrayList)5 ElecCompDef (com.cas.circuit.vo.ElecCompDef)3 ResisRelation (com.cas.circuit.vo.ResisRelation)2 Terminal (com.cas.circuit.vo.Terminal)2