joeydelp / josim Goto Github PK
View Code? Open in Web Editor NEWSuperconductor Circuit Simulator
License: MIT License
Superconductor Circuit Simulator
License: MIT License
Is it possible to model a SQUID in JoSIM?
In particular how to introduce the externally applied magnetic field?
Hello
I am trying to use JoSIM to simulate Random Number Generator which relies on thermal noise.
I noticed that JoSIM use rand()
to introduce Gaussian random number in noise source.
Does it mean that if I run simulation with a long period, it will show repeated behavior pattern in circuit since rand()
gives a pseudo random number.
Besides, is it possible to run simulation with process variation in JoSIM?
Thanks
Dear Joey,
Thank you for making josim. I don't quite understand what AREA means when using junction. Consider the following netlist statement.
.model jjmit jj(rtype=1, vg=2.8mV, cap=0.07pF, r0=160, rn=16, icrit=0.1mA)
B1 node1 node2 jjmit area=1.5
I know that AREA is a modifier of icrit, which means
Thank you.
Best Regards
Mengfei Zhao
Dear Joey,
I am using JoSIM for JTWPA simulations, and for these purposes I need to apply two harmonic signals simultaneously. I am trying to do it the next way:
PSIG 0 1 sin (0 10 14G)
PPUM 0 1 sin (0 0.01 6.9G)
Here I tried to apply phase harmonic signals with different amplitudes with no biasing and frequencies at 14 and 6.9 GHz.
But unfortunately I am getting the next error:
Matrix is singular. Matrix will have no solution.
Please check the components in the netlist.
The program will abort.
I do not quite understand why it should cause a matrix with no solution, basically I just want to apply a sum of two harmonic signals. Can this problem be solved in the last version?
Also I would like to mention that it is not possible to do any math operation with outputs as far as I know. For example, if I want to look at the sum of currents through the dc SQUID, I can not just write
.print i(B01)+i(B02)
but I have to make the next output
.print i(B01)
.print i(B02)
and then sum it in OriginPro. It is not critical but causes light inconviniences.
Best regards,
Daniil
I am having trouble using custom waveforms in v2.6 josim, please let me check if I am using it correctly.
Net list
R0 1 2 100
C0 2 0 100p
V0 1 0 cus(CUS.TXT 10p 1V 0)
.tran 0.1p 1000ps
.file out.csv
.print v(V0)
.print v(C0)
.print v(R0)
CUS.TXT
3 0 1 2 3 4 5 4 3 2 1 0 0 -1 -2 -3
I confirmed that it was working in v2.4. Was there a change in syntax?
Using josim has made my simulations 10x faster than jsim. thanks for making josim.
Hi Joey,
Thanks for making JoSIM.
In the paper, you wrote down the stamp for inductance like this,
The third row of the stamp is v=Ldi/dt. However, it seems the first two rows are I=0 and -I=0 which I don't know where they come from and what's the meaning of them.
Do I understand the matrix representation correctly?
Hi Joey,
A big thank you for creating JoSim!
I would like to ask you if it is possible in JoSim to perform simulations sweeping a parameter automatically.
In the documentation I see that with the .param command you can define a variable X and its value, but I don't understand if you can change the value of X in a range.
For example, I want to perform five transient analysis where I change the value of a resistor Rx each time in the range Rx = (1,2,3,4,5).
Can I do that using the .param command?
Best
Angelo
Hello!
I did the installation according to your instructions. At the stage "cmake .." I had the first error:
At the stage "cmake --build . --config Release" I had the second error:
At the same time, I updated cmake and gcc:
The installation was performed on the CentOS 7 Minimal operating system.
Can you please tell me how this error can be fixed?
Hi!
I am trying to install JoSIM on Linux mint but I have an error
In file included from /home/anatoly/Documents/JoSIM/include/JoSIM/BasicComponent.hpp:6:0, from /home/anatoly/Documents/JoSIM/include/JoSIM/Capacitor.hpp:6, from /home/anatoly/Documents/JoSIM/src/Capacitor.cpp:4: /home/anatoly/Documents/JoSIM/include/JoSIM/TypeDefines.hpp:8:20: fatal error: optional: No such file or directory compilation terminated. CMakeFiles/josim.dir/build.make:75: recipe for target 'CMakeFiles/josim.dir/src/Capacitor.cpp.o' failed make[2]: *** [CMakeFiles/josim.dir/src/Capacitor.cpp.o] Error 1 CMakeFiles/Makefile2:293: recipe for target 'CMakeFiles/josim.dir/all' failed make[1]: *** [CMakeFiles/josim.dir/all] Error 2 Makefile:145: recipe for target 'all' failed make: *** [all] Error 2
UPD: ok I see that the problem in c++17 libs. I changed everywhere optional
to experimental\optional
. However now I have an error AnalysisType.hpp:23:3: error: expression โ<throw-expression>โ is not a constant-expression
Hi all, hope you're doing well. Was testing Josim (like the cmake build system!) and found some issues with subcircuits regarding input nodes labels and parameters.
.print
statements, e.g.:X1 TEST 1 0
I1 0 1 1.0
.subckt TEST IN GND
R1 IN GND 10.0
.ends
.tran 0.25p 5n 0 1.0p
.print v(IN.X1)
.end
yields
W: Controls
Unknown device/node IN|X1
Cannot store results for this device/node.
Ignoring this store request.
Expected behavior would be to look up the proper node label based on the input mapping. To be fair this is easy to work around, but is expected behavior for those coming from WRspice (IIRC).
2. Subcircuit parameters appear to be broken (unless I'm the broken one!), e.g.:
X1 TEST 1 0 RES=10.0
I1 0 1 1.0
.subckt TEST IN GND
R1 IN GND RES
.ends
.tran 0.25p 5n 0 1.0p
.print v(1)
.end
yields
E: Parsing
The following variables were not found/defined.
Please ensure that these variables exist within the netlist.
Variables:
RES
Another attempt, trying to interpret the manual's instructions for declarations:
X1 TEST 1 0 RES=5.0
I1 0 1 1.0
.subckt TEST IN GND RES=10
R1 IN GND RES
.ends
.tran 0.25p 5n 0 1.0p
.print v(1)
.end
which yields
E: Input
The IO of line "X1" does not match the subcircuit IO.
Please check the line and ensure correct IO and that parameters do not contain spaces.
Expected behavior is to substitute the indicated LABEL=VALUE pairs into the subcircuit instantiation, as indicated in the manual and by custom. I'll try to dig through the source a bit, but wanted to bring this up. Thanks for pushing this project forwards!
Environment: Win10+Visual Studio Community 2017 with the basic C++ for desktop installed
Here is my building result:
It says that it cannot find the file j_model.cpp.
Does this file exist? Or is this file user defined?
One more question, will the conversion warning have any influence on the usage?
Sorry for the disturbance.
1>------ Rebuild All started: Project: JoSIM, Configuration: DEBUG_None x64 ------
1>j_components.cpp
1>j_errors.cpp
1>j_input.cpp
1>josim.cpp
1>j_matrix.cpp
1>c:\users\tsyw\desktop\josim\josim-master\src\j_matrix.cpp(1353): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_matrix.cpp(1354): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>j_misc.cpp
1>c:\users\tsyw\desktop\josim\josim-master\src\j_misc.cpp(292): warning C4244: 'argument': conversion from 'double' to 'const unsigned __int64', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_misc.cpp(334): warning C4244: 'argument': conversion from 'double' to '__int64', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_misc.cpp(342): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_misc.cpp(376): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_misc.cpp(377): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_misc.cpp(411): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_misc.cpp(482): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
1>j_models.cpp
1>c1xx : fatal error C1083: Cannot open source file: '..\j_models.cpp': No such file or directory
1>j_output.cpp
1>j_parser.cpp
1>c:\users\tsyw\desktop\josim\josim-master\src\j_parser.cpp(27): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_parser.cpp(32): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>j_plot.cpp
1>c:\users\tsyw\desktop\josim\josim-master\src\j_plot.cpp(485): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_plot.cpp(487): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_plot.cpp(489): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>j_simulation.cpp
1>c:\users\tsyw\desktop\josim\josim-master\src\j_simulation.cpp(78): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
1>c:\users\tsyw\desktop\josim\josim-master\src\j_simulation.cpp(235): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
1>Generating Code...
1>Done building project "josim.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
When working with overdamped Josephson junctions, it's often convenient to specify them in terms of their Stewart-McCumber parameter
Hi Joey
many thanks for your fantastic JoSIM. I am using it to simulate JTWPA.
It would be very nice to have the possibility to simulate nonlinear inductors of the type L(I) = Lo (1 + a I^2), to include kinetic inductance effects.
Do you think it is feasible?
many thanks
Sergio
Hi Joey,
I have tried installing the JoSIM, but the system displays the error in the stage of "Building CXX object CMakeFiles/josim.dir/src/Simulation.cpp.o".
I work on Ubuntu 22.04.1 LTS with gcc 11.3.0 and cmake 3.22.1. I also tried to install it with gcc 8 and specified that I use C++17: cmake .. -DCMAKE_CXX_FLAGS="--std=c++17"; but it didn't help.
Sincerely,
Emil
Dear Joey,
I have a problem which is the Anaconda 3 Python 3.7. When I try to compile it is give me the below error.
Severity Code Description Project File Line Suppression State
Error LNK1181 cannot open input file 'python36.lib' JoSIM C:\JoSIM-master\src\josim_vs\LINK 1
Can you kindly advise how to fix this issue?
Thank you.
Best Regards
Hassan
Error build-up causing anomalous effects in the JJ after long simulations.
Hello Joey,
When I use the ivcurve.py file, I need to supply it with two command-line arguments, but I don't know what those two arguments should be. As shown in the figure, what do argv[1] and argv[2] refer to? Did you tell me how to use this file correctly?
In addition to, I hope you can provide more examples for beginners and explain in more detail what each line in XXX.cir does or how it should be set up.
Thank you.
Best Regards
Peng Zhang
Dear Joey,
Thank you for the tool. I want to know should we change the josim.vcxproj.user file to change the input path file? If yes, we should reopen the visual studio and reopen the solution to change the input file to the simulator?
Thank you.
Best Regards
Hassan
Thanks for making JoSIM - it's great and has been super straight forward to get up to speed with!
However, I'm a bit confused on a "Cannot convert string to double" error I keep getting when using the .param command. I run into the issue when trying to define a .param expression for variables passed into PWL time points or .tran analysis tstep or tstop values. I've played around with the format that I'm using to define the parameter expression (i.e. "2m" vs "2e-3" vs "0.002" etc.), but nothing seems to work. Is it just not possible to define variables for these inputs?
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.