Git Product home page Git Product logo

josim's People

Contributors

joeydelp avatar pleroux0 avatar rikushoney avatar sho-me avatar sig0-totoro avatar tanetakumi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

josim's Issues

SQUID simulation

Is it possible to model a SQUID in JoSIM?

In particular how to introduce the externally applied magnetic field?

Simulation with noise

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

Question about AREA of junction.

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 $Ic_{jj}=area \cdot icrit$. But is AREA just a modifier of icrit? what about cap, r0 and rn? Is AREA still a modifier of cap, r0 and rn? That is to say $Cap_{jj}=area \cdot cap, \quad r0_{jj}=area \cdot r0_{model}, \quad rn_{jj}=area \cdot rn_{model}$.

Thank you.

Best Regards

Mengfei Zhao

Can not apply two harmonic signals simultaneously

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

Usage of custom wave source

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.

Don't understand the component stamp

Hi Joey,

Thanks for making JoSIM.
In the paper, you wrote down the stamp for inductance like this,
image

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?

Parameter sweep simulations

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

JoSIM installation CentOS 7

Hello!

I did the installation according to your instructions. At the stage "cmake .." I had the first error:
cmake
At the stage "cmake --build . --config Release" I had the second error:
cmake build
At the same time, I updated cmake and gcc:
version
The installation was performed on the CentOS 7 Minimal operating system.

Can you please tell me how this error can be fixed?

Error while building the JoSIM

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

Subcircuit questions

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.

  1. Subcircuit input Node labels cannot be referenced in .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!

Some issues about building this project

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 ==========

Allow specifying the Stewart-McCumber parameter in JJ models

When working with overdamped Josephson junctions, it's often convenient to specify them in terms of their Stewart-McCumber parameter $\beta_c$ instead of their shunt resistance(s). Would it be a good idea to allow us to specify $\beta_c$ when declaring a model? $\beta_c$ is related to the other model parameters as:
$$\beta_c = \frac{2\pi C R^2 I_c}{\Phi_0}$$

add nonlinear inductor

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

Issue with installation

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".

error

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

Anaconda 3 Python Version 3.7 problem

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

The issues about ivcurve.py

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?
image

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

Windows: How to change the input path file?

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

Parameter expression in PWL time value or .tran command?

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.