⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cktdump.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Thomas L. Quarles, 1991 David A. Gates**********//*TODO: Ngspice and cider integration note: This file must be changed to be consistent with the ngspice interface. The SPICEdev structure must be changed by adding a pointer to DEVdump  and DEVacct routines (as suggested below). Paolo Nenzi Dec 2001 No more sure about this notice (2003) */    /* CKTdump(ckt)     * this is a simple program to dump the rhs vector to stdout     */#include "ngspice.h"#include "smpdefs.h"#include "cktdefs.h"#ifdef CIDER/* Begin cider integration */#include "gendefs.h"#include "devdefs.h" extern SPICEdev **DEVices;/* End cider integration */#endifvoidCKTdump(CKTcircuit *ckt, double ref, void *plot){    IFvalue refData;    IFvalue valData;#ifdef CIDER        int i;#endif    refData.rValue = ref;    valData.v.numValue = ckt->CKTmaxEqNum-1;    valData.v.vec.rVec = ckt->CKTrhsOld+1;    (*(SPfrontEnd->OUTpData))(plot,&refData,&valData);#ifdef CIDER/*  * Begin cider integration:  * This code has been hacked changing the SPICEdev structure. * SPICEdev now has DEVdump and DEVacct as members. The  * following code works for any devices but as of this  * comment is written, only numerical devices have DEVdump * and DEVacct routine (NUMD, NBJT, NUMD2, NBJT2, NUMOS). */   for (i=0; i<DEVmaxnum; i++) {    if ( ((*DEVices[i]).DEVdump != NULL) &&                (ckt->CKThead[i] != NULL) ){                (*((*DEVices[i]).DEVdump))(ckt->CKThead[i],ckt);    }  }/* End cider integration */#endif /* CIDER */}#ifdef CIDER/* * Routine to dump statistics about numerical devices *  * The following lines are historical: * This is inefficient, because we have to look up the indices * of the devices in the device table.  Would be simpler if * DEVices had an entry for an accounting function, so that indirection * could be used. * ------------------ * The SPICEdev structure has been hacked and now has a DEVacct entry. */ voidNDEVacct(CKTcircuit *ckt, FILE *file){    int i;    if ( !ckt->CKTisSetup ) {      return;    }     for (i=0; i<DEVmaxnum; i++) {        if ( ((*DEVices[i]).DEVacct != NULL) &&                (ckt->CKThead[i] != NULL) ){                (*((*DEVices[i]).DEVacct))(ckt->CKThead[i],ckt, file);    }   }    return;}/* End cider integration */#endif /* CIDER */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -