================ FDTD simulation of electromagnetic waves ================
Call: [dt nt]=FDTD_fwi(Eps,Sig,dx_fwd,t,ant_pos,addpar);
General: The first five input parameters have to be defined and several additional
model parameters may be defined if need. The last additional 'addpar' input parameter
contains several parameters which may be defined if needed. If the additional
parameters are not defined default values are used.
--- General input parameters (needed)---
* Eps: 2D array containing the eps-model
* Sig: 2D array containing the sig-model
* dx_fwd: Cell size (m) for forward simulations
* t: Total observation time (ns)
* ant_pos: Nx4-array containing the (x,z)-tranitter and (x,z)-receiver positions.
N is the number of transmitter and receiver combination (Ntrn x Nrec)
--- General output parameters ----
* nt: Number of samples in the output traces
* dt: Sample interval of the output traces
------------------------------------------------------------------------
The following parameters are only included if necessary, otherwise the
default value is used. These additional parameters have to be defined
as members in a structure: (addpar.(the exact parameter name as defined below))
Ex: addpar.cores=2 will make the code run in multithreating mode on two cores.
--- Executables ---
* forwardexeN: Contains strings with the names of the executables used
for the forward simulation. N is an integer. N equals the number of
cores applied during the forward simulation. If one core is applied
only the file forwardexe1 is need. If multiple cores are used for
the simulation more forwardexe files have to be defined.
--- Executable --- [NEW]
addpar.executable complete path to executable
default directory is the directory in which FDTD_fwi resides
default executable name is 'FDTD_forward' appended with the
architecture as output from "computer('arch')". such as for example
"FDTD_forward_glnxa64" on 64 bit linux and
"FDTD_forward_maci64" on 64 bit OSX
in windows the executable is simply
"FDTD_forward.exe"
--- Output working directory ---
addpar.work_dir
--- Boundaries ---
* bx: The number of boundary cells (default=40)
* sm: GPML-Tuning; Constant characterising the coordinate stretching in
the boundaries (-1:auto) (default=auto)
* sigm: GPML-Tuning; Constant describing the maximum of the conductivity
profile in the boundaries (-1:auto) (default=auto)
* n: GPML-Tuning; Exponent, describing how fast the stretching and
conductivity happens in the boundaries (default=2)
--- Stabilisation ---
* sc: Courant stability scaling (default=0.9)
* Epsmin: Smallest eps value used to calculate the time increment used in the
simulation (in units of relative dielectric permittivity)
(-1:auto) (default=1)
--- Source wavelet ---
* srcWType: Source-wavelet-type (1:Gauss, 2:Diff. Gauss, 3:Ricker,
4:External) (default=Gauss)
* srcImpl: Source implementation; (0:hard-source) or (1:soft-source, that
accounts for the field at source-position) (default=soft-source)
* srcOri: Source orientation (0:Ez) or (1:Er/Ex) (default=Ez)
* Tg: Total Pulse Length (in s) if source-type=1 or 2 (default=1.4*10^-8 s);
Center frequency (in Hz) if source-type=3 (default=14*10^6 Hz)
* Tp: Pulse Width (in s) only if source-type=1 or 2; Width of the pulse at
amplitude=exp(-0.5)*ampl_max (default=1.6*10^-9 s)
--- Magnetic properties ---
* Mu: Magnetic Permeability, which is assumed constant across the model
(in units of magnetic permeability of free space) (default=1)
* rho: Equivalent magnetic loss or "magnetic resistivity" (default=0)
--- Coordinate system ---
* coord: Coordinate system in which the simulation is performed
(0:Cartesian, 1:Cylindrical) (default=Cartesian)
* dx_inv: The cell size for the inversion parameters. Is used to determine
where to position the receivers for the forward-backward simulation.
--- Multithreading ----
* cores: Number of cores applied for the forward simulation (default=1).
The number of cores will automatically be reduced if the number of chosen
cores exceeds the number of transmitters.
-- Output --
* snap: Snapshot "frequency"; Number of time-steps between snapshots
saved to disk (default=10000 (~no snapshot output))
* frac: Factor by which snapshots are resampled (to save disk space) (default=1)
* sim_mode: Types of output used for pure forward (=1), forward
simulation followed by a backword simulation used for inversion purpose
(=2) and pure forward simulation for inversion purpose (=3) (e.g. forward
simualtion in a perturbed model) (default=1).
* output: Determines which field direction to be outputted; (1)Ez,
(2)Ex/Er, (3)Both Ez and Ex/Er, (4) The same as (1) but the numbering is
given by the vector "no". This option is only active when sim_mode=1 is
applied (default=1).
* no: is a vector containing numbers used for the numbering of the output
files. length(no) has to equal the number of transmitters.
* debug: 1 = write parameter information to screen. 0 = nothing is
written to the screen.
--- Various ---
* start: Flag controlling if the simulation is executed or only the
parameter files are written (1:"on", 0:"off") (default="off")
* plot: Flag controlling if a plot of the setup it imaged (1:"plot", 0:"no plot")
(default="no plot")
The full-waveform FDTD forward modelling program executed by this function is
written by Jacques Ernst (ETH Zurich, 2006) as part of his Ph.D. project.
Knud Cordua (2008-2015) v. 1.2
Thomas Mejer Hansen (2015)
==========================================================================