GSvit documentation

open source FDTD solver with GPU support

User Tools

Site Tools


docs:gsvit_inputs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
docs:gsvit_inputs [2025/02/19 13:14] admindocs:gsvit_inputs [2025/02/19 14:57] (current) admin
Line 10: Line 10:
 ==== Parameter file description ==== ==== Parameter file description ====
  
-**Main computation settings**+**Main computation settings**\\
 Keywords are case sensitive. The following keywords can be used in the current version of GSvit (before issuing version 1.0 this means actual version as obtained from SVN, but nearly all the parameters Keywords are case sensitive. The following keywords can be used in the current version of GSvit (before issuing version 1.0 this means actual version as obtained from SVN, but nearly all the parameters
 remain same for last issued binaries): remain same for last issued binaries):
Line 82: Line 82:
     * epsilon, static sigma, omega, gamma and two sets of a, phi, omega and Gamma for type=5 and 6 (ADE and PLRC approach for CP model) (//Bug in documentation fixed!//)     * epsilon, static sigma, omega, gamma and two sets of a, phi, omega and Gamma for type=5 and 6 (ADE and PLRC approach for CP model) (//Bug in documentation fixed!//)
     * nothing for material type=10 (PEC)     * nothing for material type=10 (PEC)
-    * [[spectra|material name]]) for material type=99, e.g. Al2O3+    * [[spectra|material name]]) for material type=99, e.g. Al<sub>2</sub>O<sub>3</sub>
  
 so the entry looks for example as (4 100 100 100 20.5 0 22.13 1 0 0) for sphere with radius 20.5 pixels, so the entry looks for example as (4 100 100 100 20.5 0 22.13 1 0 0) for sphere with radius 20.5 pixels,
Line 254: Line 254:
 be positive and ''kappa_max'' must be greater than one. be positive and ''kappa_max'' must be greater than one.
 If ''kappa_max=1'' algorithm is equal to conventional PML If ''kappa_max=1'' algorithm is equal to conventional PML
-and no coordinate stretching is performed+and no coordinate stretching is performed.
  
 As an example, to construct a 10 cells thick CPML region As an example, to construct a 10 cells thick CPML region
Line 303: Line 303:
 //Note that this option is not supported for direct editing by XSvit in this version.// //Note that this option is not supported for direct editing by XSvit in this version.//
  
-<p><b>MEDIUM_ROUGHEN</b><br> +**MEDIUM_ROUGHEN**\\ 
-<i>radius_peak radius_span iterations probability material_index void_index random_seed</i><br>+//radius_peak radius_span iterations probability material_index void_index random_seed/
 Adds roughness to objects consisting of defined tabulated material (parameter material_index) adding this Adds roughness to objects consisting of defined tabulated material (parameter material_index) adding this
 material and void or any other material (parameter void_index) to the object randomly. material and void or any other material (parameter void_index) to the object randomly.
Line 314: Line 315:
 As an example, to add roughness to a sphere (the only object in material file), using 20 iterations As an example, to add roughness to a sphere (the only object in material file), using 20 iterations
 of adding and removing spheres of radius 5+-2 voxels, add this: of adding and removing spheres of radius 5+-2 voxels, add this:
-<tt><br><br> 
-MEDIUM_ROUGHEN<br> 
-5 2 20 0.01 1 0 1<br> 
-</tt> 
-</p> 
-<p><i>Note that this option is not supported for direct editing by XSvit in this version</i></p> 
  
-<p><b>MEDIUM_SPECTRAL</b><br> +''MEDIUM_ROUGHEN\\ 
-<i>sigma T material_index random_seed</i><br>+5 2 20 0.01 1 0 1'' 
 + 
 +//Note that this option is not supported for direct editing by XSvit in this version./
 + 
 +**MEDIUM_SPECTRAL**\\ 
 +//sigma T material_index random_seed/
 Adds roughness to objects consisting of all tabulated materials (parameter material_index is only reserved for future use) using spectral synthesis and vector displacement method. Roughness parameters sigma and T controlling variance and correlation length are given in voxels. Adds roughness to objects consisting of all tabulated materials (parameter material_index is only reserved for future use) using spectral synthesis and vector displacement method. Roughness parameters sigma and T controlling variance and correlation length are given in voxels.
 Random seed can be -1 to get it randomly. Random seed can be -1 to get it randomly.
  
-<p><b>MEDIUM_EXPRESSION</b><br> +**MEDIUM_EXPRESSION**\\ 
-<i>i_start j_start k_start i_end j_end k_end material_index void_index max_distance distance_mode expression</i><br> +//i_start j_start k_start i_end j_end k_end material_index void_index max_distance distance_mode expression/
-Alters object boundary using some analytical expression. In the expression, x, y and z mean the voxel coordinates. Basic mathematical functions and constants (pi) can be used.+ 
 +Alters object boundary using some analytical expression. In the expression, x, y and z mean the voxel coordinates. Basic mathematical functions and constants (π) can be used.
 As an example, this combination of sine functions can create quite chaotic surface shape: As an example, this combination of sine functions can create quite chaotic surface shape:
-<tt><br><br> 
-MEDIUM_EXPRESSION<br> 
-10 10 10 290 290 290 1 0 10 1 0.5+0.08*sin(x/2)+0.08*sin(y/3)+0.08*sin(z/3.8)+0.08*sin((x+y)/5)+0.08*sin((y+z)/2.5)+0.08*sin((x+z)/4.2)<br> 
-</tt> 
  
 +''MEDIUM_EXPRESSION\\
 +10 10 10 290 290 290 1 0 10 1 0.5+0.08*sin(x/2)+0.08*sin(y/3)+0.08*sin(z/3.8)+0.08*sin((x+y)/5)+0.08*sin((y+z)/2.5)+0.08*sin((x+z)/4.2)''
 +
 +**MEDIUM_SMOOTH**\\
 +//unused_integer_parameter//
  
-<br><br> 
-<p><b>MEDIUM_SMOOTH</b><br> 
-<i>unused_integer_parameter</i><br> 
 Performs smoothing vector material. Smoothing means locally averaging the optical constants (e.g. permittivity). Performs smoothing vector material. Smoothing means locally averaging the optical constants (e.g. permittivity).
 This is a very simple way how to reduce staircasing effects. However it is physically reasonable only in This is a very simple way how to reduce staircasing effects. However it is physically reasonable only in
-some cases (recalling e.g. effective medium approximation). For metals the procedure is under development and is +some cases (recalling e.g. effective medium approximation). For metals the procedure is under development and is not recommended for use in present version and for PEC it cannot be applied at all.
-not recommended for use in present version and +
-for PEC it cannot be applied at all. +
-</p> +
- +
  
 +**Field sources**
  
-<b>Field sources</b>+**SOURCE_POINT**\\ 
 +//i j k mode (filename, values)//
  
-<p><b>SOURCE_POINT</b><br> 
-<i>i j k mode (filename, values)</i><br> 
 Point source at position (i j k) using electric and magnetic field intensity Point source at position (i j k) using electric and magnetic field intensity
 time dependence described in file filename (mode=0) or generating such file for sine or pulsed sine waveform.  time dependence described in file filename (mode=0) or generating such file for sine or pulsed sine waveform. 
-If a text file is used, it consists of integer determining total number of values and succesive sets of values consisting of+If a text file is used, it consists of integer determining total number of values and successive sets of values consisting of
 (step, ex, ey, ez, hx, hy, hz). For "mode=1" the source file is automatically generated (file "tmpsource" in the current (step, ex, ey, ez, hx, hy, hz). For "mode=1" the source file is automatically generated (file "tmpsource" in the current
 directory) providing a sine wave source; the parameter after "mode" is therefore wavelength directory) providing a sine wave source; the parameter after "mode" is therefore wavelength
-in meters followed by electric field amplitude. Finally, two parameters theta and phi determine the source orientation. For "mode=2" the same happens for sine wave damped by a gaussian envelope, +in meters followed by electric field amplitude. Finally, two parameters theta and phi determine the source orientation. For "mode=2" the same happens for sine wave damped by a Gaussian envelope, 
-parameter "mode" is therefore followed by wavelength and by gaussian envelope width,+parameter "mode" is therefore followed by wavelength and by Gaussian envelope width,
 given in integer steps of the simulation (e.g. 20), and then electric field amplitude. Again, at the end, two parameters theta and phi determine the source orientation. given in integer steps of the simulation (e.g. 20), and then electric field amplitude. Again, at the end, two parameters theta and phi determine the source orientation.
-Theta and phi equal to zero correspond to x-direction electric field point source.</p>+Theta and phi equal to zero correspond to x-direction electric field point source. 
 + 
 +**SOURCE_TSF**\\ 
 +//i_start j_start k_start i_end j_end k_end theta phi psi mode (filename, values)//
  
-<br><br> 
-<p><b>SOURCE_TSF</b><br> 
-<i>i_start j_start k_start i_end j_end k_end theta phi psi mode (filename, values)</i><br> 
 Plane wave source using total/scattered field formulation. Six integers determine volume that is used Plane wave source using total/scattered field formulation. Six integers determine volume that is used
-for field propagation, theta and phi determine wave direction and psi its polarisation+for field propagation, theta and phi determine wave direction and psi its polarization
-Parameter "mode" distincts different source definition. For "mode=0" a filename is+Parameter "mode" distinguishes different source definition. For "mode=0" a filename is
 provided pointing to a text file containing number of values N followed by N pairs of values step number - electric provided pointing to a text file containing number of values N followed by N pairs of values step number - electric
 field value. N needs to be at least the total number of steps in simulation.  field value. N needs to be at least the total number of steps in simulation. 
 For "mode=1" the source file is automatically generated (file "tmpsource" in the current For "mode=1" the source file is automatically generated (file "tmpsource" in the current
 directory) providing a sine wave source; the parameter after "mode" is therefore wavelength directory) providing a sine wave source; the parameter after "mode" is therefore wavelength
-in meters followed by electric field amplitude. For "mode=2" the same happens for sine wave damped by a gaussian envelope, +in meters followed by electric field amplitude. For "mode=2" the same happens for sine wave damped by a Gaussian envelope, 
-parameter "mode" is therefore followed by wavelength and by gaussian envelope width,+parameter "mode" is therefore followed by wavelength and by Gaussian envelope width,
 given in integer steps of the simulation (e.g. 20), and then electric field amplitude. given in integer steps of the simulation (e.g. 20), and then electric field amplitude.
-</p> 
-<p> 
-Note that in present version the TSF source is in vacuum, material cannot cross it.</p> 
-<p>Orientation of axes of incoming wave is shown in the following image, table shows 
-some typical useful values of parameters:</p> 
-<table border="1"> 
-<tr><th>direction</th><th>polarisation</th><th>theta [deg]</th><th>phi [deg]</th><th>psi [deg]</th><th rowspan=7><img src="http://gsvit.net/images/tsf.png"></th></tr> 
-<tr><td>x axis</td><td>y</td><td>90</td><td>0</td><td>0</td></tr> 
-<tr><td>x axis</td><td>z</td><td>90</td><td>0</td><td>90</td></tr> 
-<tr><td>y axis</td><td>x</td><td>90</td><td>90</td><td>0</td></tr> 
-<tr><td>y axis</td><td>z</td><td>90</td><td>90</td><td>90</td></tr> 
-<tr><td>z axis</td><td>x</td><td>0</td><td>0</td><td>90</td></tr> 
-<tr><td>z axis</td><td>y</td><td>0</td><td>0</td><td>0</td></tr> 
-</table> 
-<p>See Example 2 for details of use.</p> 
  
-<p><b>TSF_SKIP</b></br> +Note that in present version the TSF source is in vacuum, material cannot cross it. 
-<i>boundary</i><br>+ 
 +Orientation of axes of incoming wave is shown in the following image, table shows 
 +some typical useful values of parameters: 
 + 
 +^ direction ^ polarisation ^ theta [deg] ^ phi [deg] ^ psi [deg] ^  | 
 +| x axis | y | 90 | 0  | 0 | {{http://gsvit.net/images/tsf.png}} | 
 +| x axis | z | 90 | 0 | 90 | ::: | 
 +| y axis | x | 90 | 90 | 0 | ::: | 
 +| y axis | z | 90 | 90 | 90 | ::: | 
 +| z axis | x | 0 | 0 | 90 | ::: | 
 +| z axis | y | 0 | 0 | 0 | ::: | 
 + 
 +See Example 2 for details of use. 
 + 
 +**TSF_SKIP**\\ 
 +//boundary/
 Specifies boundary that should be excluded from TSF application. Parameter "boundary" Specifies boundary that should be excluded from TSF application. Parameter "boundary"
 is string denoting which boundary is being set (i0, j0, k0, in, jn, kn, depth N). Note that is string denoting which boundary is being set (i0, j0, k0, in, jn, kn, depth N). Note that
Line 401: Line 397:
 causes solver to skip the TSF application in all the places with some material (not vacuum) causes solver to skip the TSF application in all the places with some material (not vacuum)
 and even some number of voxels (parameter depth) close to it. This is useful to remove only some area where material is traversing the TSF boundary from the TSF application. and even some number of voxels (parameter depth) close to it. This is useful to remove only some area where material is traversing the TSF boundary from the TSF application.
-</p> 
  
-<p><b>TSF_GAUSSIAN_Z</b><br> +**TSF_GAUSSIAN_Z**\\ 
-<i>i_center j_center i_radius j_radius</i><br>+//i_center j_center i_radius j_radius/
 Enable Gaussian multiplier of the TSF input data providing a Gaussian beam. Working only for TSF source oriented in z direction and for normal incidence. Enable Gaussian multiplier of the TSF input data providing a Gaussian beam. Working only for TSF source oriented in z direction and for normal incidence.
 Beam is centered in i_center, j_center position and has width settable to each direction independently i_radius, j_radius. Beam is centered in i_center, j_center position and has width settable to each direction independently i_radius, j_radius.
 Everything is in voxel coordinates. Everything is in voxel coordinates.
-</p> 
  
-<p><b>SOURCE_LTSF</b><br> +**SOURCE_LTSF**\\ 
-<i>i_start j_start k_start i_end j_end k_end theta phi psi n_materials mat1_pos mat1_epsilon mat1_mu mat1_sigma mat_sigast .... mode (filename, values)</i><br> +//i_start j_start k_start i_end j_end k_end theta phi psi n_materials mat1_pos mat1_epsilon mat1_mu mat1_sigma mat_sigast .... mode (filename, values)/
-Plane wave source using layered total/scattered field formulation as published by I.R. Capoglu, G.S. Smith: IEEE Transactions on Antennas and Propagation 02/2008, 56:1. + 
 +Plane wave source using layered total/scattered field formulation as published by //I.R. Capoglu, G.S. Smith: IEEE Transactions on Antennas and Propagation 02/2008, 56:1.// 
 In contrast to SOURCE_TSF, here the material In contrast to SOURCE_TSF, here the material
 can be formed by N layers in z-direction (in present implementation only dielectric and non-absorbing). Incident wave however can cross the sample at angle can be formed by N layers in z-direction (in present implementation only dielectric and non-absorbing). Incident wave however can cross the sample at angle
 as well. Layers need to be introduced both in parameters of the source and in material description files (as set MEDIUM_LINEAR or MEDIUM_VECTOR) and the values  as well. Layers need to be introduced both in parameters of the source and in material description files (as set MEDIUM_LINEAR or MEDIUM_VECTOR) and the values 
-of material parameters need to match at LTSF boundary.<br>+of material parameters need to match at LTSF boundary. 
 First six integers determine volume that is used First six integers determine volume that is used
-for field propagation, theta and phi determine wave direction and psi its polarisation. This is followed by number of interfaces. For every interface its+for field propagation, theta and phi determine wave direction and psi its polarization. This is followed by number of interfaces. For every interface its
 position in z direction and four material parameters are entered. By default the zero interface starts at position in z direction and four material parameters are entered. By default the zero interface starts at
 z=0 and has permittivity of vacuum, so it does not need to be entered. Plane wave should start at vacuum. In order to create single free standing film z=0 and has permittivity of vacuum, so it does not need to be entered. Plane wave should start at vacuum. In order to create single free standing film
 we therefore need to enter two interfaces, upper and lower as seen in the example below. we therefore need to enter two interfaces, upper and lower as seen in the example below.
  
-Next parameter, "mode", distincts again different source definition (same as for TSF). For "mode=0" a filename is+Next parameter, "mode", distinguishes again different source definition (same as for TSF). For "mode=0" a filename is
 provided pointing to a text file containing number of values N followed by N pairs of values step number - electric provided pointing to a text file containing number of values N followed by N pairs of values step number - electric
 field value. N needs to be at least the total number of steps in simulation.  field value. N needs to be at least the total number of steps in simulation. 
 For "mode=1" the source file is automatically generated (file "tmpsource" in the current For "mode=1" the source file is automatically generated (file "tmpsource" in the current
 directory) providing a sine wave source; the parameter after "mode" is therefore wavelength directory) providing a sine wave source; the parameter after "mode" is therefore wavelength
-in meters followed by electric field amplitude. For "mode=2" the same happens for sine wave damped by a gaussian envelope, +in meters followed by electric field amplitude. For "mode=2" the same happens for sine wave damped by a Gaussian envelope, 
-parameter "mode" is therefore followed by wavelength and by gaussian envelope width,+parameter "mode" is therefore followed by wavelength and by Gaussian envelope width,
 given in integer steps of the simulation (e.g. 20), and then electric field amplitude. given in integer steps of the simulation (e.g. 20), and then electric field amplitude.
-</p> + 
-<p> +As an example to create a plane wave (with a pulse time dependency and polarization angle 0.3 rad) 
-As an example to create a plane wave (with a pulse time dependency and polarisation angle 0.3 rad) +
 incident at angle on a free standing dielectric layer (in 200x200x200 voxels computational volume), incident at angle on a free standing dielectric layer (in 200x200x200 voxels computational volume),
 use the following: use the following:
-<tt> 
-SOURCE_LTSF 
-30 30 30 170 170 170 0.3 0.3 0.3 2 80 3 1 0 0 120 1 1 0 0 2 2e-7 50 5 
-</tt><br> 
-Note that in this case the material parameters need to match the source, so e.g. using MEDIUM_VECTOR definition we can use this material file:<br> 
-<tt> 
-8 20 20 80 180 180 120 0 3 1 0 0<br> 
-</tt> 
-</p> 
  
-<p><b>LTSF_GAUSSIAN</b><br> +''SOURCE_LTSF\\ 
-<i>i_center j_center i_radius j_radius</i><br>+30 30 30 170 170 170 0.3 0.3 0.3 2 80 3 1 0 0 120 1 1 0 0 2 2e-7 50 5'' 
 + 
 +Note that in this case the material parameters need to match the source, so e.g. using MEDIUM_VECTOR definition we can use this material file: 
 + 
 +''8 20 20 80 180 180 120 0 3 1 0 0'' 
 + 
 +**LTSF_GAUSSIAN**\\ 
 +//i_center j_center i_radius j_radius/
 Enable Gaussian multiplier of the LTSF input data providing a Gaussian beam. Now working only for normal incidence. Enable Gaussian multiplier of the LTSF input data providing a Gaussian beam. Now working only for normal incidence.
 Beam is centered in i_center, j_center position and has width settable to each direction independently i_radius, j_radius. Beam is centered in i_center, j_center position and has width settable to each direction independently i_radius, j_radius.
 Everything is in voxel coordinates. Everything is in voxel coordinates.
-</p> 
  
-<p><b>SOURCE_SF</b><br> +**SOURCE_SF**\\ 
-<i>theta phi psi mode (filename, values)</i><br>+//theta phi psi mode (filename, values)/
 Plane wave source using pure scattered field formulation, working only for PEC interfaces. Plane wave source using pure scattered field formulation, working only for PEC interfaces.
 The parameters for source direction and data definition are the same as for TSF source. The parameters for source direction and data definition are the same as for TSF source.
-Note that SF source is not suported by GPU in present version. +Note that SF source is not supported by GPU in present version. 
-<p>See Example 3 for details of use.</p>+ 
 +See Example 3 for details of use. 
 + 
 +**SOURCE_TSFF**\\ 
 +//i_start j_start k_start i_end j_end k_end thetamax fdist polarisation n m mode (filename, values)//
  
-<p><b>SOURCE_TSFF</b><br> 
-<i>i_start j_start k_start i_end j_end k_end thetamax fdist polarisation n m mode (filename, values)</i><br> 
 Z direction oriented focused wave source using total/scattered field formulation with multiple plane waves decomposition Z direction oriented focused wave source using total/scattered field formulation with multiple plane waves decomposition
-according to algorithm published in <i>I.R.Capoglu, A. Taflowe, V. Backman, Optics Express 23 (2008) 19208</i>. Six integers determine volume that is used+according to algorithm published in //I.R.Capoglu, A. Taflowe, V. Backman, Optics Express 23 (2008) 19208//. Six integers determine volume that is used
 for field propagation, thetamax determines maximal angle of incoming light, fdist the focal distance in voxel units. for field propagation, thetamax determines maximal angle of incoming light, fdist the focal distance in voxel units.
-Polarisation angle of the incoming wave can be controlled by the following parameter.+Polarization angle of the incoming wave can be controlled by the following parameter.
 Integer parameters n and m determine number of plane waves to be integrated (more is better, values around 12, 36 should be already Integer parameters n and m determine number of plane waves to be integrated (more is better, values around 12, 36 should be already
 enough). enough).
-Similarily to plane wave source, parameter "mode" distincts different source definition. For "mode=0" a filename is+Similarly to plane wave source, parameter "mode" distinguishes different source definition. For "mode=0" a filename is
 provided pointing to a text file containing number of values N followed by N pairs of values step number - electric provided pointing to a text file containing number of values N followed by N pairs of values step number - electric
 field value. N needs to be at least the total number of steps in simulation.  field value. N needs to be at least the total number of steps in simulation. 
 For "mode=1" the source file is automatically generated (file "tmpsource" in the current For "mode=1" the source file is automatically generated (file "tmpsource" in the current
 directory) providing a sine wave source; the parameter after "mode" is therefore wavelength directory) providing a sine wave source; the parameter after "mode" is therefore wavelength
-in meters, followed by electric field amplitude. For "mode=2" the same happens for sine wave damped by a gaussian envelope, +in meters, followed by electric field amplitude. For "mode=2" the same happens for sine wave damped by a Gaussian envelope, 
-parameter "mode" is therefore followed by wavelength and by gaussian envelope width,+parameter "mode" is therefore followed by wavelength and by Gaussian envelope width,
 given in integer steps of the simulation (e.g. 20), and finally electric field amplitude. given in integer steps of the simulation (e.g. 20), and finally electric field amplitude.
-</p> 
  
 +**TSFF_EXPORT**\\
 +//filebase_e filebase_h//
  
-<p><b>TSFF_EXPORT</b><br> 
-<i>filebase_e filebase_h</i><br> 
 Saves the calculated focused source boundary data for further use by SOURCE_TSFF_EXT. Only top z plane is used. Files contain both ex, ey and hx, hy components, for each step one file is created. Saves the calculated focused source boundary data for further use by SOURCE_TSFF_EXT. Only top z plane is used. Files contain both ex, ey and hx, hy components, for each step one file is created.
-</p> 
  
-<p><b>SOURCE_TSFF_EXT</b><br> +**SOURCE_TSFF_EXT**\\ 
-<i>i_start j_start k_start i_end j_end k_end filebase_e filebase_h</i><br>+//i_start j_start k_start i_end j_end k_end filebase_e filebase_h/
 Uses pre-calculated focused source boundary data as a source. Only top z plane is used. Settings should be same as in SOURCE_TSFF_EXPORT. Uses pre-calculated focused source boundary data as a source. Only top z plane is used. Settings should be same as in SOURCE_TSFF_EXPORT.
-</p> 
  
-<p><b>SOURCE_LTSFF</b><br> +**SOURCE_LTSFF**\\ 
-<i>i_start j_start k_start i_end j_end k_end thetamax fdist polarisation n m n_materials mat1_pos mat1_epsilon mat1_mu mat1_sigma mat_sigast .... mode (filename, values)</i><br>+//i_start j_start k_start i_end j_end k_end thetamax fdist polarisation n m n_materials mat1_pos mat1_epsilon mat1_mu mat1_sigma mat_sigast .... mode (filename, values)/
 Similar focused source to SOURCE_TSFF, however now dielectric material layers arranged in z direction can be crossed, similarly to SOURCE_LTSF. Similar focused source to SOURCE_TSFF, however now dielectric material layers arranged in z direction can be crossed, similarly to SOURCE_LTSF.
 Note that in contrast to SOURCE_TSFF much more memory is needed for precomputation of the incident field and in present version Note that in contrast to SOURCE_TSFF much more memory is needed for precomputation of the incident field and in present version
 you can easily run out of memory for larger systems or larger number of computation steps. you can easily run out of memory for larger systems or larger number of computation steps.
-</p> 
  
-<p><b>SOURCE_EXT</b><br> +**SOURCE_EXT**\\ 
-<i>ipos jpos kpos ijstart jkstart ext_xres ext_yres ext_ifrom ext_jfrom ext_ito ext_jto shift filebase_ex filebase_ey filebase_ez filebase_hx filebase_hy filebase_hz</i><br>+//ipos jpos kpos ijstart jkstart ext_xres ext_yres ext_ifrom ext_jfrom ext_ito ext_jto shift filebase_ex filebase_ey filebase_ez filebase_hx filebase_hy filebase_hz/
 Uses set of external arrays to inject a source via TSF-like approach. Direction of the source is controlled by ipos, jpos and kpos where only Uses set of external arrays to inject a source via TSF-like approach. Direction of the source is controlled by ipos, jpos and kpos where only
-one of these three parameters should be not -1 similarily to image output. Parameters ijstart and jkstart control placement+one of these three parameters should be not -1 similarly to image output. Parameters ijstart and jkstart control placement
 of upper left corner of injected source plane. Parameters ext_xres and ext_yres control resolution of the data in external source files of upper left corner of injected source plane. Parameters ext_xres and ext_yres control resolution of the data in external source files
 and parameters ext_ifrom, ext_jfrom ext_ito and ext_jto control size and position of the part of external field that is used.  Parameters filebase describe and parameters ext_ifrom, ext_jfrom ext_ito and ext_jto control size and position of the part of external field that is used.  Parameters filebase describe
 naming of source files (so for filebase_ex="ex" this will be ex_0000, ex_0001 for steps 0 and 1). The format of these files corresponds naming of source files (so for filebase_ex="ex" this will be ex_0000, ex_0001 for steps 0 and 1). The format of these files corresponds
 to what we get by OUT_PLANE directive in ASCII mode. to what we get by OUT_PLANE directive in ASCII mode.
-<i>Note that this directive is experimental, might be unstable and its syntax might change.</i> +//Note that this directive is experimental, might be unstable and its syntax might change.// 
-</p> + 
-<p><i>Note that this option is not supported for direct editing by XSvit in this version</i></p>+//Note that this option is not supported for direct editing by XSvit in this version.// 
 + 
 +**SOURCE_WAVELENGTH**\\ 
 +//min center max//
  
-<p><b>SOURCE_WAVELENGTH</b><br> 
-<i>min center max</i><br> 
-<p> 
 Override automatic wavelength detection mechanism for sources. These (or automatically detected)  Override automatic wavelength detection mechanism for sources. These (or automatically detected) 
 values are used when listed material (e.g. silica) is used to pick the optical properties values are used when listed material (e.g. silica) is used to pick the optical properties
 at right wavelength from the predefined values. Center value is used for materials that are at right wavelength from the predefined values. Center value is used for materials that are
 predefined as lookup table, min and max values are used for materials where we have some predefined as lookup table, min and max values are used for materials where we have some
-dispersion model available.</p> +dispersion model available.
- +
- +
-<b>Output</b>+
  
-<p>Note that in present version every output needs GPU data to be synchronized with CPU, which+**Output**\\ 
 +Note that in present version every output needs GPU data to be synchronized with CPU, which
 can take significant time. For really fast simulations  can take significant time. For really fast simulations 
-try to reduce frequency of data outputs.</p>+try to reduce frequency of data outputs. 
 + 
 +**OUT_FILE**\\ 
 +//filename.gwy//
  
-<p><b>OUT_FILE</b><br> 
-<i>filename.gwy</i><br> 
 Set filename that will be used for outputing data. Gwyddion file (*.gwy) Set filename that will be used for outputing data. Gwyddion file (*.gwy)
 holds all data cross-sections (2d data). holds all data cross-sections (2d data).
-</p> 
  
-<p><b>OUT_POINT</b><br> +**OUT_POINT**\\ 
-<i>Ex/Ey/Ez/Hx/Hy/Hz/All nskip i j k filename</i><br>+//Ex/Ey/Ez/Hx/Hy/Hz/All nskip i j k filename/
 Output values of given component of electric/magnetic field into text Output values of given component of electric/magnetic field into text
 file (filename). file (filename).
-</p> 
  
-<p><b>OUT_IMAGE</b><br> +**OUT_IMAGE**\\ 
-<i>Ex/Ey/Ez/Hx/Hy/Hz/All/Epsilon/Sigma/Mu/Sigast/Material nskip  i j k description</i><br>+//Ex/Ey/Ez/Hx/Hy/Hz/All/Epsilon/Sigma/Mu/Sigast/Material nskip  i j k description/
 Output image of plane cross-section. Which plane is used is determined Output image of plane cross-section. Which plane is used is determined
 by indices i j k; two of them must be -1. All results are saved to a .gwy file, skipping given by indices i j k; two of them must be -1. All results are saved to a .gwy file, skipping given
 number of steps (e.g. not outputing image in every step unless nskip=1). number of steps (e.g. not outputing image in every step unless nskip=1).
 Description is a string shown for the channel in Gwyddion data browser. Description is a string shown for the channel in Gwyddion data browser.
-</p> 
-<p>Note that Gwyddion shows data with top-left corner being center of coordinates, 
-orientation of axes on what is seen in Gwyddion is show below</p> 
-<img src="http://gsvit.net/images/out.png"> 
  
-<p><b>OUT_SUM</b><br> +Note that Gwyddion shows data with top-left corner being center of coordinates, 
-<i>component skip i_start j_start k_start i_end j_end k_end epsilon mu sigma sigma* filename</i><br>+orientation of axes on what is seen in Gwyddion is show below 
 +{{http://gsvit.net/images/out.png}} 
 + 
 +**OUT_SUM**\\ 
 +//component skip i_start j_start k_start i_end j_end k_end epsilon mu sigma sigma* filename/
 Output sum of electric field intensity (components: ex, ey, ez, all) or absorption Output sum of electric field intensity (components: ex, ey, ez, all) or absorption
 (component: abs) extracted from bounding box and material with given properties (epsilon only used for this). (component: abs) extracted from bounding box and material with given properties (epsilon only used for this).
Line 555: Line 551:
 values are calculated at each time step anyway and will be output for intermediate steps as well.  values are calculated at each time step anyway and will be output for intermediate steps as well. 
 At present this is tested only on CPU. At present this is tested only on CPU.
-</p> 
  
-<p><b>OUT_SUMTAB</b><br> +**OUT_SUMTAB**\\ 
-<i>component skip i_start j_start k_start i_end j_end k_end material filename</i><br>+//component skip i_start j_start k_start i_end j_end k_end material filename/
 Output sum of electric field intensity (components: ex, ey, ez, all) or absorption Output sum of electric field intensity (components: ex, ey, ez, all) or absorption
 (component: abs) extracted from bounding box and material with given properties (nk tabulated values (component: abs) extracted from bounding box and material with given properties (nk tabulated values
Line 565: Line 561:
 values are calculated at each time step anyway and will be output for intermediate steps as well.  values are calculated at each time step anyway and will be output for intermediate steps as well. 
 At present this is tested only on CPU. At present this is tested only on CPU.
-</p> 
  
-<p><b>OUT_VOLUME</b><br> +**OUT_VOLUME**\\ 
-<i>Ex/Ey/Ez/Hx/Hy/Hz/All/Epsilon/Sigma/Mu/Sigast/Material/Matmode/Abs skip start stop ascii filename</i><br>+//Ex/Ey/Ez/Hx/Hy/Hz/All/Epsilon/Sigma/Mu/Sigast/Material/Matmode/Abs skip start stop ascii filename/
 Output values of given component of electric/magnetic field or material parameters into binary or text Output values of given component of electric/magnetic field or material parameters into binary or text
 file. Whole computational volume is output. Output starts in "start" step and stops before "stop" step.  file. Whole computational volume is output. Output starts in "start" step and stops before "stop" step. 
 If "Abs" component is requested (meaning local absorption), output in every output step is a sum of the present and all the previous outputs If "Abs" component is requested (meaning local absorption), output in every output step is a sum of the present and all the previous outputs
 (values in between outputs are not used; this means that to sum absorption from step 100 to 110 you  (values in between outputs are not used; this means that to sum absorption from step 100 to 110 you 
-need to run at least 110 computation steps with volume output skip=1 and volume output start=100, stop=110).</p> +need to run at least 110 computation steps with volume output skip=1 and volume output start=100, stop=110). 
-<p>If ASCII file (ascii=1) is output, it has following + 
-structure: xres yres zres channel (and all the data as an array of values separated by space or end of line).</p> +If ASCII file (ascii=1) is output, it has following 
-<p>In binary mode the header is omitted, so only arrays are output,+structure: xres yres zres channel (and all the data as an array of values separated by space or end of line). 
 + 
 +In binary mode the header is omitted, so only arrays are output,
 all the array values are doubles (eight bytes), there are no separators. You can read binary output all the array values are doubles (eight bytes), there are no separators. You can read binary output
-directly by e.g. <a href="http://paraview.org">Paraview</a> as shown below where a slice of absorption +directly by e.g. [[http://paraview.org|Paraview]] as shown below where a slice of absorption 
-volume of 100x100x100 voxels is visualised (here you can check also data loading parameters for Paraview).<br> +volume of 100x100x100 voxels is visualized (here you can check also data loading parameters for Paraview). 
-<a href="images/sv_paraview.png"><img src="http://gsvit.net/images/sv_paraview.png" width="500"></a> + 
-</p>+{{http://gsvit.net/images/sv_paraview.png?500}} 
 + 
 +**OUT_FORCE**\\ 
 +//skip i_start j_start k_start i_end j_end k_end filename//
  
-<p><b>OUT_FORCE</b><br> 
-<i>skip i_start j_start k_start i_end j_end k_end filename</i><br> 
 Output optical force acting on volume defined by six integers. X, y, and z component Output optical force acting on volume defined by six integers. X, y, and z component
 time dependence is output together with its values averaged over source period (source frequency is determined time dependence is output together with its values averaged over source period (source frequency is determined
 using FFT). Optical force is calculated using Maxwell stress tensor. No media should cross the using FFT). Optical force is calculated using Maxwell stress tensor. No media should cross the
 boundary and scaterrer to be evaluated should be placed inside the evaluation volume. boundary and scaterrer to be evaluated should be placed inside the evaluation volume.
-</p> 
  
-<p><b>NFFF</b></br> +**NFFF**\\ 
-<i>i0 j0 k0 i1 j1 k1 sum_from sum_to</i><br> +//i0 j0 k0 i1 j1 k1 sum_from sum_to/
-Near-to far field calculation boundary definition. Needs to be within the computational+ 
 +Near-field to far-field calculation boundary definition. Needs to be within the computational
 volume. Parameters i0..k1 define the boundary position, sum_from and sum_to define volume. Parameters i0..k1 define the boundary position, sum_from and sum_to define
 the range of NFFF data summation when applied (not supported now). See example 3 for details of use. the range of NFFF data summation when applied (not supported now). See example 3 for details of use.
-</p> 
  
-<p><b>NFFF_SKIP</b></br> +**NFFF_SKIP**\\ 
-<i>boundary i_min/j_min j_min/k_min i_max/j_max j_max/k_max  </i><br>+//boundary i_min/j_min j_min/k_min i_max/j_max j_max/k_max/
 Specifies area that should be excluded from NFFF calculation. Parameter "boundary" Specifies area that should be excluded from NFFF calculation. Parameter "boundary"
 is string denoting which boundary is being set (i0, j0, k0, in, jn, kn), the next is string denoting which boundary is being set (i0, j0, k0, in, jn, kn), the next
Line 607: Line 606:
 in principle NFFF should be applied on all the boundaries to work properly, but in case in principle NFFF should be applied on all the boundaries to work properly, but in case
 of special materials or boundary conditions some boundary or boundary area skipping can make sense. of special materials or boundary conditions some boundary or boundary area skipping can make sense.
-</p> 
  
-<p><b>NFFF_RAMAHI_POINT</b></br> +**NFFF_RAMAHI_POINT**\\ 
-<i>i j k filename</i><br>+//i j k filename/
 Far field point designed for time values of electric field output. Can be outside Far field point designed for time values of electric field output. Can be outside
 of the computational volume even if it is entered in integer values representing of the computational volume even if it is entered in integer values representing
 position in computational volume (therefore values can be e.g. negative). See example 3 for details of use. position in computational volume (therefore values can be e.g. negative). See example 3 for details of use.
-</p> 
  
-<p><b>NFFF_SPHERICAL_AREA</b></br> +**NFFF_SPHERICAL_AREA**\\ 
-<i>theta_res phi_res radius theta_from phi_from theta_to phi_to savefile</i><br>+//theta_res phi_res radius theta_from phi_from theta_to phi_to savefile/
 Creates set of far field points designed for time values of electric field output. Set of (theta_res x phi_res) points  Creates set of far field points designed for time values of electric field output. Set of (theta_res x phi_res) points 
 are on a sphere of given radius (int integer i.e. voxel units), theta is declination and phi is azimuth. Parameter savefile are on a sphere of given radius (int integer i.e. voxel units), theta is declination and phi is azimuth. Parameter savefile
Line 624: Line 623:
 to cover whole half-sphere above sample for reflection scattering simulation by to cover whole half-sphere above sample for reflection scattering simulation by
 set of 20x20 points on sphere with radius of 1000 voxels, and not to save intermediate files, write  set of 20x20 points on sphere with radius of 1000 voxels, and not to save intermediate files, write 
-</p> 
-<tt> 
-NFFF_SPHERICAL_AREA 
-20 20 1000 90 0 180 360 0 
-</tt> 
-<p><i>Note that this option is not supported for direct editing by XSvit in this version, however it can be still visualised.</i></p> 
  
-<p><b>NFFF_PLANAR_AREA</b></br> +''NFFF_SPHERICAL_AREA\\ 
-<i>ares bres afrom bfrom ato bto orientation distance savefile</i><br>+20 20 1000 90 0 180 360 0'' 
 + 
 +//Note that this option is not supported for direct editing by XSvit in this version, however it can be still visualized.// 
 + 
 +**NFFF_PLANAR_AREA**\\ 
 +//ares bres afrom bfrom ato bto orientation distance savefile/
 Creates set of far field points designed for time values of electric field output. Set of (a x b) points  Creates set of far field points designed for time values of electric field output. Set of (a x b) points 
 are on a plane oriented with normal to direction in x, y or z (depending on "orientation parameter" ranging from 0 (x) to 2 (z).  are on a plane oriented with normal to direction in x, y or z (depending on "orientation parameter" ranging from 0 (x) to 2 (z). 
Line 640: Line 639:
 determines whether to save all the farfield point dependencies or just put the total output into general output determines whether to save all the farfield point dependencies or just put the total output into general output
 file (in Gwyddion format). file (in Gwyddion format).
-</p> 
-<p><i>Note that this option is not supported for direct editing by XSvit in this version, however it can be still visualised.</i></p> 
  
-<p><b>PERIODIC_NFFF</b></br> +//Note that this option is not supported for direct editing by XSvit in this version, however it can be still visualized.// 
-<i>i0 j0 k0 i1 j1 k1 per_ifrom per_jfrom per_ito per_jto</i><br> + 
-Periodic near-to far field calculation boundary definition. Suitable namely for use with periodic+**PERIODIC_NFFF**\\ 
 +//i0 j0 k0 i1 j1 k1 per_ifrom per_jfrom per_ito per_jto/
 + 
 +Periodic near-field to far-field calculation boundary definition. Suitable namely for use with periodic
 boundary conditions of same dimensions. Uses only z planes (given by integer k0, k1) but repeats it as many times as given by integer boundary conditions of same dimensions. Uses only z planes (given by integer k0, k1) but repeats it as many times as given by integer
 span (per_ifrom, per_jfrom, per_ito, per_jto). Using periodic repeating values 0 0 1 1 gives the same  span (per_ifrom, per_jfrom, per_ito, per_jto). Using periodic repeating values 0 0 1 1 gives the same 
 result as conventional NFFF with skipped all the boundaries except single z plane. Values of periodic repeating can be result as conventional NFFF with skipped all the boundaries except single z plane. Values of periodic repeating can be
 negative, so e.g. values -1 -1 2 2 will produce result of 3x3 copies of calculated fields centered at the originally computed one. negative, so e.g. values -1 -1 2 2 will produce result of 3x3 copies of calculated fields centered at the originally computed one.
-</p> 
  
-<p><b>PERIODIC_NFFF_SKIP</b></br> +**PERIODIC_NFFF_SKIP**\\ 
-<i>boundary i_min/j_min i_max/j_max</i><br>+//boundary i_min/j_min i_max/j_max/
 Specifies area that should be excluded from periodic NFFF calculation. Parameter "boundary" Specifies area that should be excluded from periodic NFFF calculation. Parameter "boundary"
 is string denoting which boundary is being set (k0 or kn as no other boundaries are used in periodic NFFF), the next is string denoting which boundary is being set (k0 or kn as no other boundaries are used in periodic NFFF), the next
Line 660: Line 660:
 in principle NFFF should be applied on all the boundaries to work properly, but in case in principle NFFF should be applied on all the boundaries to work properly, but in case
 of special materials or boundary conditions some boundary or boundary area skipping can make sense. of special materials or boundary conditions some boundary or boundary area skipping can make sense.
-</p> 
  
-<p><b>PERIODIC_NFFF_POSTPROCESS</b></br> +**PERIODIC_NFFF_POSTPROCESS**\\ 
-<i>yes/no start</i><br> +//yes/no start/
-Speedup of perodic NFFF by accumulation of the boundary values during computation followed by their+ 
 +Speedup of periodic NFFF by accumulation of the boundary values during computation followed by their
 processing at the end. First parameter requests the algorithm (0 by default not use it, 1 to use it), processing at the end. First parameter requests the algorithm (0 by default not use it, 1 to use it),
 second parameter can be used to reduce memory needs skipping integration at beginning of the computation second parameter can be used to reduce memory needs skipping integration at beginning of the computation
-when field is not developed enough anyway. Still can be very memory demaning for longer calculations. +when field is not developed enough anyway. Still can be very memory demanding for longer calculations. 
-</p>+ 
 +**PERIODIC_NFFF_RAMAHI_POINT**\\ 
 +//i j k filename//
  
-<p><b>PERIODIC_NFFF_RAMAHI_POINT</b></br> 
-<i>i j k filename</i><br> 
 Far field point designed for time values of electric field output in periodic NFFF. Can be outside Far field point designed for time values of electric field output in periodic NFFF. Can be outside
 of the computational volume even if it is entered in integer values representing of the computational volume even if it is entered in integer values representing
 position in computational volume (therefore values can be e.g. negative).  position in computational volume (therefore values can be e.g. negative). 
-</p> 
  
-<p><b>PERIODIC_NFFF_SPHERICAL_AREA</b></br> +**PERIODIC_NFFF_SPHERICAL_AREA**\\ 
-<i>theta_res phi_res radius theta_from phi_from theta_to phi_to savefile</i><br>+//theta_res phi_res radius theta_from phi_from theta_to phi_to savefile/
 Creates set of far field points designed for time values of electric field output using periodic NFFF. Set of (theta_res x phi_res) points  Creates set of far field points designed for time values of electric field output using periodic NFFF. Set of (theta_res x phi_res) points 
 are on a sphere of given radius (int integer i.e. voxel units), theta is declination and phi is azimuth. Parameter savefile are on a sphere of given radius (int integer i.e. voxel units), theta is declination and phi is azimuth. Parameter savefile
Line 685: Line 685:
 to cover whole half-sphere above sample for reflection scattering simulation by to cover whole half-sphere above sample for reflection scattering simulation by
 set of 20x20 points on sphere with radius of 1000 voxels, and not to save intermediate files, write  set of 20x20 points on sphere with radius of 1000 voxels, and not to save intermediate files, write 
-</p> 
-<p> 
-<tt> 
-PERIODIC_NFFF_SPHERICAL_AREA<br> 
-20 20 1000 90 0 180 360 0 
-</tt> 
-</p> 
-<p><i>Note that this option is not supported for direct editing by XSvit in this version, however it can be still visualised.</i></p> 
  
-<b>Graphics card use</b> +''PERIODIC_NFFF_SPHERICAL_AREA\\ 
-<p><b>GPU</b><br> +20 20 1000 90 0 180 360 0'' 
-<i>ngpus</i><br>+ 
 +//Note that this option is not supported for direct editing by XSvit in this version, however it can be still visualized.// 
 + 
 +**Graphics card use** 
 + 
 +**GPU**\\ 
 +//ngpus/
 Set number of graphics cards to be used (indexed as CUDA indexes them). Set number of graphics cards to be used (indexed as CUDA indexes them).
 If this command is not used or set to zero, calculation is performed If this command is not used or set to zero, calculation is performed
 on PC processor. See example 1 for details of use. Note that at present on PC processor. See example 1 for details of use. Note that at present
-version use of multiple GPUs together is implemented, but untested.</p>+version use of multiple GPUs together is implemented, but untested. 
 + 
 +**UGPU**\\ 
 +//number//
  
-<p><b>UGPU</b><br> 
-<i>number</i><br> 
 Set GPU with given index to be used for calculations (indexed as CUDA indexes them). Set GPU with given index to be used for calculations (indexed as CUDA indexes them).
 This can be used for example to run several different calculations on different cards. This can be used for example to run several different calculations on different cards.
- See example 1 for details of use.</p>+ See example 1 for details of use.
    
-<p><b>GPU_QUERY</b><br> +**GPU_QUERY**\\ 
-<i>0/1</i><br>+//0/1/
 Search for available GPUs, detecting and printing their capabilities prior to using any of them (default 1, which means true).  Search for available GPUs, detecting and printing their capabilities prior to using any of them (default 1, which means true). 
 Skipping this step can prevent large delays on some supercomputing systems with very large number of boards Skipping this step can prevent large delays on some supercomputing systems with very large number of boards
 and PCI buses, however it is not necessary nor recommended for use on a standard PC. and PCI buses, however it is not necessary nor recommended for use on a standard PC.
-</p> 
  
-<b>General commands</b> +**General commands** 
-<p><b>VERBOSE</b></p> + 
-<p><i>0-4</i></p> +**VERBOSE**\\ 
-<p>Set text output (step by step), from full (4) to silent mode (0).</p>+//0-4//
  
-</html>+Set text output (step by step), from full (4) to silent mode (0).
  
docs/gsvit_inputs.1739967285.txt.gz · Last modified: 2025/02/19 13:14 by admin