Giter VIP home page Giter VIP logo

magnet's Introduction

Build MagNet Logo

Princeton MagNet is a large-scale dataset designed to enable researchers to model magnetic core loss using machine learning to accelerate the design process of power electronics. The dataset contains a large amount of voltage and current data of different magnetic components with different shapes of waveforms and different properties measured in the real world. Researchers may use these data as pairs of excitations and responses to build up analytical magnetic models or calculate the core loss to derive static models.

Website

Princeton MagNet is currently deployed at https://mag-net.princeton.edu/

MagNet Challenge Link

Download the Latest Version of the MagNet Handbook (03-25-2023)

Documentation

The web application for Princeton MagNet uses the magnet package, a python package under development where most of the functionality is exposed. Before magnet is released on PyPI, it can be installed using pip install git+https://github.com/PrincetonUniversity/magnet.

Please pip install mag-net and pip install . in the magnet folder before running streamlit.

How to Cite

If you used MagNet, please cite us with the following.

  • D. Serrano et al., "Why MagNet: Quantifying the Complexity of Modeling Power Magnetic Material Characteristics," in IEEE Transactions on Power Electronics, doi: 10.1109/TPEL.2023.3291084. Paper

  • H. Li et al., "How MagNet: Machine Learning Framework for Modeling Power Magnetic Material Characteristics," in IEEE Transactions on Power Electronics, doi: 10.1109/TPEL.2023.3309232. Paper

  • H. Li, D. Serrano, S. Wang and M. Chen, "MagNet-AI: Neural Network as Datasheet for Magnetics Modeling and Material Recommendation," in IEEE Transactions on Power Electronics, doi: 10.1109/TPEL.2023.3309233. Paper

Team Members

Princeton MagNet is currently maintained by the Power Electronics Research Lab as Princeton University. We also collaborate with Dartmouth College, and Plexim.

MagNet Team

Sponsors

This work is sponsored by the ARPA-E DIFFERENTIATE Program, Princeton CSML DataX program, Princeton Andlinger Center for Energy and the Environment, and National Science Foundation under the NSF CAREER Award.

MagNet Sponsor

magnet's People

Contributors

aerivera137 avatar dependabot[bot] avatar ds9056 avatar edogariu avatar ehavugi avatar haoranli1031 avatar lmsturmovik avatar minjiechen avatar otvam avatar vineetbansal 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

Watchers

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

magnet's Issues

Values in test_coreloss.py Need to be Modified

As the results of: 1) the units of f, B and P have been changed, and 2) the definition of duty ratios for trapezoidal wave has been changed, the assertion values in the test_coreloss.py need to be modified.

To avoid mistakes, @ds9056 let's double check the codes and define the new assertion values for future tests.

Topologies to be included

Is there any plan to include other topologies such as an LLC, Weinberg or active clamping Flyback or Forward?

Thank you very much!

And my most sincere congratulations, you have done a great work!

Fix dev requirements in setup.cfg

Ideally, setup.cfg should list all developer requirements in the dev section (like streamlit) such that developers doing a pip install -e .[dev] will get all the dependencies they need. A requirements.txt can still be provided for a more fine-grained experience of course.

How you calculate steinmetz coefficients for each material?

I'm trying some fitting approaches, but I have different results. Do you use the same method to calculate the Steinmetz coefficients for iGSE_trapezoid and iGSE_sine?

For exemple, for 3C94 material fitting datasheet data I have: [K, alpha, beta] =[3.82978222, 1.38462252, 2.73482858]
with: freq =100e3 and flux = 0.328.

So, for duty_ratios = [0.1, 0.1, 0.4], I have:
magnet.core.core_loss_iGSE_trapezoid(freq, flux, duty_ratios, K, alpha, beta, None, 0)
49101373.64068319

And defining the material I have:
magnet.core.core_loss_iGSE_trapezoid(freq, flux, duty_ratios, 0, 0, 0, '3C94', 0)
4065393.854135263

I want to know your method to understand this difference :)

Excitations, data and simulation over 500 kHz?

Dear team,

I can see now that all the database, as well as the options you provide, only allows a frequency range from 50 to 500 kHz.

Nevertheless, many applications require frequencies over 500 kHz.

Are you planning to extend your tool for frequencies over 500 kHz (for those materials that can operate over this frequency) ?

Thank you very much!! Keep up the good work.

Dutycycle symmetry

Testing 3C94 material with triangular waves under MagNet AI showed that losses are not symmetric in duty cycle. Why?

Duty Cycle representation

I am going to make changes that affect how the data is displayed. For Triangular or Trapezoidal waveforms, it is not easy to visualize losses when more than a duty cycle is displayed. I would suggest either depicting a single duty cycle (type of waveform) at a time. Or showing the plots for different duty cycles (types of waveforms) in separated plots one after the other. Any comments? How do you think it will look better?

Results of LSTM Model

I ran through a full training process of LSTM and got a trained LSTM model for N27. It works good on our dataset (see attached figure), but bad with user defined input from the website, even with the simplest triangle wave.
lstm issue

Still working on it to see if it's due to the mis-coding of the webpage or some issue from the model itself.

BTW: The iGSE results for Arbitrary section is now correct and consistent with what we may get from the Triangular and Trapezoidal sections.

Excitation waveform datasets

The following comment/code suggests that either the excitations constant needs changing, or some data is no longer needed.

excitation = st.sidebar.selectbox(f'Excitation {m}:', ("Sinusoidal", "Trapezoidal"))

The comment about waveform consolidation also suggests we need to revisit the places where the old excitation are used. In any case, this entails changing code after careful consideration.

Unifying the units of data

It's found that the units of data (mostly, the flux density T/mT and the core loss W/kW) are not consistent among the dataset, data visualization and core loss prediction. Currently doing a full check and uniforming them according to the [SI] system in the coming branch.

How are the winding losses excluded from the power loss measurements?

First of all, congratulations on the work done. I look forward to using the tool in my future research.

In the section about the calculation of losses, it is stated that the estimation of losses comes from the average of the instantaneous voltage and current multiplication. This would include both winding and core losses.

Are you neglecting them? Are you designing them to be neglectable? does this work at all operation points?

It would be good to clarify.

Best regards.

FAQ section

Added the FAQ section in the hrl-faq commit, which can be accessed from the sidebar. There are currently three questions there. Let me know if there's anything else to be included, or directly include them in ui_faq.py

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.