You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
1.9 KiB

/**********
Copyright 1990 Regents of the University of California. All rights reserved.
Author: 1985 Thomas L. Quarles
Modified: September 2003 Paolo Nenzi
**********/
/*
*/
#include "ngspice/ngspice.h"
#include "ngspice/ifsim.h"
#include "capdefs.h"
#include "ngspice/sperror.h"
#include "ngspice/suffix.h"
int
CAPmParam(int param, IFvalue *value, GENmodel *inModel)
{
CAPmodel *mod = (CAPmodel*)inModel;
switch(param) {
case CAP_MOD_TNOM:
mod->CAPtnom = value->rValue+CONSTCtoK;
mod->CAPtnomGiven = TRUE;
break;
case CAP_MOD_TC1:
mod->CAPtempCoeff1 = value->rValue;
mod->CAPtc1Given = TRUE;
break;
case CAP_MOD_TC2:
mod->CAPtempCoeff2 = value->rValue;
mod->CAPtc2Given = TRUE;
break;
case CAP_MOD_CAP:
mod->CAPmCap = value->rValue;
mod->CAPmCapGiven = TRUE;
break;
case CAP_MOD_CJ :
mod->CAPcj = value->rValue;
mod->CAPcjGiven = TRUE;
break;
case CAP_MOD_CJSW :
mod->CAPcjsw = value->rValue;
mod->CAPcjswGiven = TRUE;
break;
case CAP_MOD_DEFWIDTH:
mod->CAPdefWidth = value->rValue;
mod->CAPdefWidthGiven = TRUE;
break;
case CAP_MOD_DEFLENGTH:
mod->CAPdefLength = value->rValue;
mod->CAPdefLengthGiven = TRUE;
break;
case CAP_MOD_NARROW:
mod->CAPnarrow = value->rValue;
mod->CAPnarrowGiven = TRUE;
break;
case CAP_MOD_SHORT:
mod->CAPshort = value->rValue;
mod->CAPshortGiven = TRUE;
break;
case CAP_MOD_DI:
mod->CAPdi = value->rValue;
mod->CAPdiGiven = TRUE;
break;
case CAP_MOD_THICK:
mod->CAPthick = value->rValue;
mod->CAPthickGiven = TRUE;
break;
case CAP_MOD_C:
/* just being reassured by the user that we are a capacitor */
/* no-op */
break;
default:
return(E_BADPARM);
}
return(OK);
}