Interactive tool · Meshfree methods
2D Meshfree EFG Explorer
About this tool
Solve the same plane stress benchmarks with the Element-Free Galerkin method: nodes only, no elements. Change the basis, the dilation parameter, the integration and the treatment of the boundary conditions, and compare the accuracy with finite elements on the same nodes.
Alatan interaktif · Meshfree methods
2D Meshfree EFG Explorer
Tentang alatan ini
Selesaikan benchmark plane stress yang sama dengan Element-Free Galerkin method: nod sahaja, tanpa element. Ubah basis, dilation parameter, kamiran dan rawatan syarat sempadan, dan bandingkan ketepatannya dengan finite element pada nod yang sama.
Loading the interactive tool…Memuatkan alatan interaktif…
How the Element-Free Galerkin method works
EFG discretises the same weak form as the finite element method, but the trial functions are built from nodes alone. Each node I has a circular support of radius dI = α cI, where cI is the spacing to its neighbours. Moving Least Squares gives the shape functions:
The basis is p = [1, x, y] (linear) or [1, x, y, x², xy, y²] (quadratic), centred and scaled at each evaluation point. The derivatives come from A−1,x = −A−1 A,x A−1. The shape functions form a partition of unity and reproduce the basis exactly, but they are rational functions and they do not interpolate: φI(xJ) ≠ δIJ. Select the shape function field and tap a node: an interior node gives φI(xI) ≈ 0.3 with α = 2.5.
- Integration. The stiffness integrals use Gauss points on background cells. The cells follow the exact geometry, including the curved hole. Because the integrands are rational and the supports cross the cell edges, quadrature is never exact, so EFG fails the patch test by a small amount that falls as you add Gauss points.
- Essential boundary conditions. Since uh(xI) ≠ uI, a support cannot be applied by fixing nodal values. The penalty method adds β ∫Γu v · (u − ū) dΓ: a small β enforces the condition only weakly, while a large β over-constrains the edge and spoils the conditioning. Nitsche’s method adds the consistent traction terms as well, −∫ v · t(u) + t(v) · (u − ū) dΓ + β ∫ v · (u − ū) dΓ. It is accurate for any β above a stability limit (here β = 100 E/h). The original EFG used Lagrange multipliers, which lead to a larger, indefinite system.
- Dilation parameter. α must be large enough for A(x) to be invertible everywhere: at least 3 non-collinear nodes in every support for the linear basis, and 6 for the quadratic basis, with the boundary as the critical place. A larger α gives smoother fields but more nodes per support, so the stiffness matrix becomes denser and assembly slower.
The equations are solved with the same skyline L D LT solver as the FEM explorer, and all three benchmarks are identical, so you can compare both methods directly.
Things to try
- Choose the shape function field and tap different nodes: one in the interior, one at a corner. Compare φI(xI), and look for the small negative regions near the edge of the support.
- Lower α until A(x) becomes singular, first with the linear basis, then with the quadratic basis. Where does it fail first?
- Switch the boundary conditions to penalty and move p from 0 to 8. Read the tip deflection and the boundary error at each step, then return to Nitsche.
- Open the patch test and change the Gauss points per cell from 2 × 2 to 5 × 5. Watch the error fall without ever reaching machine precision.
- Run the comparison on the cantilever. On the same nodes, EFG with a linear basis is several times more accurate than bilinear Q4 elements, which lock in bending.
- Plate with a hole: compare the stress concentration factor for the linear and the quadratic basis as you add nodes.
- Add distortion of 0.3. There are no element Jacobians to break down, so the solution changes but nothing fails.
Bagaimana Element-Free Galerkin method berfungsi
EFG mendiskretkan weak form yang sama seperti finite element method, tetapi fungsi cubaan dibina daripada nod sahaja. Setiap nod I mempunyai support bulat berjejari dI = α cI, dengan cI ialah jarak ke nod jirannya. Moving Least Squares memberi shape functions:
Basis ialah p = [1, x, y] (linear) atau [1, x, y, x², xy, y²] (kuadratik), dipusatkan dan diskala pada setiap titik penilaian. Terbitan diperoleh daripada A−1,x = −A−1 A,x A−1. Shape functions ini membentuk partition of unity dan menghasilkan semula basis dengan tepat, tetapi ia fungsi rasional dan tidak menginterpolasi: φI(xJ) ≠ δIJ. Pilih medan shape function dan ketik satu nod: nod dalaman memberi φI(xI) ≈ 0.3 dengan α = 2.5.
- Kamiran. Kamiran kekukuhan menggunakan Gauss points pada background cells. Cell ini mengikut geometri sebenar, termasuk lubang melengkung. Oleh kerana integrand adalah rasional dan support merentasi sisi cell, quadrature tidak pernah exact, jadi EFG gagal patch test dengan jumlah kecil yang berkurang apabila Gauss points ditambah.
- Essential boundary conditions. Oleh kerana uh(xI) ≠ uI, support tidak boleh dikenakan dengan menetapkan nilai nodal. Kaedah penalti menambah β ∫Γu v · (u − ū) dΓ: β kecil hanya mengenakan syarat secara lemah, manakala β besar terlalu mengekang sisi dan merosakkan conditioning. Kaedah Nitsche turut menambah sebutan traction yang konsisten, −∫ v · t(u) + t(v) · (u − ū) dΓ + β ∫ v · (u − ū) dΓ. Ia tepat untuk sebarang β di atas had kestabilan (di sini β = 100 E/h). EFG asal menggunakan Lagrange multipliers, yang menghasilkan sistem lebih besar dan tidak tentu.
- Dilation parameter. α mesti cukup besar supaya A(x) boleh disongsangkan di semua tempat: sekurang-kurangnya 3 nod tidak segaris dalam setiap support untuk basis linear, dan 6 untuk basis kuadratik, dengan sempadan sebagai tempat paling kritikal. α yang lebih besar memberi medan lebih licin tetapi lebih banyak nod setiap support, jadi stiffness matrix menjadi lebih padat dan assembly lebih perlahan.
Persamaan diselesaikan dengan solver skyline L D LT yang sama seperti FEM Explorer, dan ketiga-tiga benchmark adalah sama, jadi anda boleh membandingkan kedua-dua kaedah secara langsung.
Cubaan untuk anda
- Pilih medan shape function dan ketik nod yang berbeza: satu di dalam, satu di sudut. Bandingkan φI(xI), dan cari kawasan negatif kecil berhampiran tepi support.
- Turunkan α sehingga A(x) menjadi singular, mula-mula dengan basis linear, kemudian basis kuadratik. Di manakah ia gagal dahulu?
- Tukar syarat sempadan ke penalti dan gerakkan p dari 0 ke 8. Baca pesongan hujung dan ralat sempadan pada setiap langkah, kemudian kembali ke Nitsche.
- Buka patch test dan ubah Gauss points setiap cell dari 2 × 2 ke 5 × 5. Lihat ralat berkurang tanpa pernah mencapai ketepatan mesin.
- Jalankan perbandingan pada cantilever. Pada nod yang sama, EFG dengan basis linear beberapa kali lebih tepat daripada element bilinear Q4, yang mengalami locking dalam lenturan.
- Plat berlubang: bandingkan faktor kepekatan tegasan bagi basis linear dan kuadratik apabila nod ditambah.
- Tambah herotan 0.3. Tiada Jacobian element yang boleh rosak, jadi penyelesaian berubah tetapi tiada yang gagal.
Related reading
Tool
Post
Review
Runs entirely in your browser; nothing is sent anywhere. Source code: github.com/RazinUTM/rz-tools. Spotted a bug or have an idea for a tool? Email arazin@utm.my.
Bacaan berkaitan
Alatan
Post
Ulasan
Berjalan sepenuhnya dalam pelayar anda; tiada data dihantar ke mana-mana. Kod sumber: github.com/RazinUTM/rz-tools. Jumpa pepijat atau ada idea untuk alatan baharu? E-mel arazin@utm.my.
Recent Comments