📄 cktic.c
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1985 Thomas L. Quarles**********/#include "spice.h"#include <stdio.h>#include "cktdefs.h"#include "smpdefs.h"#include "util.h"#include "sperror.h"#include "devdefs.h"#include "suffix.h"extern SPICEdev *DEVices[];intCKTic(ckt) CKTcircuit *ckt;{ int error; int size; int i; CKTnode *node; size = SMPmatSize(ckt->CKTmatrix); for (i=0;i<=size;i++) { *(ckt->CKTrhs+i)=0; } for(node = ckt->CKTnodes;node != NULL; node = node->next) { if(node->nsGiven) { node->ptr = SMPmakeElt(ckt->CKTmatrix,node->number,node->number); if(node->ptr == (double *)NULL) return(E_NOMEM); ckt->CKThadNodeset = 1; *(ckt->CKTrhs+node->number) = node->nodeset; } if(node->icGiven) { if(! ( node->ptr)) { node->ptr = SMPmakeElt(ckt->CKTmatrix,node->number, node->number); if(node->ptr == (double *)NULL) return(E_NOMEM); } *(ckt->CKTrhs+node->number) = node->ic; } } if(ckt->CKTmode & MODEUIC) { for (i=0;i<DEVmaxnum;i++) { if( ((*DEVices[i]).DEVsetic != NULL) && (ckt->CKThead[i] != NULL) ){ error = (*((*DEVices[i]).DEVsetic))(ckt->CKThead[i],ckt); if(error) return(error); } } } return(OK);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -