ngspice/src/spicelib/devices/numd2/numd2init.c

86 lines
1.9 KiB
C

#include "ngspice/config.h"
#include "ngspice/devdefs.h"
#include "numd2itf.h"
#include "numd2ext.h"
#include "numd2init.h"
SPICEdev NUMD2info = {
.DEVpublic = {
.name = "NUMD2",
.description = "2D Numerical Junction Diode model",
.terms = &NUMD2nSize,
.numNames = &NUMD2nSize,
.termNames = NUMD2names,
.numInstanceParms = &NUMD2pTSize,
.instanceParms = NUMD2pTable,
.numModelParms = &NUMD2mPTSize,
.modelParms = NUMD2mPTable,
.flags = DEV_DEFAULT,
#ifdef XSPICE
.cm_func = NULL,
.num_conn = 0,
.conn = NULL,
.num_param = 0,
.param = NULL,
.num_inst_var = 0,
.inst_var = NULL,
#endif
},
.DEVparam = NUMD2param,
.DEVmodParam = NUMD2mParam,
.DEVload = NUMD2load,
.DEVsetup = NUMD2setup,
.DEVunsetup = NULL,
.DEVpzSetup = NUMD2setup,
.DEVtemperature = NUMD2temp,
.DEVtrunc = NUMD2trunc,
.DEVfindBranch = NULL,
.DEVacLoad = NUMD2acLoad,
.DEVaccept = NULL,
.DEVdestroy = NUMD2destroy,
.DEVmodDelete = NUMD2mDelete,
.DEVdelete = NUMD2delete,
.DEVsetic = NULL,
.DEVask = NUMD2ask,
.DEVmodAsk = NULL,
.DEVpzLoad = NUMD2pzLoad,
.DEVconvTest = NULL,
.DEVsenSetup = NULL,
.DEVsenLoad = NULL,
.DEVsenUpdate = NULL,
.DEVsenAcLoad = NULL,
.DEVsenPrint = NULL,
.DEVsenTrunc = NULL,
.DEVdisto = NULL,
.DEVnoise = NULL,
.DEVsoaCheck = NULL,
.DEVinstSize = &NUMD2iSize,
.DEVmodSize = &NUMD2mSize,
#ifdef CIDER
.DEVdump = NUMD2dump,
.DEVacct = NUMD2acct,
#endif
#ifdef KLU
.DEVbindCSC = NUMD2bindCSC,
.DEVbindCSCComplex = NUMD2bindCSCComplex,
.DEVbindCSCComplexToReal = NUMD2bindCSCComplexToReal,
#endif
#ifdef USE_CUSPICE
.cuDEVdestroy = NULL,
.DEVtopology = NULL,
#endif
};
SPICEdev *
get_numd2_info(void)
{
return &NUMD2info;
}