-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from tinix84/master
GeckoCIRCUITS collection
- Loading branch information
Showing
725 changed files
with
1,615,084 additions
and
859 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,4 +8,6 @@ dist/ | |
.classpath | ||
.settings | ||
.vscode | ||
.project | ||
.project | ||
/bin_jdk13/jdk-13.0.2 | ||
/bin_jdk8/jdk1.8.0_261 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# FAQ | ||
(transcription of http://www.gecko-research.com/about-us.html ) | ||
## What was your motivation to write another simulator? | ||
|
||
In fact, GeckoCIRCUITS is just part of an integrated package of tools we will provide for power electronics simulation. The combined platform allows very fast and highly accurate multi-domain simulation. Within the Power Electronic Systems Laboratory (PES) at the ETH Zurich we experienced a need for a tightly integrated tool with a convenient user interface. Our goal was to create a multi-domain simulation tool to reduce development time and increase product quality. | ||
|
||
Our design goals were: | ||
|
||
- Thermo-electrical simulation made easy, e.g. transient junction temperatures, or short-term overload temperatures. | ||
- To integrate features like the EMI-Testreceiver for EMI filter design. Sometimes new features are needed to solve a design problem quickly. With GeckoCIRCUITS this now can be done. | ||
- Testing new models and algorithms. Most of the researchers of the PES, ETH Zurich, also build hardware. So we have a direct access to testing and verifying our theories. | ||
- To establish an easy-to-learn tool for the PhD and MSc students taking power electronics courses at the ETH Zurich. | ||
- To get a very fast circuit simulator with an open and easy-to-use Java-Interface. | ||
With Java, there are no problems with a partly inhomogeneous IT environment (Windows, Unix, Solaris). | ||
|
||
## What does "Gecko" mean? | ||
|
||
We spend some time thinking about a good company name. We didn't want to have another acronym with "sim" or "soft" included, and/or with a diode in the logo. Concerning the logo we had a longer discussion about frogs vs. chameleons, and finally we agreed on the gecko. Geckos are flexible, quick, useful and have some unique and amazing abilities ... just like our software. | ||
|
||
## The simulator is written in Java. Isn't Java too slow for this task? | ||
|
||
When we wrote iPES in 2001, Java was much slower than now. Back then, we had to optimize the speed of the simulation code in order to make the numerical simulations work in a web browser. With this knowledge "how to make Java really fast" we developed the algorithms of GeckoCIRCUITS. Since then the calculation speed of the Java Virtual Machine has improved significantly. Today, GeckoCIRCUITS is extremely fast. It would not be even faster if written in C++, especially when you combine the circuit simulation with thermal simulation. Perform your own benchmarks with our free trial version (trial@gecko-research.com)! | ||
|
||
## We are a small company with limited resources. We would like to integrate simulation into our design process but ... | ||
|
||
Gecko-software was designed to solve this problem: It is very easy to learn and use, and performs the hard work of calculating losses and junction temperatures, building thermal models, optimizing heat sink structures, or calculating EMI effects without much user-interaction. One can become familiar with the software and the features within a short time, and will be able to use it even on a part-time base. We think it is the perfect way to get multi-domain aspects into your power electronic design. | ||
|
||
## Who is behind "Gecko-Research"? | ||
|
||
Gecko-Research was founded by Uwe Drofenik, Andreas Müsing, Johann W. Kolar and Beat Seiler in 2008 as an ETH Zurich Spin-Off. Gecko software is based on research results of the Multi-Domain Simulation and Optimization Group of the PES, ETH Zurich. The software is widely used in research projects at PES aiming for advanced power electronics concepts and finally hardware prototypes. | ||
|
||
## My background is electrical engineering. But I would like to get knowledge in thermal design. How much effort is this? | ||
|
||
Some people say it needs at least 1000 hours to become an expert in any field, and they are probably right. Thermal design is not part of the typical education in electrical engineering but it is becoming more and more important, especially in power electronics. Therefore, getting experience in thermal design would be an excellent extension to your expertise. You can get a quick and easy start with one of our free reports. Gain experience with GeckoCIRCUITS' built-in loss calculation and thermal design tools. It's a step-by-step process but it will be very rewarding. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# GeckoCircuits | ||
|
||
## What is it? | ||
it a simulator for power electronic circuit, designed by power electronic engineer :) | ||
|
||
|
||
## How do I run it? | ||
use ./bin_jdk8/run_gecko_with_local_jdk.bat if you want to use the local jdk1.8.0_261 | ||
use ./bin_jdk8/run_gecko.bat if you want to use the java version installed in your machine | ||
|
||
## How to get started? | ||
There are many example, but really useful are the PDF tutorials: | ||
- [Beginner tutorial](/GeckoCIRCUITStutorials/GeckoCIRCUITS_beginners_tutorial.pdf) | ||
- [Basic tutorial](/GeckoCIRCUITStutorials/GeckoCIRCUITS_tutorial_basics_EN.pdf) | ||
|
||
## Examples | ||
### DC/DC topologies | ||
- Buck converter | ||
- [buck with ideal switch](./resources/Education_ETHZ\ex_1.ipes) | ||
- ".\resources\education_www.ipes.ethz.ch\buck_simple.ipes" | ||
- [high side buck with ideal switch](./resources/Education_ETHZ/LESI_R3.ipes) | ||
- [Quasi resonant buck converter](Education_ETHZ\LESI_R5.ipes) | ||
- | ||
- Boost converter | ||
|
||
- Buck/boost converter | ||
- [buck-boost simple](".\resources\education_www.ipes.ethz.ch\buckBoost_simple.ipes") | ||
- [buck-boost with open-loop control and ideal switch](./resources/Topologies/BuckBoost_const_dutyCycle.ipes) | ||
- [buck-boost with open-loop control with thermal model](./resources/Topologies/BuckBoost_thermal.ipes) | ||
|
||
- [Cuk converter](".\resources\education_www.ipes.ethz.ch\cuk_simple.ipes") | ||
- [Sepic converter](".\resources\education_www.ipes.ethz.ch\sepic_simple.ipes") | ||
|
||
- [Flyback](): #TODO | ||
|
||
- [Flybuck](): #TODO | ||
|
||
- [Half bridge](): #TODO | ||
|
||
- Full bridge | ||
- [Unidirectional full bridge with half wave rectifier](./resources/Education_ETHZ\ex_2.ipes) | ||
|
||
### AC/DC topologies () | ||
- [Flyback AC charger Vin=120Vac Vout=100Vdc](./resources/Education_ETHZ\ex_3_pwm.ipes) | ||
- Vienna rectifier | ||
- Swiss rectifier | ||
- | ||
- Three phase Six Switches (VSR) rectifier | ||
- [Three phase VSR rectifier 250kW](./resources/Topologies/three-phase_VSR_simpleControl_250kW.ipes) | ||
- [Three phase VSR rectifier 10kW with thermal model](./resources/Topologies/ThreePhase-VSR_10kW_thermal.ipes) | ||
- [Single phase boost control with current control](".\resources\education_www.ipes.ethz.ch\boostPFC_currentControl.ipes") | ||
- [Single phase boost control with voltage control](".\resources\education_www.ipes.ethz.ch\boostPFC.ipes") | ||
|
||
### DC/AC topologies | ||
- [Three phase Inverter](Education_ETHZ\LESI_R7.ipes) | ||
- [Single phase full bridge inverter with hysteretic control mode](".\resources\education_www.ipes.ethz.ch\singlePhase_PWM_converter.ipes") | ||
- | ||
### AC/AC topologies | ||
- [Three phase Ultra Sparse Matrix Converter](./UltraSparseMatrixConverter.ipes) | ||
- [Three phase Sparse Matrix Converter with thermal model](./three-phase_ACAC_sparsematrixConverter_junction_temperature.ipes) | ||
|
||
### Various | ||
- [Gate driver supply with voltage doubler and NE555](Education_ETHZ\LESI_R2.ipes) | ||
- [Series resonant converter with phasor diagram](Education_ETHZ\LESI_R6.ipes) | ||
|
||
|
||
### Rectifiers | ||
- [Single phase diode rectifier with snubber](".\resources\education_www.ipes.ethz.ch\diode_RL_singlePH_trafo.ipes") | ||
- [Three phase diodes rectifier with snubber](Education_ETHZ\LESI_R4.ipes) | ||
- [Thyristor rectifier with active turnoff?](Education_ETHZ\LESI_R7.ipes) | ||
- [2phaseDiodeBridge_AC-Inductor.ipes](".\resources\education_www.ipes.ethz.ch\2phaseDiodeBridge_AC-Inductor.ipes") | ||
- [2phaseDiodeBridge_DC-Inductor.ipes](".\resources\education_www.ipes.ethz.ch\2phaseDiodeBridge_DC-Inductor.ipes") | ||
- [thyristor_commutation_3ph_trafo.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_commutation_3ph_trafo.ipes") | ||
- [thyristor_freeWheelingDiode.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_freeWheelingDiode.ipes") | ||
- [thyristor_interface_trafo.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_interface_trafo.ipes") | ||
- [thyristor_Jakopovic.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_Jakopovic.ipes") | ||
- [thyristor_lossOfCommutation.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_lossOfCommutation.ipes") | ||
- [thyristor_RL_2phBridge.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_RL_2phBridge.ipes") | ||
- [thyristor_RL_3ph_trafo.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_RL_3ph_trafo.ipes") | ||
- [thyristor_RL_3phBridge.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_RL_3phBridge.ipes") | ||
- [thyristor_RL_single.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_RL_single.ipes") | ||
- [thyristor_RL_singlePh_trafo.ipes](".\resources\education_www.ipes.ethz.ch\thyristor_RL_singlePh_trafo.ipes") | ||
|
||
## How can I contribute? | ||
I dont know anything is welcome, any discussion is always helpful :) | ||
|
||
## Possible improvements | ||
Designer for power electronic that run in top of Gecko | ||
Open new file in additional windows | ||
Improve gui | ||
add subblock | ||
add webserver xrpc with binary file | ||
add CISPR25 block | ||
add EMI filter designer | ||
magnetics designer based on AI?? :) | ||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
% GECKO2OCTAVE | ||
% | ||
% Runs the Gecko simulation filename and sets the global parameter_names to parameter_values. | ||
% | ||
% The inputs to a scope named OUTSCOPE in the simulation are returned in the matrix waveforms. | ||
% All input terminals of the scope must be labelled. | ||
% | ||
% | ||
function [t, waveforms] = gecko2octave(filename, parameter_names, parameter_values, gecko_path) | ||
|
||
javaaddpath(gecko_path) | ||
|
||
gesim = javaObject("gecko.GeckoRemote"); | ||
|
||
try | ||
gesim.startGui(43035); | ||
catch | ||
|
||
end | ||
|
||
try | ||
gesim.connectToGecko(43035); | ||
catch | ||
|
||
end | ||
|
||
try | ||
gesim.openFile(filename); | ||
catch | ||
gesim.shutdown(); | ||
error('Could not open file.'); | ||
end | ||
|
||
try | ||
for k = 1:length(parameter_names) | ||
gesim.setGlobalParameterValue(parameter_names{k},parameter_values(k)); | ||
end | ||
catch | ||
gesim.shutdown(); | ||
error('Could not set parameters.'); | ||
end | ||
|
||
try | ||
gesim.runSimulation(); | ||
catch | ||
gesim.shutdown(); | ||
error('Could not run simulation.'); | ||
end | ||
|
||
try | ||
Tsim = gesim.getSimulationTime(); | ||
Nw = gesim.getParameter("OUTSCOPE","numberInputTerminals"); | ||
waveforms = []; | ||
for k = 1:Nw | ||
labelname = gesim.getInputNodeName("OUTSCOPE",k-1); | ||
waveforms = [waveforms gesim.getSignalData(labelname,0,Tsim,1)]; | ||
end | ||
catch | ||
gesim.shutdown(); | ||
error('Could not read waveforms.'); | ||
end | ||
|
||
gesim.shutdown(); | ||
|
||
waveforms = rot90(waveforms); | ||
[rows,cols] = size(waveforms); | ||
t = linspace(0,Tsim,cols); | ||
waveforms = [t;waveforms]; | ||
|
||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
gecko_path='../bin_jdk8/GeckoCIRCUITS.jar' | ||
filename = './LLC.ipes' | ||
parameter_names = '' | ||
parameter_names = '' | ||
|
||
[t, waveforms] = gecko2octave(filename, parameter_names, parameter_names, gecko_path); | ||
plot(t, waveforms(2, :)) | ||
plot(t, waveforms(3, :)) | ||
plot(t, waveforms(4, :)) |
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# GeckoCircuits | ||
|
||
## What is it? | ||
|
||
This is a JDK13 runnable port of [GeckoCircuits](https://sourceforge.net/projects/geckocircuits/). | ||
The main goal was to enable HiDPI monitors to display GeckoCircuits in reasonable size. | ||
|
||
The original Readme can be found [here](README.txt) | ||
|
||
All the source is from the original author. We just modified it such that it runs with JDK13 and also set up a more or less sane Maven project. | ||
|
||
Technokrat GmbH takes no credit whatsoever on the original codebase. | ||
|
||
## Prerequisites | ||
|
||
To build, you need maven 3 installed and a more recent JDK. Everything from JDK9 to JDK13 should work. | ||
|
||
## Building | ||
|
||
Then run | ||
|
||
``` | ||
mvn package | ||
mvn package assembly:single | ||
``` | ||
|
||
This should build the `target/gecko-1.0-jar-with-dependencies.jar`. | ||
It should have a proper class path set and includes all the dependency libs. | ||
|
||
## Running | ||
|
||
Run it with | ||
|
||
```java -jar target/gecko-1.0-jar-with-dependencies.jar``` | ||
|
||
To run on HiDPI screens, use | ||
|
||
```java -Dsun.java2d.uiScale=2 -jar gecko-1.0-jar-with-dependencies.jar``` | ||
|
||
## Tests | ||
|
||
As you might have recognized during the build, 11 tests were skipped. Those were excluded as the codebase is hard to read and the tests only seem to fail because of some expectations how the environment should luck which is not given outside Netbeans. | ||
|
||
Feel free to fix those tests. |
File renamed without changes.
Binary file not shown.
File renamed without changes.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.96 MB
resources/GeckoCIRCUITStutorials/GeckoCIRCUITS_beginners_tutorial.pdf
Binary file not shown.
Binary file added
BIN
+1.42 MB
resources/GeckoCIRCUITStutorials/GeckoCIRCUITS_tutorial_basics_EN.pdf
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+560 KB
resources/GeckoMAGNETICStutorials/GeckoMAGNETICS_FlybackTransformer.pdf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+1.48 MB
resources/GeckoMAGNETICStutorials/GeckoMScriptingTutorial/GeckoMAGNETICS_ScriptTutorial.pdf
Binary file not shown.
34 changes: 34 additions & 0 deletions
34
...GeckoMAGNETICStutorials/GeckoMScriptingTutorial/script tutorial files/TutorialDesign1.gmd
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<inductor> | ||
<core name="E55"> | ||
<coreType name="EE 3 air gaps"> | ||
<dimensions> | ||
<h fixed="yes">0.027800000000000002</h> | ||
<w fixed="yes">0.055</w> | ||
<wi fixed="yes">0.0375</wi> | ||
<wm fixed="yes">0.0172</wm> | ||
<l fixed="yes">0.021</l> | ||
<gap fixed="yes">0.0012</gap> | ||
<hw fixed="yes">0.0185</hw> | ||
</dimensions> | ||
</coreType> | ||
<stackedCores fixed="yes">1</stackedCores> | ||
<coreMaterial>N87+</coreMaterial> | ||
</core> | ||
<winding name="AWG10"> | ||
<turns fixed="yes">36</turns> | ||
<bobbin> | ||
<wb fixed="yes">0.001015</wb> | ||
<hb fixed="yes">0.033299999999999996</hb> | ||
</bobbin> | ||
<windingType name="Solid Round" split="no"> | ||
<dimensions> | ||
<d fixed="yes">0.0025882</d> | ||
<s fixed="yes">4.44E-5</s> | ||
<yd fixed="yes">0.0</yd> | ||
</dimensions> | ||
</windingType> | ||
<pattern align="square" distribute="continuous" start="bottom"/> | ||
<windingMaterial>Copper (drawn wire)</windingMaterial> | ||
</winding> | ||
</inductor> |
Oops, something went wrong.