FDTD kód

G

gladiator

Guest
Dobrý den, hledám FDTD kód 2D nebo 3D, který může porovnávat různé absorbující hranici condiditons Nápověda prosím díky
 
Jednoduchý 1-D FDTD kód v MATLABu s ABC je uveden níže. % 1-D FDTD kód KE = 200;% KE on je počet buněk, které mají být použity ex = nuly (1, KE), HY = nuly (1, KE) ex_low_m1 = 0; ex_low_m2 = 0; ex_high_m1 = 0; ex_high_m2 = 0; Kc = KE / 2;% Gaussova pulsu t0 = 40; šíření = 12, n = input ("T =?'); pro T = 1: n% Hlavní FDTD smyčky% Ex pole pro k = 2: KE ex (k) = ex (k) + 0,5 * (HY (k-1)-HY (k)); end% Gaussian tep v tep uprostřed = exp (-0,5 * ((T0-T) ^ 2 / rozšíření ^ 2)), ex (Kč) = impuls;% Absorpční Okrajové podmínky ex (1) = ex_low_m2, ex_low_m2 = ex_low_m1, ex_low_m1 = ex (2), ex (KE) = ex_high_m2, ex_high_m2 = ex_high_m1, ex_high_m1 = ex ( KE-1),% Hy pole pro k = 1: KE HY-1 (k) = HY (k) + 0,5 * (ex (k)-ex (k +1)); end end% konec FDTD pozemku smyčky (ex)
 
Pěkná .... Můžete mi prosím mě naučit něco? Mám drobné otázky, a já nejsem Verey familier s FDTD. 1. Můžeme nahradit pulsu Gaussian? Jak? 2. Můžeme MIX FDTD s nějakým jiným způsobem? díky::: idea::: [quote = petr-g] jednoduché 1-D FDTD kód v MATLABu s ABC je uveden níže. % 1-D FDTD kód KE = 200;% KE on je počet buněk, které mají být použity ex = nuly (1, KE), HY = nuly (1, KE) ex_low_m1 = 0; ex_low_m2 = 0; ex_high_m1 = 0; ex_high_m2 = 0; Kc = KE / 2;% Gaussova pulsu t0 = 40; šíření = 12, n = input ("T =?'); pro T = 1: n% Hlavní FDTD smyčky% Ex pole pro k = 2: KE ex (k) = ex (k) + 0,5 * (HY (k-1)-HY (k)); end% Gaussian tep v tep uprostřed = exp (-0,5 * ((T0-T) ^ 2 / rozšíření ^ 2)), ex (Kč) = impuls;% Absorpční Okrajové podmínky ex (1) = ex_low_m2, ex_low_m2 = ex_low_m1, ex_low_m1 = ex (2), ex (KE) = ex_high_m2, ex_high_m2 = ex_high_m1, ex_high_m1 = ex ( KE-1),% Hy pole pro k = 1: KE HY-1 (k) = HY (k) + 0,5 * (ex (k)-ex (k +1)); end end% konec FDTD pozemku smyčky (ex) [/quote]
 
1. Myslím, že můžete použít libovolný vlnu-forma. Jak na to bude záviset na softwaru, který používáte. Příkladem může být zajištění datového souboru určující amplitudu pusle na řadě kroků času. Nyní je přesnost výsledků a čas konvergence by mohla být postižena vlnou-forma. Pokud je váš zdroj pracuje na 10000 kroků dobu před dosažením "praktické" nula, měli byste si pečlivě zkontrolujte, zda výstup stablized mnohem dříve (například 5000). Pokud je simulace ukončena příliš brzy, máte chybu. Ty by také myslet na numerické rozptyl ... 2. Samozřejmě můžete kombinovat FDTD s jiným způsobem. Některé obchodní zákoníky (např. WASP-NET) dělá. Z teoretického hlediska, jsou metody používané k řešení nějaké diferenciální rovnice, a ty by mohly appy stejná zásada rozložit do problémové domény a subdomén uplatňovat různé metody v každém z nich.
 
Samozřejmě můžete použít pulzní než gaussian.For například můžete použít sinusový puls. Stáhněte si následující soubor, který bude pravděpodobně pomůže. hodně štěstí. Peter-gr.
 
Je velmi snadné přejít přejít na sinusového source.Just nahradit parametr puls s následujícím: puls = sin (2 * pi * freq_in * dt * T), parametr freq_in určuje frekvence vlny.
 
Možná najdete 2D a 3D kód v knize Taflove. Výpočetní elektrodynamiky: Finite-rozdíl v časové oblasti metodou Allen Taflove, Susan C. Hagness (vázaná kniha - červen 2000) nebo si můžete najít další knihu elektromagnetické simulace metodou FDTD Dennis M. Sullivan (Autor) (vázaná kniha)
 
Potřebuji 3D FDTD kód provedení bodového zdroje ve volném prostoru oka s hranicemi Mur absorbovat. Mi pomůže?
 
Kniha Dennis Sullivan nabízí programy, které chcete pro 3D modelování FDTD.
 
ve zdrojovém kódu programu MATLAB výše, je-li žádat o vstup "T" Co to dělá? pomoc je vítána.
 
může mi někdo vysvětlit, absorbující okrajové podmínky? Jsem ještě trochu ztratil na algoritmu. díky.
 
Absorpční Okrajové podmínky jsou nezbytné, aby odchozí H a E polí, která se odráží zpět do vesmíru problém. Za normálních okolností, při výpočtu E pole, víme, že kolem hodnot H, což je základní předpoklad FDTD method.At okraj problému prostor, který nebude mít hodnotu na jednu stranu. Předpokládejme, že hledáme okrajová podmínka v end.If vlně bude k okrajové podmínky ve volném prostoru, to je cestování u c, rychlost light.So v jednom časovém kroku algoritmu FDTD, že cestuje: vzdálenost = c * = c * dt (dx/2c) = dx / 2 Výše uvedená rovnice vysvětluje, že to trvá dva časové kroky pro vlna překračuje jednu cell.So smysluplný přístup, jak říká, že společný okrajových podmínek by bylo Ex ( n) (0) = ex (n-2) (1) Je relativeley snadno implementovat this.Store hodnotu Ex (1) pro dva časové kroky a pak ji v Ex (0).
 

Welcome to EDABoard.com

Sponsor

Back
Top