On startup it receives a header, as defined in d_process.h, and parameters are received as standard args. During run-time it receives time (double) + byte array for digital in, on return it sends byte array, of size D_PROCESS_DLEN(DIGITAL_IN/OUT) respectively. Negative time is considered as reset. Have a look at the demo: https://www.isotel.org/mixedsim/embedded/motorforce/index.html
Greatly depends on your needs; in my particular case I was interested in B-H curve only so I've made a simple model that is easy to get data from the data-sheets and runs very fast. So far without the losses, something to be done in some future (that would allow you to enter Hc parameter): https://www.isotel.eu/mixedsim/platiseferromodel/index.html The most comprehensive model to my knowledge is still the Jiles Atherton. Attached below is a Verilog-A implementation (see ngspice Verilog-A manuals...
Greatly depends on your needs; in my particular case I was interested in B-H curve only so I've made a simple model that is easy to get data from the data-sheets and runs very fast. So far without the losses, something to be done in some future (that would allow you to enter Hc parameter): https://www.isotel.eu/mixedsim/platiseferromodel/index.html The most comprehensive model to my knowledge is still the Jiles Atherton. Attached below in is a Verilog-A implementation (see ngspice Verilog-A manuals...
Greatly depends on your needs; in my particular case I was interested in B-H curve only so I've made a simple model that is easy to get data from the data-sheets and runs very fast. So far without the losses, something to be done in some future (that would allow you to enter Hc parameter): https://www.isotel.eu/mixedsim/platiseferromodel/index.html The most comprehensive model to my knowledge is still the Jiles Atherton, which you may source in as an Verilog-A (see ngspice Verilog-A manuals and examples),...
Obviously not as you have a python version running. Dump i/o in both cases. Check python if it is providing enough and equal data if you invoke it yourself, regardless of ngspice.
debug/dump and compare the i/o flow in both cases ... there should be a significant difference.
I've just quickly checked the two examples: graycode (examples/xspice/d_process) and the mixedsim motorforce with the latest ngspice-44 and it all works, using the pipe. I've noticed one detail in the code in the case there is an issue: /* NOTE that if pspice_compat was called it will replace a single | with || in the process_file parameter string. Only deal with trailing |. */
Here you have PRS demo: https://www.isotel.eu/mixedsim/intro/prssine.html