MagFEM: elementos finitos magnéticos 2D direto no navegadorMagFEM: 2D magnetic finite elements right in the browser

Máquinas Elétricas
Elementos Finitos
Ferramentas
Data de Publicação

27 de setembro de 2026

Há alguns meses publiquei aqui uma série sobre como projetar um núcleo EI de transformador em 2D usando FreeCAD, ElmerFEM e ParaView. Funciona, mas são três programas, conversões de arquivo no meio do caminho e uma boa dose de paciência com o arquivo .sif. Para quem só quer desenhar um indutor ou um transformador e ver o fluxo, é atrito demais.A few months ago I published a series here on how to design a 2D EI transformer core using FreeCAD, ElmerFEM and ParaView. It works, but it takes three programs, file conversions along the way and a good deal of patience with the .sif file. For someone who just wants to draw an inductor or a transformer and look at the flux, that is too much friction.

Foi daí que nasceu o MagFEM: um programa de elementos finitos magnéticos 2D, planar e axissimétrico, que roda inteiro no navegador. O núcleo numérico é C++ compilado para WebAssembly, então não há instalação, servidor nem login — os projetos ficam na sua máquina, como no draw.io.That is where MagFEM came from: a 2D magnetic finite element program, planar and axisymmetric, that runs entirely in the browser. The numerical core is C++ compiled to WebAssembly, so there is no installation, no server and no login — your projects stay on your machine, as in draw.io.

Tutorial 1: do desenho à simulaçãoTutorial 1: from drawing to simulation

O primeiro vídeo tutorial refaz o mesmo núcleo EI da série antiga, agora do começo ao fim dentro do MagFEM: desenho, materiais, bobinas, malha, solução magnetostática e visualização do resultado.The first video tutorial (in Portuguese) rebuilds the same EI core from the old series, now start to finish inside MagFEM: drawing, materials, coils, mesh, magnetostatic solution and result visualization.

O que ele fazWhat it does

  • CAD paramétrico no estilo do Onshape: linhas, arcos, círculos e retângulos, restrições geométricas, cotas com unidades e expressões ligadas a variáveis, offset, espelhamento e padrões. Importa DXF e SVG.Parametric CAD in the style of Onshape: lines, arcs, circles and rectangles, geometric constraints, dimensions with units and expressions bound to variables, offset, mirror and patterns. Imports DXF and SVG.
  • Pré-processamento: regiões detectadas automaticamente, curvas B-H, a biblioteca de materiais do FEMM 4.2 (245 materiais), chapas laminadas, fio da bobina (AWG, redondo ou retangular) e condições de contorno como no FEMM.Pre-processing: automatic region detection, B-H curves, the FEMM 4.2 material library (245 materials), laminated sheets, coil wire (AWG, round or rectangular) and FEMM-style boundary conditions.
  • Malha com o Tangle, o mesmo gerador do FEMM, compilado para WebAssembly.Meshing with Tangle, the same mesher used by FEMM, compiled to WebAssembly.
  • Solver magnetostático não linear (Newton-Raphson), transitório com correntes parasitas, AC harmônico com perdas no ferro e nos condutores (incluindo efeito pelicular e de proximidade), e acoplamento campo + circuito com um editor de esquemático.Solver: nonlinear magnetostatic (Newton-Raphson), transient with eddy currents, harmonic AC with iron and conductor losses (including skin and proximity effects), and field + circuit coupling with a schematic editor.
  • Resultados em abas, no estilo do ParaView: mapas de |B|, |H|, A e J, linhas de fluxo, gráficos sobre uma linha, integrais, tabelas de circuito (λ, L, R, perdas) e sinais no tempo.Results in tabs, ParaView style: |B|, |H|, A and J maps, flux lines, plots over a line, integrals, circuit tables (λ, L, R, losses) and signals over time.
  • Automação: toda ação vira um comando de uma API no estilo Python, e o botão “Exportar código” gera um script que reconstrói o modelo. Uma ponte local conecta scripts em Python, Matlab/Octave ou Julia ao modelo aberto no navegador — base para otimização.Automation: every action becomes a command in a Python-like API, and “Export code” writes a script that rebuilds the model. A local bridge connects Python, Matlab/Octave or Julia scripts to the model open in the browser — the basis for optimization.

O solver foi validado contra soluções analíticas, e a formulação numérica está descrita na documentação.The solver was validated against analytical solutions, and the numerical formulation is described in the documentation.

Para onde vaiWhere it is going

O foco agora são as máquinas elétricas estáticas — indutores, transformadores e atuadores —, com ênfase em acoplamento de circuito e simulação transitória. Em seguida vêm força e térmica, para simular dispositivos como contatores, e por fim as máquinas rotativas, com entreferro móvel.The current focus is on non-rotating electrical machines — inductors, transformers and actuators — with emphasis on circuit coupling and transient simulation. Force and thermal come next, to simulate devices such as contactors, and finally rotating machines, with a moving air gap.

O MagFEM ainda está em desenvolvimento. Se encontrar um bug, abra uma issue no GitHub — há um link direto na barra de status do próprio programa.MagFEM is still under development. If you find a bug, open an issue on GitHub — there is a direct link in the app’s status bar.