Allow a vector of parts to be pickled, with test
Allow EFIEOperator to be pickled
Greatly simplified logging, so that no specific logger objects are created. Instead, everything is written to the root logger, and the user is responsible for changing the settings of the root logger to display them on screen.
PEP8 fixes
Objects with a unique identifier should have this identifier shown when printed.
Created and utilised a picklable weak reference class. This avoids circular references, whilst allowing the tree of parts to be pickled.
Added some additional data to the Green's function object, although it is currently not utilised at all by the EFIEOperator
PEP8 syntax fixes
For objects with id, also show the memory address. This makes pickling and unpickling example unambiguous
Fixed bug in plane wave excitation, taking unintended complex conjugate of wave-number k. For imaginary s, this had the effect of reversing the direction of plane wave propagation.
Code for weighting/testing a function over a set of basis functions (needed for source terms)
Source fields are now specified in python code, allowing arbitrary source distributions to be used
Corrected documentation, and PEP8 fixes
Docstring corrections
Removed debbuging statement
Deleted redundant code, including for non-affine geometric transformations. Any such modifications should be done to the geometry before meshing.
Created a memiozation property, which knows specifically about identified objects and numpy arrays.
Apply memoization to speed up weighting of a source function of a set of basis functions.
Convenience function for arbitrary source vectors, and test code showing that results are the same as the fortran-based code.
Modify setup.py to also allow C based extensions, and ignore fortran specific compiler options