Updates to user libraries docs.

这个提交包含在:
Craig Warren
2016-05-03 18:19:55 +01:00
父节点 9e3985b56c
当前提交 5634115afc
共有 3 个文件被更改,包括 81 次插入14 次删除

查看文件

@@ -4,6 +4,12 @@ User libraries is a sub-package where useful Python modules contributed by users
Antennas
********
Information
===========
Author/Contact: Craig Warren (Craig.Warren@ed.ac.uk), University of Edinburgh
License: Creative Commons Attribution-ShareAlike 4.0 International License (http://creativecommons.org/licenses/by-sa/4.0/)
.. code-block:: python
# Copyright (C) 2015-2016, Craig Warren
@@ -20,7 +26,21 @@ The module currently features models of antennas similar to commercial antennas:
A description of how the models were created can be found at http://dx.doi.org/10.1190/1.3548506.
The antenna models can be accessed from within a block of Python code in your simulation. The models must be used with cubic spatial resolutions of either 1mm (default) or 2mm. For example, to use Python to include an antenna model similar to a GSSI 1.5 GHz antenna at a location 0.125m, 0.094m, 0.100m (x,y,z):
Module overview
===============
* `antennas.py` is a module containing the descriptions of the antennas.
How to use the module
=====================
The antenna models can be accessed from within a block of Python code in an input file. The models must be used with cubic spatial resolutions of either 1mm (default) or 2mm.
Example
-------
To include an antenna model similar to a GSSI 1.5 GHz antenna at a location 0.125m, 0.094m, 0.100m (x,y,z):
.. code-block:: none

查看文件

@@ -1,11 +1,16 @@
User libraries is a sub-package where useful Python modules contributed by users are stored.
**UNDER CONSTRUCTION**
***********************
AustinMan & AustinWoman
***********************
Information
===========
Authors: Jackson W. Massey, Cemil S. Geyik, Jungwook Choi, Hyun-Jae Lee, Natcha Techachainiran, Che-Lun Hsu, Robin Q. Nguyen, Trevor Latson, Madison Ball, and Ali E. Yılmaz
Contact: Ali E. Yılmaz (ayilmaz@mail.utexas.edu), The University of Texas at Austin
License: Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License (http://creativecommons.org/licenses/by-nc-nd/3.0/)
.. code-block:: python
# This module is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
@@ -18,7 +23,7 @@ AustinMan and AustinWoman (http://bit.ly/AustinMan) are open source electromagne
.. figure:: images/AustinMan_head.png
:width: 600 px
FDTD geometry mesh showing the head of the AustinMan model.
FDTD geometry mesh showing the head of the AustinMan model (2x2x2mm^3).
The AustinMan and AustinWoman models are not currently included in the user libraries sub-package, however they can be downloaded from http://bit.ly/AustinMan.
@@ -34,10 +39,13 @@ AustinMan 1x1x1 683x374x1877
AustinWoman 8x8x8 86x47x217
AustinWoman 4x4x4 171x94x433
AustinWoman 2x2x2 342x187x865
AustinWoman 1x1x1
AustinWoman 1x1x1 683x374x1730
=========== ================= ==================
To use the models with gprMax:
How to use the models
=====================
From http://bit.ly/AustinMan:
* Download a HDF5 file (.h5) of AustinMan or AustinWoman at the resolution you wish to use.
* Download a text file of material descriptions for gprMax, either
@@ -45,7 +53,12 @@ To use the models with gprMax:
* ``AustinManWoman_gprMax_materials.txt`` for non-dispersive material properties at 900 MHz (http://niremf.ifac.cnr.it/tissprop/).
* ``AustinManWoman_gprMax_materials_dispersive.txt`` for dispersive material properties that feature a 3-pole Debye model (http://dx.doi.org/10.1109/LMWC.2011.2180371). Not all materials have a dispersive description.
To insert either AustinMan or AustinWoman into a model use the ``#geometry_objects_file``. For example, to insert a 2x2x2mm^3 AustinMan with the lower left corner 40mm from the origin of the domain, and using disperive material properties, use the command:
To insert either AustinMan or AustinWoman into a model use the ``#geometry_objects_file``.
Example
-------
To insert a 2x2x2mm^3 AustinMan with the lower left corner 40mm from the origin of the domain, and using disperive material properties, use the command:
.. code-block:: none
@@ -56,7 +69,7 @@ For further information on the `#geometry_objects_file` see the section on objec
.. figure:: images/AustinMan.png
:width: 300 px
FDTD geometry mesh showing the AustinMan body model.
FDTD geometry mesh showing the AustinMan body model (2x2x2mm^3).

查看文件

@@ -6,6 +6,12 @@ User libraries is a sub-package where useful Python modules contributed by users
Optimisation - Taguchi
**********************
Information
===========
Author/Contact: Craig Warren (Craig.Warren@ed.ac.uk), University of Edinburgh
License: Creative Commons Attribution-ShareAlike 4.0 International License (http://creativecommons.org/licenses/by-sa/4.0/)
.. code-block:: python
# Copyright (C) 2015-2016, Craig Warren
@@ -15,12 +21,13 @@ Optimisation - Taguchi
#
# Please use the attribution at http://dx.doi.org/10.1190/1.3548506
The module features an optimisation technique based on Taguchi's method. It allows the user to define parameters in an input file and optimise their values based on a user-defined fitness function.
The package features an optimisation technique based on Taguchi's method. It allows the user to define parameters in an input file and optimise their values based on a fitness function.
Taguchi's method
================
----------------
Taguchi's method is based on the concept of Orthogonal Array (OA) and has the following advantages:
Taguchi's method is based on the concept of the Orthogonal Array (OA) and has the following advantages:
* Simple to implement
* Effective in reduction of experiments
@@ -35,12 +42,39 @@ Details of Taguchi's method in the context of electromagnetics can be found in [
Process associated with Taguchi's method.
Implementation
==============
Package overview
================
.. code-block:: none
OA_9_4_3_2.npy
OA_18_7_3_2.npy
optimisation_taguchi_fitness.py
optimisation_taguchi_plot.py
* `OA_9_4_3_2.npy` and `OA_18_7_3_2.npy` are NumPy archive containing pre-built OAs from http://neilsloane.com/oadir/
* `optimisation_taguchi_fitness.py` is a module containing fitness functions. There are some pre-built ones but users should add their own here.
* `optimisation_taguchi_plot.py` is a module for plotting the results, such as parameter values and convergence history, from an optimisation process when it has completed.
How to use the package
======================
Parameters to optimise
----------------------
The module will select from 2 pre-built OAs (http://neilsloane.com/oadir/) depending on the number of parameters to optimise. Currently, up to 7 independent parameters can be optimised, although a method to construct OAs of any size is under testing.
Fitness functions
-----------------
A fitness function is required
A fitness function is required to set a goal against which to compare results from the optimisation process. A number of pre-built fitness functions can be found in the `optimisation_taguchi_fitness.py` module, such as `minvalue`, `maxvalue` and `xcorr`. Users can easily add their own fitness functions to this module. All fitness functions must take two arguments and return a single fitness value which will be maximised. The arguments must be:
* `filename` a string containing the full path and filename of the output file
* `args` a dictionary which can contain any number of additional arguments for the function, e.g. names (IDs) of outputs (rxs) from input file
Example
-------