Sebuah pertanyaan tentang 1D_FDTD

L

learnerlcy

Guest
Hi ~ saya menjalankan kode 1D_FDTD buku bernama UING THE elektromagnetik SIMULASI METODE FDTD.Tetapi hasil perhitungan yang salah ~
[url = http://images.elektroda.net/13_1258255028.jpg] http://images.elektroda.net/13_1258255028_thumb.jpg [/

Aku ingin tahu mengapa?

Ini adalah kode:
/ * 1D simulasi FDTD in free space * /
# include <math.h>
# include <stdlib.h>
# include <stdio.h>

# define KE 200

main ()
(
float mantan [KE], hy [KE],
int n, k, kc, ke, NSTEPS;
float T;
float t0, menyebar, denyut nadi;
FILE * fp; / /, * fopen ();

/ * Inisialisasi * /
for (k = 1; k <EK; k )
(
ex [k] = 0;
hy [k] = 0;
)

kc = KE / 2; / / Pusat dari masalah ruang
t0 = 40,0; / / Pusat pulsa insiden
menyebar = 12; / / Lebar insiden pulsa
T = 0;
NSTEPS = 1;

while (NSTEPS> 0)
(
printf ( "NSTEPS -->"); / / NSTEPS adalah berapa kali loop utama telah dieksekusi
scanf ( "% d", & NSTEPS);
printf ( "% d \ n", NSTEPS);
n = 0;
for (n = 1; n <= NSTEPS; n )
(
T = T 1;
/ / Main loop FDTD
/ * Hitung lapangan Ex * /
for (k = 1; k <EK; k )
(
ex [k] = ex [k] 0,5 * (hy [k-1] - hy [k]);
)
/ / Letakkan Gaussian pulsa di tengah
nadi = exp (-5 * (pow ((t0-T) / menyebar, 2.0)));
ex [kc] = pulsa;
printf ( "% 5.1f% 6.2f \ n", t0 - T, mantan [kc]);
/ / Hitung bidang Hy
for (k = 0; k <KE-1; k )
(
hy [k] = hy [k] 0,5 * (ex [k] - mantan [k 1]);
)
)
/ / Akhir dari loop Utama
/ / Pada akhir perhitungan, mencetak Ex dan bidang Hy
for (k = 1; k <= EK; k )
(
printf ( "% 3d% 6f% 6.2f \ n", k, mantan [k], hy [k]);
)

/ / Tulis lapangan E ke sebuah file "Ex"
fp = fopen ( "Ex.dat", "w");
for (k = 1; k <= EK; k )
(
fprintf (fp, "% d% 6.2f \ n", k, mantan [k]);
)
fclose (fp);

/ / Tulis lapangan H ke sebuah file "Hy"
fp = fopen ( "Hy.dat", "w");
for (k = 1; k <= EK; k )
(
fprintf (fp, "% d% 6.2f \ n", k, hy [k]);
)
fclose (fp);
printf ( "T =% 5.0f \ n", T);
)

)Ditambahkan setelah 1 menit:[url = http://images.elektroda.net/53_1258255246.jpg] [img] http://images.elektroda.net/53_1258255246_thumb.jpg [/

 
Rozwiązanie Veeam Availability Suite, które będie dostępne w lecie 2014, to pakiet gwarantujący dostępność wszystkich aplikacji i danych w dowolnym czasie i miejscu. W ten sposób Veeam wprowadza nową kategorię rozwiązań, która pozwala na osiągnięcie tego, czego nie potrafią tradycyjne rozwiązania do ochrony danych i zarządzania kopiami zapasowymi - zapewnia ciągłość funkcjonowania firmy (Always-on Business).

Read more...
 
hai
i think matlab adalah beeter daripada c untuk metode dan fdtd keluar yang baik untuk menempatkan matlab
c lebih sensetive untuk kesalahan jika u ingin kode matlab 1 D u mengirimkan saya email dan saya akan kirimkan ke u
best regard

 
@ learnerlcy: Anda mungkin ingin menjelaskan apa yang salah (apa hasil yang Anda harapkan dll)
juga, kode di Sullivan memiliki banyak bug / tidak selalu dapat dikompilasi / parah dirancang.
Nasihat terbaik yang bisa saya berikan adalah: mencoba untuk memahami persamaan FDTD dan kemudian mencoba
mengimplementasikan mereka dari nol dalam bahasa pemrograman pilihan Anda.

@ aaea3: visualisasi dll mungkin lebih mudah dalam matlab.Tapi jika Anda memiliki model yang lebih besar kemudian
berjalan waktu mungkin meningkat dengan 1 atau 2 lipat saat menggunakan matlab malah
C (dalam C anda juga dapat lebih memori efisien).

 

Welcome to EDABoard.com

Sponsor

Back
Top