Helmholtz Waveguide Booklet
Helmholtz Waveguide Booklet
FREKUENSI
UNTUK
SIMULASI PANDU GELOMBANG DALAM
MATLAB/OCTAVE
A.D. Garnadia,2,†
H. Alatasa,1
S. Nurdiati2
L. Yuliawatia,3
-
0
ISBN :
e-ISBN :
DOI :10.31227/osf.io/96ksb
1
Dedikasi
0
Blank
Contents
1 PERSAMAAN HELMHOLTZ 3
1.1 Persamaan Helmholtz
dalam Elektro-Magnetik . . . . . . . . . . . . . . . . . . . . . 4
3 LATIHAN 35
3.1 Latihan 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Latihan 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Latihan 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4 Latihan 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.5 Latihan 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6 Latihan 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.7 Latihan 7. Tomografi Microwave memanjang [4] . . . . . . . . 44
3.8 Latihan 8. Tomografi Microwave Melintang . . . . . . . . . . . 46
3.9 Latihan 9. Biosensor bakteria berlapis [24] . . . . . . . . . . . 47
3.10 Latihan 10. Biosensor resonator cincin [5] . . . . . . . . . . . 49
3.11 Latihan 11. Biosensor sisir/bergerigi plasmonik [17] . . . . . . 51
3.12 Latihan 12. Biosensor plasmonik berceruk dalam [18] . . . . . 52
3.13 Latihan 13. SPR (Surface Plasmon Resonance) Sensor [6] . . . 53
3.14 Latihan 14. Sel Surya Plasmonik [29] . . . . . . . . . . . . . . 54
3.15 Latihan 15. Sel Surya Plasmonik dengan PML [29] . . . . . . 55
3.16 Latihan 16. Alat uji Non Destructive Testing pada gelombang
THz [15] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.17 Latihan 17. Nanowire [30] . . . . . . . . . . . . . . . . . . . . 58
3.18 Latihan 18. Antena Nano [7] . . . . . . . . . . . . . . . . . . . 59
3.19 Latihan 19. Antena Nano Pemanen Energi Surya [9] . . . . . . 60
1
CONTENTS i
4 Penutup 63
ii CONTENTS
PRAKATA
iii
iv CONTENTS
Studi kasus yang diberikan, berasal dari beberapa bidang yang berkaitan
dengan aplikasi terkait bidang hayati yang menjadi misi utama yang diemban
penulis.
Bab ini, dapat merupakan sebuah tutorial bagaimana mengimplemen-
tasikan metode elemen hingga berdasarkan metode Galerkin untuk menye-
lesaikan persamaan Helmholtz, atau lebih dikenal sebagai Metode Elemen
Hingga Ranah Frekuensi. Persamaan Helmholtz merupakan model dari per-
samaan gelombang skalar, yang muncul dari sejumlah fenomena fisis. Mis-
alnya dalam Elektromagnetika untuk memperoleh informasi perilaku pandu
gelombang (waveguide), persamaan Helmholtz perlu diselesaikan secara nu-
merik, mengingat bentuk geometrik bahan penyusun menyebabkan solusi
analitik sulit didapat. Persamaan gelombang skalar untuk waveguide isotropik
homogen digunakan untuk memperkenalkan metode elemen hingga (MEH).
Untuk lebih sederhananya, digunakan elemen segitiga orde pertama. Tulisan
ini menunjukkan bagaimana pengetahuan tentang metode elemen hingga (Fi-
nite Element Method, FEM) dapat dipelajari dalam waktu singkat dengan
menggunakan MATLAB/OCTAVE. Hal ini menunjukkan bagaimana penge-
tahuan yang diperoleh dapat diperluas untuk masalah elektromagnetik lain-
nya.
Berbagai studi kasus diberikan sebagai latihan. Bahkan beberapa studi
kasus dirancang agar dapat digunakan untuk membantu penelitian maha-
siswa S1/S2/S3, serta untuk penelitian yang sifatnya garda depan (research
frontier) dalam Komputasi Fisika, Komputasi Matematika, maupun Kom-
putasi Elektromagnetik.
1
2 CONTENTS
1 Chapter 1
2 PERSAMAAN HELMHOLTZ
3
4 CHAPTER 1. PERSAMAAN HELMHOLTZ
28 triks dan alokasi memori yang dinamis. Materi utama terkait FEM dalam
29 tulisan ini dapat dibahas dalam kuliah selama dua-empat jam. Mahasiswa
30 mungkin diberikan kesempatan selama dua minggu untuk menyerap materi
31 dan mengerjakan tugas berupa rangkaian tugas berdsarkan serangkaian lati-
32 han yang didaftarkan dalam tulisan ini. Perlu dicatat bahwa setidaknya satu
33 paket perangkat lunak FEM komersial, yaitu FEMLAB dari COMSOL Inc,
34 [10] memiliki versi sebagai add-on untuk MATLAB. Paket ini tidak cocok un-
35 tuk mengajar pemrograman FEM. Namun, seperti yang digambarkan dalam
36 rujukan [27], mahasiswa dapat menggunakan software ini untuk menguji for-
37 mulasi variational yang diperoleh oleh mereka, mengingat perangkat lunak
38 menerima bentuk formulasi variasional sebagai input. Dengan demikian, [27]
39 dan tulisan ini saling melengkapi jika FEMLAB tersedia.
40 Buklik ini melengkapi komputasi Elektromagnetik berbahasa Indonesia
41 untuk Metoda Beda Hingga Kawasan Waktu (Finite Difference Time Do-
42 main, FDTD) [25]) dan Metode Momen (Methods of Moment, MoM) yang
43 populer di bidang antena [26].
∂D
∇×H =J + (1.5)
∂t
6 CHAPTER 1. PERSAMAAN HELMHOLTZ
∂B
∇×E =− . (1.6)
∂t
85 Dalam hukum dasar elektromagnet nilai muatan listrik sama dengan jum-
86 lah perubahan listrik yang ditimbulkannya dan dikenal sebagai hukum Gauss
87 untuk perubahan listrik. Hukum Gauss yang lain yang berhubungan dengan
88 perubahan listrik yaitu tidak ada fenomena muatan listrik yang hanya mem-
89 punyai satu kutub saja. Kedua fenomena di atas dapat digambarkan oleh
90 persamaan di bawah ini
∇•D =ρ (1.7)
∇ • B = 0. (1.8)
91
∂
∇×∇×E+µ (∇ × H) = 0. (1.9)
∂t
104
ρ ∂J ∂ 2E
∇ − ∇2 E + µ + εµ 2 = 0. (1.10)
ε ∂t ∂t
107
∂ 2H
−∇2 H − ∇ × J + εµ = 0. (1.11)
∂t2
111 Medan listrik dan medan magnet dalam permasalahan elektromagnet se-
112 bagian besar berubah sebagai persamaan sinus dengan frekuensi angular ω
113 pada setiap perubahan waktu, misalnya ejωt . Akibatnya persamaan medan
114 listrik dan medan magnet dapat ditulis sebagai berikut.
ρ
−∇2 E + l2 E = ∇ + jωµJ (1.12)
ε
−∇2 H + l2 H = −∇ × J (1.13)
√ 2πf 2π
l = ω εµ = = . (1.14)
v λ
115 Persamaan (1.12) dan (1.13) disebut sebagai persamaan Helmholtz den-
√
116 gan l adalah tetapan hantar. Karena 1/ εµ memiliki satuan kecepatan yang
117 ditunjukkan oleh v(m/s) sedangkan f (Hz) frekuensi dan kecepatan angular
118 ω = 2πf · f /v mempunyai satuan panjang maka λ disebut sebagai panjang
119 gelombang.
120 Jika suatu medan listrik dan medang magnet di titik yang sangat jauh dari
121 sumber gelombang maka keberadaan muatan listrik ρ dan arus listrik J se-
122 bagai sumber gelombang dapat tidak dianggap. Oleh karena itu diperoleh
123 persamaan Helmholtz berikut.
−∇2 E + l2 E = 0 (1.15)
−∇2 H + l2 H = 0. (1.16)
124 Untuk mempelajari penggunaan FEM melalui MATLAB, pada pemba-
125 hasan lebih lanjut digunakan persamaan Helmholtz berikut
−∇2 u + ku = 0, (1.17)
126 dengan k < 0, k = −l2 dan u sebagai variabel medan listrik atau medan
127 magnet.
8 CHAPTER 1. PERSAMAAN HELMHOLTZ
149 Sementara itu, apabila daerah tak terbatas, digunakan syarat Sommer-
150 feld, yang tidak dibahas dalam buklik ini, tetapi bagaimana implementasi
151 pemrogramannya diberikan sebagai bagian rangkaian latihan.
152 Chapter 2
9
10CHAPTER 2. METODE ELEMEN HINGGA RANAH FREKUENSI :HAMPIRAN GALER
Z
dengan b(u, v) = (∇u · ∇v + kuv)dx,
ZΩ
f (v) = f vdx,
168 untuk sembarang fungsi v. Bentuk lemah ini, diperoleh dengan cara
169 mengalikan persamaan (1.17) dengan fungsi test v, dan kemudian di-
170 lakukan aturan integrasi sebagaimana diberikan di Lampiran.
171 Dalam buklik ini, akan digunakan metode Galerkin untuk mendapatkan
172 hampiran metode elemen hingga, mengingat konsep yang digunakan mudah
173 difahami karena mempergunakan pendekatan ruang-vektor dan sifat-sifat
174 di dalam ruang vektor. Persamaan bentuk lemah yang diperoleh melalui
175 metode Galerkin ini, bisa juga diturunkan melalui metode Rayleigh-Ritz,
176 yang tidak dibahas di sini karena memerlukan pengetahuan kalkulus vari-
177 asi. Untuk banyak masalah fisika, pendekatan melalui metode Rayleigh-Ritz
178 selalu menghasilkan bentuk lemah yang identik dengan metode Galerkin.
179 Dalam implementasi FEM berdasarkan metode Galerkin, ada 3 langkah
180 utama yang dilakukan, yaitu:
181 1. Memilih basis dari ruang solusi.
182 2. Menuliskan solusi hampiran berdasarkan basis yang dipilih.
183 3. Solusi hampiran disubstitusikan ke bentuk lemah, atau diproyeksikan
184 ke ruang solusi.
185 Dengan melalui serangkaian studi kasus berikut, Metoda Galerkin diap-
186 likasikan untuk mendapatkan solusi persamaan Helmholtz sebagai Metode
187 Elemen Hingga ranah frekuensi.
188 Kasus 1
189
190
−∇2 u + ku = 0 di Ω (2.3)
u = g di ∂Ω
192 dimana k dan g adalah sembarang fungsi yang diketahui. Hal ini dapat
193 diilustrasikan untuk gelombang datar yang melewati medium kedua yang
11
197 Kasus 2
198 Hal lain yang mungkin jika gelombang datar tersebut mengalami peruba-
199 han setelah melewati medium kedua. Perhatikan persamaan Helmholtz den-
200 gan syarat batas Dirichlet dan Neumann berikut
−∇ · ∇u + ku = 0 di Ω (2.4)
u = p di L1
n · ∇u = q di L2
208
209 Kasus 1
210 Misal v ∈ H1 dimana H1 adalah himpunan dimana elemennya terdiri dari
211 fungsi yang terturunkan, selain fungsinya yang apabila integral kwadratnya
212 hingga, begitu juga turunannya. Atau dikenal juga dengan fungsi dengan
213 energi yang hingga.
12CHAPTER 2. METODE ELEMEN HINGGA RANAH FREKUENSI :HAMPIRAN GALER
214 Dengan mengalikan persamaan Helmholtz pada kasus 1 dengan v dan di-
215 lakukan integrasi bagian (integration by parts, lihat Lampiran), akan diper-
216 oleh:
Z
(∇u · ∇v + kuv)dx = 0. (2.5)
Ω
N
X Z Z
zj ∇ϕj · ∇ϕi dx + k ϕj ϕi dx = 0, untuk setiap φi ∈ {φi }N
i=1 .
j=1 Ω Ω
(2.7)
229 Dari persamaan (2.7) diperoleh sistem persamaan linear Az = b, dimana
230 elemen-elemen sistem persamaan linear tersebut sebagai berikut
Z Z
Ai,j = ∇ϕj · ∇ϕi dx + k ϕj ϕi dx (2.8)
Ω Ω
bi = 0 (2.9)
13
234 matriks Ae dihitung pada syarat batas. Sehingga solusi akhir zn dapat
235 dihitung dengan sistem persamaan An zn = b − Ae ze dimana An sudah dike-
236 tahui.
237 Misalkan daerah Ω dibagi menjadi enam (N = 6) elemen segitiga yang
238 diperlihatkan pada gambar berikut ini
239 Misalkan koordinat dari setiap node diberikan pada tabel di bawah ini
Node 1 2 3 4 5 6 7 8
x 0 1 1 1 1 0 0 0
1 2 2 2
y 0 0 3 3
1 1 3 3
240 MATLAB mampu membaca data dari file yang diberikan dalam format
241 ascii dengan file .dat, sehingga dalam MATLAB kita dapat menyimpan data
242 koordinat untuk setiap node dengan pemrograman sebagai berikut.
243 node1 = [1 0 0;
244 2 1 0;
245 3 1 1/3;
246 4 1 2/3;
247 5 1 1;
248 6 0 1;
249 7 0 2/3;
250 8 0 1/3];
251 dlmwrite(’koordinat1.dat’, node1,’ ’)
252 type koordinat1.dat
253 Pada Tabel 2.2 diberikan elemen-elemen yang berpadanan dengan node-
254 node pada Tabel 2.1
Elemen 1 2 3 4 5 6
Node 1 7 7 8 8 1 1
Node 2 5 4 4 3 3 2
Node 3 6 5 7 4 8 3
258 segitiga1=[1 7 5 6;
259 2 7 4 5;
260 3 8 4 7;
15
261 4 8 3 4;
262 5 1 3 8;
263 6 1 2 3];
264 dlmwrite(’elemen1.dat’, segitiga1,’ ’)
265 type elemen1.dat
266 Syarat batas untuk Gambar 2.1 diperlihatkan pada tabel berikut.
Edge 1 2 3 4 5 6 7 8
Node 1 1 2 3 4 5 6 7 8
Node 2 2 3 4 5 6 7 8 1
267
268 deltaomega=[1 1 2;
269 2 2 3;
270 3 3 4;
271 4 4 5;
272 5 5 6;
273 6 6 7;
274 7 7 8;
275 8 8 1];
276 dlmwrite(’deltaomega.dat’, deltaomega,’ ’)
277 type deltaomega.dat
278 Menyusun matriks stiffness
279 Perhatikan bahwa untuk sebuah elemen segitiga T misalkan (x1 , y1 ), (x2 , y2 ),
280 dan (x3 , y3 ) adalah titik-titik verteks dan ϕ1 , ϕ2 dan ϕ3 adalah fungsi basis
281 yang berkorespondensi di K, yaitu
ϕi (xj , yj ) = δij , i, j = 1, 2, 3.
282 Oleh karena itu, diperoleh
1 x y
det 1 xi+1 yi+1
1 xi+2 yi+2
ϕi (x, y) = , (2.11)
1 xi yi
det 1
xi+1 yi+1
1 xi+2 yi+2
16CHAPTER 2. METODE ELEMEN HINGGA RANAH FREKUENSI :HAMPIRAN GALER
283 dengan
1 yi+1 − yi+2
∇ϕi (x, y) = . (2.12)
2|T | xi+2 − xi+1
284 Indeks yang digunakan pada persamaan di atas di dalam modulo 3, sehingga
285 diperoleh
x2 − x1 x 3 − x1
2|T | = det .
y2 − y1 y3 − y1
300 Dengan cara yang hampir sama dalam menyusun matriks stiffness, diperoleh
301 matriks massa
Z 2 1 1
1 x2 − x1 x3 − x1
ϕi ϕj kdx = det 1 2 1 k(xs , ys )
T 24 y2 − y1 y3 − y1
1 1 2
352 Kasus 2
353 Bentuk lemah untuk kasus 2 adalah
Z Z
(∇u · ∇v + kuv)dx = qvds. (2.13)
Ω L2
19
354 Pendekatan elemen hingga (finite element approximation) dari bentuk lemah
355 persamaan (2.13) adalah uh ∈ Vh sedemikian sehingga
Z Z
(∇uh · ∇v + kuh v)dx = qv ds. (2.14)
Ω L2
356 Dengan cara yang sama seperti yang sudah diuraikan pada kasus 1, terdapat
357 sistem persamaan linear dengan elemen-elemen berikut.
R R
Aij = R Ω ∇ϕi · ∇ϕj dxdy + Ω k(x, y)ϕi ϕj dxdy
bi = L2 ϕi qds
z = (z1 , z2 , ..., zN )T .
358 Dengan menggunakan cara yang serupa pada kasus 1, matriks Ae dihitung
359 pada syarat batas Dirichlet. Sehingga solusi akhir zn dapat dihitung dengan
360 sistem persamaan
An zn = b − Ae ze .
361 Beberapa simulasi untuk kasus 2 akan dibahas di bawah ini, dengan se-
362 jumlah subkasus.
a (Kasus 2a) Misal Ω dan syarat batas diberikan pada gambar berikut Jika
367 neumann1=[1 1 2;
368 2 5 6];
369 dlmwrite(’neumann1.dat’,neumann1,’ ’)
370 type neumann1.dat
371 dirichlet1=[1 2 3;
372 2 3 4;
373 3 4 5;
374 4 6 7;
375 5 7 8;
376 6 8 1];
377 dlmwrite(’dirichlet1.dat’, dirichlet1,’ ’)
378 type dirichlet1.dat
396 % inisialisasi
397 load koordinat1.dat; koordinat1(:,1)=[]; % koordinat-koordinat
398 load elemen1.dat; elemen1(:,1)=[]; % elemen hingga berbentuk segitiga
399 load neumann1.dat; neumann1 (:,1)=[];
400 load dirichlet1.dat; dirichlet1 (:,1)=[];
401 koordinat = koordinat1;
402 elemen = elemen1;
21
Gambar 2.5: Grafik permukaan solusi kasus 2a. Program lengkap ada di
Lampiran 2.
464 koordinat=koordinat2;
465 elemen=elemen2;
466 neumann = neumann3;
467 dirichlet = dirichlet3;
468 NodeBebas=setdiff(1:size(koordinat,1),unique(dirichlet));
469 A = sparse(size(koordinat,1),size(koordinat,1));
470 b = sparse(size(koordinat,1),1);
471 % 1. menyusun matriks A1
472 % dengan memanggil fungsi stima_1
473 for i = 1:size(elemen,1)
474 A(elemen(i,:),elemen(i,:)) = A(elemen(i,:),elemen(i,:)) ...
475 + stima(koordinat(elemen(i,:),:));
476 end
477 % 2. menyusun matriks A2
478 for i = 1:size(elemen,1)
24CHAPTER 2. METODE ELEMEN HINGGA RANAH FREKUENSI :HAMPIRAN GALER
Gambar 2.7: Grafik permukaan solusi kasus 2b. Dihasilkan oleh program
lengkap yang diberikan di Lampiran 2.
502 %
503 % 7. Grafika
504 %
505 show(elemen,[],koordinat,full(u));
506 xlabel(’x’);ylabel(’y’);zlabel(’u’);
Gambar 2.9: Grafik permukaan solusi kasus 2c. Dihasilkan oleh program
lengkap di Lampiran 2.
527
574 d (Kasus 2d) Misalkan daerah Ω dibagi menjadi duabelas (N = 12) ele-
men segitiga yang diperlihatkan pada Gambar 2.10. Sedangkan nomor-
576 nomor node, elemen segitiga dan node dengan syarat batas pada Tabel
577 2.6. Misalkan
1.4 ; y > 2/3 atau y < 1/3
k=
1.5 ; 1/3 ≤ y ≤ 2/3
578 sedangkan p dan q sama seperti pada kasus 2c.
Gambar 2.11: Grafik permukaan solusi kasus 2d. Dihasilkan oleh program
lengkap di Lampiran 2.
594 koordinat=koordinat4;
595 elemen=elemenB4;
596 neumann = neumann5;
597 dirichlet = dirichlet5;
598 %
599 NodeBebas=setdiff(1:size(koordinat,1),unique(dirichlet));
600 A = sparse(size(koordinat,1),size(koordinat,1));
601 b = sparse(size(koordinat,1),1);
602 % 1. menyusun matriks A1
603 % dengan memanggil fungsi stima_1
604 for i = 1:size(elemen,1)
605 A(elemen(i,:),elemen(i,:)) = A(elemen(i,:),elemen(i,:)) ...
606 + stima(koordinat(elemen(i,:),:));
607 end
608 % 2. menyusun matriks A2
609 for i = 1:size(elemen,1)
610 A(elemen(i,:),elemen(i,:)) = A(elemen(i,:),elemen(i,:))+...
611 det([ones(1,3);koordinat(elemen(i,:),:)’])*...
612 (diag(ones(3,1))+ ones(3))*k3(sum(koordinat(elemen(i,:),:))/3)/24;
613 end
614 % 3. Gaya luar
615 for i = 1:size(elemen,1)
616 b(elemen(i,:)) = b(elemen(i,:))+...
617 det([ones(1,3);koordinat(elemen(i,:),:)’])*...
618 g(sum(koordinat(elemen(i,:))/3))/6;
619 end
620 % 4. Syarat Neumann
621 for i = 1:size(neumann,1)
622 b(neumann(i,:))=b(neumann(i,:)) +...
623 norm(koordinat(neumann(i,1),:)- ...
624 koordinat(neumann(i,2),:)) *...
625 q1(sum(koordinat(neumann(i,:),:))/2)/2;
626 end
627 % 5. Syarat Dirichlet
628 u = sparse(size(koordinat,1),1);
629 u(unique(dirichlet)) = ud3(koordinat(unique(dirichlet),:));
630 b = b - A*u;
631 % 6. Komputasi solusi
632 u(NodeBebas) = A(NodeBebas,NodeBebas) \ b(NodeBebas);
633 % 7. Grafika
31
634 show(elemen,[],koordinat,full(u));
635 xlabel(’x’);ylabel(’y’);zlabel(’u’);
32CHAPTER 2. METODE ELEMEN HINGGA RANAH FREKUENSI :HAMPIRAN GALER
636 HISTORIANA
33
638 LATIHAN
639 Pada bagian ini, diberikan serangkaian latihan, dimana secara bertahap im-
640 plementasi Metode Elemen Hingga ranah frekuensi untuk masalah sederhana,
641 dimodifikasi tahap demi tahap sehingga dapat digunakan sebagai alat untuk
642 memecahkan masalah persamaan Helmholtz yang muncul dalam aplikasi di
643 bidang Elektromagnetik. Total tersedia 20 latihan, dari yang sifatnya san-
644 gat sederhana, sampai ke tingkat yang cukup sulit. Juga rentang aplikasinya,
645 dari yang sifatnya pedagogis, sampai ke permasalahan garda depan (research
646 frontier) di bidang nanosains, antara lain pada ranah gelombang TerraHertz
647 serta aplikasi dalam disain divais seperti biosensor, sel surya dan antena
648 nano.
649 Latihan 1-4 dapat dikatagorikan sebagai latihan sederhana yang harus di-
650 lakukan seusai mencoba skrip MATLAB, mengkaji studi kasus yang diberikan.
651 Latihan 5-10 dapat dikatagorikan sebagai latihan tingkat madya yang
652 dapat diberikan sebagai tugas mandiri yang dapat dilakukan dalam waktu 2-
653 3 minggu, mengingat diperlukan keterampilan untuk pembangkit mesh yang
654 di buklet ini, digunakan distmesh, atau pembangkit mesh lainnya seperti
655 gmesh.
656 Latihan 11-20 dikatagorikan sebuah latihan tingkat lanjut yang dapat
657 dijadikan dasar penelitian tugas akhir S1, maupun bagian dari Thesis S2
658 maupun S3. Bahkan bisa menjadi bahan penelitian tersendiri.
35
36 CHAPTER 3. LATIHAN
666 Dengan nomor-nomor node, elemen segitiga dan edge syarat batas pada
667 Tabel 3.1.
668 Definisikan geometri di atas dengan memanfaatkan triangulasi yang di-
669 gunakan pada gambar 8 , sehingga simpul/nodes segitiga berada di atas dan
670 tidak ada elemen segitiga yang melintang garis pemisah bahan.
3.1. LATIHAN 1. 37
671 Perhatikan bahwa, nilai koefisien k akan bernilai konstan pada masing-
672 masing segitiga. Susunlah sifat bahan yang dikaitkan pada elemen yang
673 termuat di bagian tersebut sehingga pemberian sifat bahan pada elemen
674 dapat dihitung saat assembly matriks massa.
3.2. LATIHAN 2. 39
706 Dalam latihan ini, terdiri dari 2 bagian bahan yang menempati daerah
707 tertentu. Susunlah sifat bahan yang dikaitkan pada elemen yang termuat di
708 bagian tersebut sehingga pemberian sifat bahan pada elemen dapat dihitung
709 saat assembly matriks massa.
3.4. LATIHAN 4. 41
Gambar 3.4: Sketsa tapak ruangan dengan posisi router WiFi berada di
titik o.
711 Pada latihan ini, meskipun tidak menyangkut pandu gelombang, mem-
712 odelkan perambatan medan listrik akibat adanya sumber. Dalam hal ini,
713 memodelkan perambatan medan elektrik di dalam ruangan akibat adanya
714 router WiFi.
−∇2 u + l2 u = f, (3.2)
715 dengan f menyatakan sumber pemancar WiFi. Implementasi dalam MAT-
716 LAB, hanya dengan menambah satu rutin serupa dengan konstruksi
R matriks
717 massa. Dengan mengingat bahwa, cukup diperlukan evaluasi f ϕj dxdy,
718 untuk sembarang fungsi basis ϕj .
42 CHAPTER 3. LATIHAN
−∇2 u + l2 u = f. (3.3)
732 Jika pada lingkaran bagian dalam berupa syarat batas Dirichlet, coba
733 bereksperimen untuk syarat batas dengan melakukan eksperimen numerik,
734 dengan menetapkan pada batas lingkaran terluar dengan syarat batas Dirich-
735 let, Neumann, atau Robin sebagaimana dibahas di latihan sebelum ini.
44 CHAPTER 3. LATIHAN
Lemak εf 10 + ı
Tulang εb 11 + 2ı
738 Otot εm 25 + 15ı
Jaringan Payu Dara εbt 10 + 1.5ı
Jaringan malignan εc 23 + 15ı
739 Data
3.7. LATIHAN 7. TOMOGRAFI MICROWAVE MEMANJANG [?] 45
755 Secara matematis, permasalahan pada latihan ini, hampir serupa dengan
756 Latihan 2. Yaitu, pada hakekatnya, menyelesaikan persamaan Helmholtz
757 dengan koefisien yang bervariasi relatif terhadap satu arah sumbu.
758 Parameter yang digunakan dalam latihan ini, diberikan sebagai berikut :
759 Panjang gelombang operasional: λ0 = 0.6328µm
760 Indeks refraktif substrat, metal, dan film secara berturutan nS = 1.495, nM =
761 0.064 + 4ı, nF = 0.15 + 3.2ı
762 Lebar lapisan metal dan film dM = 0.03µm, dF = 0.5µm
763 Indeks Refraktif beberapa bahan uji: toluena = 1.49268, nikotin = 1.5265.
764 Data eksperimen untuk pandu gelombang dengan cladding perak, secara
765 bervariasi digunakan 3 eksperimen numerik berikut ini:
766
Gambar 3.9: Biosensor deteksi gas berupa gabungan pandu gelombang dan
cincin resonator. Syarat batas Neumann di dinding kiri/kanan, dan di atap,
Dirichlet pada dasar. β1,2 secara berturutan merupakan konstanta peram-
batan di pandu gelombang dan cincin resonator. n0,1,2,3 secara berturutan
merupakan indeks refraktif di udara, pandu gelombang, cincin resonator, dan
air.
772 Indeks refraktif resonator cincin terbuat dari gelas : 1.52, Indeks refraktif
773 pandu gelombang terbuat dari Silikon Oksida : 1.468, Indeks refraktif udara
774 : 1.0, Indeks refraktif air : 1.333. Sumber cahaya eksitasi berupa sinar
775 laser ditembakkan dari sisi kiri pandu gelombang pada panjang gelombang
776 :[1, 530, 1.560]nm Diameter resonator : 100 µm, Tebal resonator : 3 µm,
777 Tebal pandu gelombang : 2 µm, Variasi celah pandu gelombang dan resonator
778 : [0, 100, 200, 300]µm.
779 Dalam [28], struktur resonator dan pandu gelombang digunakan sebagai
780 sensor MEMS untuk sensor tekanan dengan memanfaatkan efek Fano. Selain
50 CHAPTER 3. LATIHAN
Gambar 3.10: Biosensor plasmonik. Skematik dari difraksi oleh kisi metal
berlapis dan definisi dari sudut polarisasi.
Gambar 3.11: Biosensor plasmonik. Skematik dari difraksi oleh kisi metal
berlapis dan definisi dari sudut polarisasi.
805 Pada latihan ini, merupakan varian dari latihan 11, dimana salah satu
806 celah gerigi memiliki kedalaman yang lebih dari kedalaman gerigi yang lain.
807 Parameter yang digunakan sebagai berikut :
indeks refraksi slab : nsl = 1.45
indeks refraksi substrat : nsu = 2.21
ketebalan slab : hsl = 60µm
808
ketebalan substrat : hsu = 80µm
perioda gerigi : Λ = 31µm
panjang : L = 300µm
3.13. LATIHAN 13. SPR (SURFACE PLASMON RESONANCE) SENSOR [?]53
Gambar 3.13: Sel Surya plasmonik. Unit sel dari sel surya plasmonik lapis
tipis. Tersusun dari 4 lapisan terdiri dari Indium Tin Oxide (ITO), ba-
han penyerap, elektroda emas (Au) atau perak (Ag), dan substrat dengan
ketebalan masing-masing secara berturutan d1 = 25 nm, d2 = 120 nm, d3 =
40 nm, dan d4 = 40 nm. Jarak antara dua elektroda berturutan ds = 100 nm
dan periode P = 200 nm.Cahaya datang dari arah atas melewati ITO.
3.15. LATIHAN 15. SEL SURYA PLASMONIK DENGAN PML [?] 55
Gambar 3.14: Sel Surya plasmonik. Unit sel dari sel surya plasmonik lapis
tipis. Tersusun dari 4 lapisan terdiri dari Indium Tin Oxide (ITO), bahan
penyerap, elektroda emas (Au) atau perak (Ag), dan substrat dengan kete-
balan masing-masing secara berturutan d1 , d2 , d3 , dan d4 . Jarak antara dua
elektroda berturutan ds dan periode P (lihat Latihan 4 untuk ukurannya).
Cahaya datang dari arah atas melewati ITO. Idealnya syarat batas PML
diberikan pada atap dan dasar, serta syarat batas periodik di kiri-kanan
∂ 2u 1 − j σ(y)
1 ∂ 1 ∂u di dalam PML
+ + k02 u = 0, dengan sy = ωε0
∂ 2 x sy ∂y sy ∂y 1, lainnya.
56 CHAPTER 3. LATIHAN
Gambar 3.15: Alat uji NDT gelombang THz. Tersusun dari 3 domain terdiri
dari udara, lensa dielektrik, dan benda uji yang memiliki cacat (defect). Sum-
ber gelombang datang dari port di bagian atas. Syarat batas PML diberikan
pada atap dan dasar, serta sisi di kiri-kanan
∂ 2 u 1 ∂ 1 ∂u 1 − j σ(y)
di PML atas/bawah
+ + k02 u = 0, dengan sy = ωε0
∂x2 sy ∂y sy ∂y 1, lainnya.
826 Begitu pula ke arah x diperlukan syarat batas penyerap (ABC, ’Absorbing
827 Boundary Conditions’) agar tidak terjadi pantulan gelombang yang sifatnya
828 artifisial di bagian kiri dan kanan.
1 ∂ 1 ∂u ∂ 2 u 1 − j σ(x)
2 ωε0
di PML kiri/kanan
+ 2 + k0 u = 0, dengan sx =
sx ∂x sx ∂x ∂y 1, lainnya.
1 ∂ 1 ∂u 1 ∂ 1 ∂u
+ + k02 u = 0,
sx ∂x sx ∂x sy ∂y sy ∂y
830 (
sx = 1 − j σ(x)
ωε0
dengan di PML pojok atas/bawah-kiri/kanan
sy = 1 − j σ(y)
ωε0
834 Bandingkan dengan latihan 13, SPR sensor yang memiliki struktur yang
835 serupa.
indeks refraksi slab gelas : nsl = 1.52
indeks refraksi metal : nAg = 2.21
836 ketebalan slab gelas : hsl = 3.2µm
ketebalan metal : hAg = 32.4nm
panjang : L = 7.0µm
3.18. LATIHAN 18. ANTENA NANO [?] 59
Gambar 3.17: Struktur Antenna Nano terbuat dari perak. (a). Antena dipol
nano. (b) Jenis-1, Antena dipol nano bertangga 2 (2-steps tapered dipole).
(c) Jenis-2, Antena dipol nano bertangga 3 (3-steps tapered dipole). Panjang
gelombang operasional λ = 300nm. Syarat batas PML
Gambar 3.19: Struktur antena nano pemanen energi surya dari perak berben-
tuk kembang. Panjang gelombang operasional λ = 300 − 1400nm
840 Ukuran:
841 a1 = 125nm, b1 = 40nm, a2 = 100nm, b2 = 20nm, G = 10nm, θ = 10o , L =
842 40nm.
3.20. LATIHAN 20. ANTENA NANO ASIMETRIK [?] 61
Gambar 3.20: Struktur antena nano asimetrik terbuat dari perak. Panjang
gelombang operasional λ = 300 nm. Syarat batas PML
845 Penutup
846 Baris demi baris perintah dalam MATLAB yang berhubungan langsung den-
847 gan implementasi FEM. Ditunjukkan bagaimana FEM diperkenalkan kepada
848 mahasiswa hanya menggunakan beberapa baris kode MATLAB. Beberapa
849 studi kasus yang lengkap script MATLABnya yang diberikan dapat dijalankan
850 pada PC standar tanpa kesulitan, . Hal ini juga menunjukkan bagaimana
851 konsep-konsep yang diperoleh dapat dengan mudah diperluas ke masalah
852 lain yang diberikan bersifat 2D. Namun demikian, teknik pemrograman yang
853 diberikan pada 2D dapat digunakan untuk masalah yang lebih kompleks un-
854 tuk permasalahan di 3D sebagaimana disajikan oleh Silvester dan Ferrari
855 [23]. Lembaga pendidikan dengan sumber daya keuangan yang terbatas
856 dapat mengambil manfaat dari metodologi yang diberikan, karena cukup
857 menggunakan OCTAVE yang mana perintah-perintah yang diberikan dalam
858 MATLAB masih bisa digunakan tanpa kecuali, tidak memerlukan tambahan
859 apapun bahkan pembangkit mesh sekalipun). Materi yang disajikan dalam
860 buklik ini mungkin juga berguna untuk para peneliti pemula yang belum
861 mengenal FEM.
862 Sebagaimana disampaikan di kata pengantar, buklik ini tujuan utamanya
863 adalah tutorial terkait FEM, khususnya untuk menyelesaikan persamaan
864 Helmholtz, dan implementasinya dalam MATLAB/OCTAVE. Beberapa hal
865 yang dapat dilakukan sebagai lanjutan dari tulisan ini :
63
64 CHAPTER 4. PENUTUP
870 • Implementasi PLM yang lebih ’rigorous’, terutama untuk geometri ban-
871 gun tak beraturan yang ditemui di bidang lain [31].
872 • Pada Alberty dkk [1], disajikan implementasi FEM 3D dalam MAT-
873 LAB, karenanya untuk geometri 3D sederhana dengan memanfaatkan
874 buku Silvester dan Ferrari [23], dengan mudah diperluas aplikasinya
875 termasuk syarat batas penyerap.
876 • Juga tidak sulit memperluas buklik ini yang membahas persamaan
877 Helmholtz skalar untuk menyelesaikan persamaan Helmholtz vektorial,
878 dengan memanfaatkan hasil [2].
879 Bibliography
880 [1] Alberty, Jochen and Carstensen, Carsten and Funken, Stefan A, 1999,
881 Remarks around 50 lines of Matlab: short finite element implementation,
882 Numerical Algorithms, 20, 2-3, 117–137
883 [2] Anjam, I. and Valdman, J., 2015. Fast MATLAB assembly of FEM
884 matrices in 2D and 3D: Edge elements. Applied Mathematics and Com-
885 putation, 267, pp.252-263.
889 [4] Bulyshev AE, Semenov SY, Souvorov AE, Svenson RH, Nazarov AG,
890 Sizov YE, Tatsis GP. Computational modeling of three-dimensional mi-
891 crowave tomography of breast cancer. IEEE Transactions on Biomedical
892 Engineering. 2001 Sep;48(9):1053-6.
893 [5] Cho, H.K. and Han, J., 2012. Numerical study of opto-fluidic ring res-
894 onators for biosensor applications. Sensors, 12(10), pp.14144-14157.
895 [6] Christensen, D. and Fowers, D., 1996. Modeling SPR sensors with
896 the finite-difference time-domain method. Biosensors and Bioelectron-
897 ics, 11(6-7), pp.677-684.
898 [7] El-Toukhy, Y.M., Hussein, M., Hameed, M.F.O., Heikal, A.M., Abd-
899 Elrazzak, M.M. and Obayya, S.S.A., 2016. Optimized tapered dipole
900 nanoantenna as efficient energy harvester. Optics Express, 24(14),
901 pp.A1107-A1122.
65
66 BIBLIOGRAPHY
902 [8] El-Toukhy, Y.M., Hussein, M., Hameed, M.F.O. and Obayya, S.S.A.,
903 2018. Characterization of asymmetric tapered dipole nanoantenna for
904 energy harvesting applications. Plasmonics, 13(2), pp.503-510.
905 [9] El-Toukhy, Y.M., Heikal, A.M., Hameed, M.F.O., Abd-Elrazzak, M.M.
906 and Obayya, S.S.A., 2016, March. Optimization of nanoantenna for solar
907 energy harvesting based on particle swarm technique. In Wireless Infor-
908 mation Technology and Systems (ICWITS) and Applied Computational
909 Electromagnetics (ACES), 2016 IEEE/ACES International Conference
910 on (pp. 1-2). IEEE.
911 [10] K. Foster, Retaking the field an old computational favourite is over-
912 hauled, IEEE Spectrum, July (2004), 5455.
913 [11] Funken, S., Praetorius, D. and Wissgott, P., 2011. Efficient implementa-
914 tion of adaptive P1-FEM in Matlab. Computational Methods in Applied
915 Mathematics Comput. Methods Appl. Math., 11(4), pp.460-490.
918 [13] Haldar, M.K., 2006. Introducing the Finite Element Method in electro-
919 magnetics to undergraduates using MATLAB. International journal of
920 electrical engineering education, 43(3), pp.232-244.
923 [15] Lopato, P.,Chady, T., Sikora, R.,Gratkowski, S & Ziolkowski,M., 2013,
924 Full wave numerical modelling of terahertz systems for nondestructive
925 evaluation of dielectric structures, COMPEL-The international journal
926 for computation and mathematics in electrical and electronic engineer-
927 ing, v323, 736–749.
931 [17] Luo, Z., Suyama, T., Xu, X. and Okuno, Y., 2011. A grating-based
932 plasmon biosensor with high resolution. Progress In Electromagnetics
933 Research, 118, pp.527-539
BIBLIOGRAPHY 67
934 [18] Negara, T.P., Alatas, H., Garnadi, A.D. and Nurdiati, S., 2014. Trans-
935 mission characteristics of a microscale dielectric slab waveguide device
936 with a deep groove and an embedded metallodielectric grating at low
937 terahertz frequency. Optik-International Journal for Light and Electron
938 Optics, 125(13), pp.3134-3137.
939 [19] Persson, P.O. and Strang, G., 2004. A simple mesh generator in MAT-
940 LAB. SIAM review, 46(2), pp.329-345.
941 [20] S. Ramo, J. R. Whinnery and T. Van Duzer, Fields and Waves in Com-
942 munication Electronics (John Wiley, New York, 1994).
948 [23] P. P. Silvester and R. L. Ferrari, Finite Elements for Electrical Engineers
949 (Cambridge University Press, Cambridge, 1990).
950 [24] Singh, V. and Kumar, D., 2009. Theoretical modeling of a metal-clad
951 planar waveguide based biosensors for the detection of pseudomonas-like
952 bacteria. Progress In Electromagnetics Research, 6, pp.167-184.
953 [25] Sumantyo,JTS., Ito,K., Rahardjo, ET., Saito, K., 2004, Metoda Beda
954 Hingga Kawasan Waktu, Penerbit ITB
955 [26] Sumantyo,JTS & Ito,K, 2004, Metoda moment untuk analisa Antena,
956 Penerbit ITB
960 [28] Wang, J., Mu, J-Q., Ma, N., and Ma, M-L.,2017, Simulation design
961 of a subwavelength Fano-photonic ring resonator pressure sensor based
962 on Finite Element Method, Optik-International Journal for Light and
963 Electron Optics, 137, 195–202
68 BIBLIOGRAPHY
964 [29] Wei, E.I., Choy, W.C. and Chew, W.C., 2010. A comprehensive study
965 for the plasmonic thin-film solar cell with periodic structure. Optics
966 express, 18(6), pp.5993-6007.
967 [30] Yan, S., Krantz, J., Forberich, K., Pflaum, C. and Brabec, C.J., 2013.
968 Numerical simulation of light propagation in silver nanowire films us-
969 ing time-harmonic inverse iterative method. Journal of Applied Physics,
970 113(15), p.154303.
971 [31] Zschiedrich, L., Klose, R., Schdle, A. and Schmidt, F., 2006. A new finite
972 element realization of the perfectly matched layer method for Helmholtz
973 scattering problems on polygonal domains in two dimensions. Journal
974 of Computational and applied mathematics, 188(1), pp.12-32.
BIBLIOGRAPHY 69
995 A = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12 ; 13 14 15 16 ]
996 atau dapat pula diketik dengan cara baris demi baris :
997 A = [1 2 3 4
998 5 6 7 8
999 9 10 11 12
1000 13 14 15 16 ]
70 BIBLIOGRAPHY
1001 Vektor baris dengan jarak sama dengan mudah dibangkitkan dalam OCTAVE
1002 mempergunakan operasi : . Perintah x = 3:8 akan membangkitkan sebuah
1003 vektor dengan entri bilangan bulat dari 3 hingga 8 dalam OCTAVE :
1004 x = 3:8
1005 yang hasilnya sama saja kalau kita mengetikkan dalam OCTAVE :
1006 x = [3 4 5 6 7 8]
1007 Tidak hanya jarak teratur sebesar 1 saja yang dapat dibangkitkan seperti
1008 ini. Misalnya,
1009 x = 0.0:0.25:1.0
1012 Submatriks
1013 Untuk merujuk pada kolom atau baris dari matriks dengan mudah diperoleh.
1014 Misalnya kita hendak merujuk pada baris ke-4 dari matriks A, dapat kita
1015 perintahkan dengan cara :
1018 baris_4 =
1019
1020 13 14 15 16
1021 tanda : pada A(4,:) menyatakan seluruh indeks kolom. Begitu pula untuk
1022 merujuk pada kolom, misalnya kolom ke-3, kita berikan perintah :
1025 kolom_3 =
1026 3
1027 7
1028 11
1029 15
1030 Dalam OCTAVE diberikan kemudahan untuk akses sub-matriks. Misalnya,
1031 kita hendak mengambil submatriks di baris-1 sampai 3, dan kolom 2 sampai
1032 4, kita berikan perintah berikut ini :
1033 A_13_24 = A(1:3,2:4)
1034 Maka OCTAVE akan merespons :
1035 A_13_24 =
1036
1037 2 3 4
1038 6 7 8
1039 10 11 12
1060 A’
1061 Jika c merupakan vektor (kolom) di IR4 , maka solusi sistem persamaan linear
1062 Ax = c dapat dihitung dengan memberikan perintah :
1063 x = A\c
1068 [X D] = spec(A)
1069 dengan matriks D berupa matriks diagonal yang pada diagonalnya memuat
1070 nilai eigen matrix A, sedangkan matriks X yang kolomnya merupakan vektor
1071 eigen matriks A yang berkaitan dengan nilai eigen pada diagonal D.
1072 Begitu pula beberapa fungsi untuk matriks tersedia misalnya determi-
1073 nan, invers, bilangan kondisi, norm dan rank sebuah matriks yang perintah-
1074 nya hanya terdiri dari perintah satu-kata. Faktorisasi matriks seperti LU,
1075 QR, Cholesky, dekomposisi Schur dan dekomposisis nilai singular juga dapat
1076 dihitung dengan perintah satu-kata. Misalnya, perintah
1077 [Q R] = qr(A)
1078 akan menghasilkan matriks ortogonal Q dan matriks segi tiga atas R, dengan
1079 ukuran yang sama dengan A, sehingga : A = Q*R.
BIBLIOGRAPHY 73
1119 Baris dengan tanda % merupakan komentar dan tidak akan dieksekusi.
1120 Bila function files tersebut disimpan, fungsi tersebut dapat dipakai seba-
1121 gaimana perintah OCTAVE biasa. Misalnya, jika kita tetapkan
Test matriks = [1 2 3; 4 5 6; 7 8 9]
n = nolitas(Test matriks)
1134 Matriks dapat dibangun dari blok. Misalnya, jika A sebuah matriks
1135 berukuran 3-kali-3, maka
1137 LAMPIRAN
BIBLIOGRAPHY 77
1138 LAMPIRAN 1
1139 Script MATLAB lengkap untuk kasus 1,
1168 LAMPIRAN 2 A
1169 Script MATLAB lengkap untuk kasus 2a
1170 % inisialisasi
1171 load koordinat1.dat; koordinat1(:,1)=[]; % koordinat-koordinat
1172 load elemen1.dat; elemen1(:,1)=[]; % elemen hingga berbentuk segitiga
1173 load neumann1.dat; neumann1 (:,1)=[];
1174 load dirichlet1.dat; dirichlet1 (:,1)=[];
1175 koordinat = koordinat1;
1176 elemen = elemen1;
1177 neumann = neumann1;
1178 dirichlet = dirichlet1;
1179 for k = 1:3
1180 [koordinat,elemen,dirichlet,neumann] ...
1181 = refineRGB(koordinat,elemen,dirichlet,neumann,[]);
1182 end
1183 NodeBebas=setdiff(1:size(koordinat,1),unique(dirichlet));
1184 A = sparse(size(koordinat,1),size(koordinat,1));
1185 b = sparse(size(koordinat,1),1);
1186 % 1. menyusun matriks A1
1187 % dengan memanggil fungsi stima_1
1188 for i = 1:size(elemen,1)
1189 A(elemen(i,:),elemen(i,:)) = A(elemen(i,:),elemen(i,:)) ...
1190 + stima(koordinat(elemen(i,:),:));
1191 end
1192 % 2. menyusun matriks A2
1193 for i = 1:size(elemen,1)
1194 A(elemen(i,:),elemen(i,:)) = A(elemen(i,:),elemen(i,:))+...
1195 det([ones(1,3);koordinat(elemen(i,:),:)’])*...
1196 (diag(ones(3,1))+ ones(3))*k1(sum(koordinat(elemen(i,:),:))/3)/24;
1197 end
1198 % 3. Gaya luar
1199 for i = 1:size(elemen,1)
1200 b(elemen(i,:)) = b(elemen(i,:))+...
1201 det([ones(1,3);koordinat(elemen(i,:),:)’])*...
1202 g(sum(koordinat(elemen(i,:))/3))/6;
1203 end
1204 %
1205 % 4. Syarat Batas Neumann
1206 %
BIBLIOGRAPHY 79
1228 LAMPIRAN 2 B
1229 Script MATLAB lengkap untuk kasus 2b
1281 LAMPIRAN 2 C
1282 Script MATLAB lengkap untuk kasus 2c
1332 LAMPIRAN 2 D
1333 Script MATLAB lengkap untuk kasus 2d
1383 LAMPIRAN 3
1384 PENJELASAN SINGKAT TENTANG PEMBENTUKAN GRID
1385 Untuk dapat melakukan pekerjaan secara mandiri membangun grid yang
1386 diperlukan, akan ditampilkan diskusi singkat dan penggunaan sederhana
1387 menggunakan perangkat Distmesh [19] yang tersedia dengan bebas, dan
1388 didiskusikan secara rinci dalam:
1392 Tulisan ini juga berfungsi menyediakan user guide yang bersifat komprehen-
1393 sif. DistMesh sangat sesuai karena mudah penggunaannya dan permulaan
1394 yang baik sebelum bergerak ke arah yang lebih kompleks dan aplikasi yang
1395 lebih canggih tanpa perlu ragu menggunakan software pembentuk mesh se-
1396 lanjutnya.
1397 Selanjutnya kami menjelaskan bagaimana DistMesh dapat memproses
1398 secara otomatis untuk membentuk mesh 1D dan 2D yang seragam maupun
1399 yang tidak seragam. Kami akan memberikan sedikit penggunaan tulisan dan
1400 contoh bagaimana menyusun dan mendefinisikan sebuah mesh, bagaimana
1401 mendefinisikan tipe batas yang dibutuhkan unuk kondisi batas yang spesifik,
1402 menggunakan fungsi jarak untuk menggambarkan geometri, dan bagaimana
1403 menyusun sebuah mesh periodik yang sederhana.
1404 B1. Dasar
1405 Kami menggambarkan mengenai penggunaan DistMesh untuk mendap-
1406 atkan (VX, VY) dan EToV dibutuhkan untuk menghitung konektivitas dan
1407 sebagainya. DistMesh berbasis pada penggunaan fungsi jarak untuk geometri
1408 yang spesifik. Dalam hal ini fungsi jarak dapat dikombinasikan dan dima-
1409 nipulasi untuk menetapkan apakah didalam atau diluar geometri tertentu
1410 adalah negatif.
1411 Bentuk umum bagian dari DistMesh adalah:
1423 Dimana P bisa dijadikan koordinat X. Pada kasus ini, fungsi jarak bisa
1424 dikhususkan melalui sebuah fungsi utama, tapi hal tersebut tidak dibu-
1425 tuhkan. Untuk ukuran grid yang tidak seragam kita harus mengkhususkan
1426 sebuah fungsi ukuran elemen yang menggambarkan distribusi relatif melalui
1427 domain, sehingga kumpulan didalam fungsi ini tidak menggambarkan ukuran
1428 grid yang aktual. Sebagaimana contoh.
1436 Dua tabel ditunjukan yang secara lengkap mendefinisikan mesh, dan kita
1437 bisa menunjukan sejumlah elemen K, dan verteks, Nv, Secara langsung dari
1438 ukuran array ini.
1439 Sebuah mesh yang seragam bisa dibentuk melalui fungsi intrinsik bernama
1440 huniform, sebagai berikut ini:
88 BIBLIOGRAPHY
1485 Disini banyak beberapa contoh dalam user guide DistMesh yang bisa me-
1486 nunjukkan daftar dari fungsi yang sederhana; contohnya, untuk membentuk
1487 grid persegi panjang seseorang bisa menggunakan:
1522 Berikutnya, jika kita ingin membedakan batas yang berbeda, kita mem-
1523 butuhkan cara yang efisien untuk syarat batas yang khusus. Secara konven-
1524 sional bisa dilakukan dengan fungsi jarak dengan syarat d = 0 pada batas
1525 dan d <> diluar batas. Perhatikan contoh berikut ini. Kita set up sebuah
1526 unit lingkaran dengan lubang di bagian tengah sebagai:
1529 Dengan mudah hanya melalui dua baris perintah pada kode DistMesh.
1530 Kita ingin mendefinisikan peta mapI dan mapO yang bisa mengkhususkan
1531 kondisi batas yang berbeda di dalam dan diluar batas pada lingkaran berjejari
1532 satu satuan dengan bolongan di tengah. Kami catat bahwa fungsi jarak
1533 menggambarkan batas secara lengkap (lihat gambar B1)
1536 Penggunaan fungsi ini bisa menentukan daftar indeks dari node vertex
1537 pada batas melalui:
1538 >> tol = 1e-8; % tolerance level used for determining nodes
1539 >> nodesInner = find( abs(fd inner(p))<tol );
1540 >> nodesOuter = find( abs(fd outer(p))<tol );
BIBLIOGRAPHY 91
1541 Disini tol adalah toleransi yang diberikan yang dapat diubah bergantung
1542 pada grid. Nilai tersebut bisa lebih rendah dibandingkan jarak minimum
1543 lokal diantara node-node. Oleh karena itu dianjrkan untuk selalu memeriksa
1544 peta batas yang di definisikan. Cara mudah untuk melakukan ini adalah:
1551 >> In = 1;
1552 >> Out = 2;
92 BIBLIOGRAPHY
1557 Dimana penggunaan BCType masuk dalam kode yang tepat untuk batas
1558 dalam array: menggunakan:
1599 LAMPIRAN 4
1600 Script MATLAB untuk Utilities
1634
1672 boundary(markedEdges,1),newNodes(markedEdges); ..
1673 newNodes(markedEdges),boundary(markedEdges,2)];
1674 end
1675 end
1676 varargout{j} = boundary;
1677 end
1678 %*** Provide new nodes for refinement of elements
1679 newNodes = edge2newNode(element2edges);
1680 %*** Determine type of refinement for each element
1681 markedEdges = (newNodes~=0);
1682 none = ~markedEdges(:,1);
1683 bisec1 = ( markedEdges(:,1) & ~markedEdges(:,2) & ~markedEdges(:,3) );
1684 bisec12= ( markedEdges(:,1) & markedEdges(:,2) & ~markedEdges(:,3) );
1685 bisec13= ( markedEdges(:,1) & ~markedEdges(:,2) & markedEdges(:,3) );
1686 red = ( markedEdges(:,1) & markedEdges(:,2) & markedEdges(:,3) );
1687 %*** Generate element numbering for refined mesh
1688 idx = ones(nE,1);
1689 idx(bisec1) = 2;%***green = newest vertex bisection of 1st edge
1690 idx(bisec12) = 3;%***blue(right)=newest vertex bisection of 1st and 2nd e
1691 idx(bisec13) = 3;%***blue(left)=newest vertex bisection of 1st and 3rd ed
1692 idx(red) = 4;%***red refinement
1693 idx = [1;1+cumsum(idx)];
1694 %*** Generate new elements
1695 newElements = zeros(idx(end)-1,3);
1696 newElements(idx(none),:) = elements(none,:);
1697 newElements([idx(bisec1),1+idx(bisec1)],:) ...
1698 = [elements(bisec1,3),elements(bisec1,1),newNodes(bisec1,1); ...
1699 elements(bisec1,2),elements(bisec1,3),newNodes(bisec1,1)];
1700 newElements([idx(bisec12),1+idx(bisec12),2+idx(bisec12)],:) ...
1701 = [elements(bisec12,3),elements(bisec12,1),newNodes(bisec12,1); ...
1702 newNodes(bisec12,1),elements(bisec12,2),newNodes(bisec12,2); ...
1703 elements(bisec12,3),newNodes(bisec12,1),newNodes(bisec12,2)];
1704 newElements([idx(bisec13),1+idx(bisec13),2+idx(bisec13)],:) ...
1705 = [newNodes(bisec13,1),elements(bisec13,3),newNodes(bisec13,3); ...
1706 elements(bisec13,1),newNodes(bisec13,1),newNodes(bisec13,3); ...
1707 elements(bisec13,2),elements(bisec13,3),newNodes(bisec13,1)];
1708 newElements([idx(red),1+idx(red),2+idx(red),3+idx(red)],:) ...
1709 = [elements(red,1),newNodes(red,1),newNodes(red,3); ...
BIBLIOGRAPHY 97
1734 trisurf(elements3,coordinates(:,1),coordinates(:,2),...
1735 u’,’facecolor’,’interp’)
1736
1737 view(10,40);
1738 title(’Solution of the Problem’)
1739
98 BIBLIOGRAPHY
1740 LAMPIRAN 5
1741 Alat Bantu Matematika
1742 Integration by parts.
1753 LAMPIRAN 6
1754 Simbol dan satuan
1757 LAMPIRAN 8
1758 Glosarium
1759 • Persamaan Differensial Biasa (PDB).
n
1760 Ekspresi berbentuk F (x, u(x), du
dx
, · · · , ddxnu ) = 0 untuk variabel bebas x
n
1761 dan fungsi u(x) beserta turunan dari u, yaitu du dx
, · · · , ddxnu . Persamaan
1762 differensial dinamakan persamaan differensial biasa berorde-n.
1763 • Persamaan Differensial Parsial (PDP).
n
1764 Ekspresi berbentuk F (xi , u(xi ), ∂u
∂x
, · · · , ∂∂xnu ) = 0 untuk multi-variabel
∂u n
1765 bebas xi dan fungsi u(xi ) beserta turunan parsial dari u, yaitu ∂x i
, · · · , ∂∂xnu .
1766 • Syarat Awal.
1767 Untuk PDB berorde-n yang didefinisikan di [a, b], apabila diberikan
1768 persyaratan pada fungsi u dan turunan-turunannya sampai turunan
1769 ke-(n − 1) pada titik a.
1770 Untuk PDP berorde-n yang didefinisikan di [a, b]m , apabila diberikan
1771 persyaratan pada fungsi u dan turunan-turunannya sampai turunan
1772 parsial ke-(n − 1) pada batas {a} × [a, b](n−1) .
1773 • Syarat Batas.
1774 Untuk PDB berorde-n yang didefinisikan di [a, b], apabila diberikan
1775 persyaratan pada fungsi u dan turunan-turunannya sampai turunan
1776 ke-(n − 1) pada titik a dan b.
1777 Untuk PDP berorde-n yang didefinisikan di [a, b]m , apabila diberikan
1778 persyaratan pada fungsi u dan turunan-turunannya sampai turunan
1779 parsial ke-(n − 1) pada batas domain [a, b]n .
1780 • Syarat Batas Dirichlet.
1781 Untuk PDP berorde-n yang didefinisikan di [a, b]m , apabila diberikan
1782 persyaratan pada fungsi u pada batas domain [a, b]n .
1783 • Syarat Batas Neumann.
1784 Untuk PDP berorde-n yang didefinisikan di [a, b]m , apabila diberikan
1785 persyaratan pada turunan-turunan dari fungsi u pada batas domain
1786 [a, b]n .
1787 • Syarat Batas Campuran.
1788 Untuk PDP berorde-n yang didefinisikan di [a, b]m , apabila diberikan
1789 persyaratan pada fungsi u serta turunan-turunannya sampai turunan
1790 parsial ke-(n − 1) pada batas domain [a, b]n .
BIBLIOGRAPHY 101
Sri Nurdiati lulus Sarjana dari Departemen Statistika FMIPA IPB. Ke-
mudian, ia melanjutkan pendidikan S2 Ilmu Komputer di The University of
Western Ontario, Canada. Pendidikan S3 ditempuh di Twente University,
The Netherlands, dengan mengambil bidang Matematika Terapan.
SINTA ID : 6042844