* missing __declspec import/export for openEMS.dll/nf2ff.dll creation
* SEE2 needs __m128 and operators (see tools/array_ops.h)
* array creation needs new/delete for compile time unknown sizes
* no gettimeofday and Winsock2 instead of sys/time
* missing math defines
Signed-off-by: Thorsten Liebig <liebig@imst.de>
The cylindrical multigrid scheme needed a workaround:
An additional barrier is necessary to prevent a simultaneous MPI comm access.
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
every extension can either implement the single threaded methods e.g. DoPreVoltageUpdates()
or the multithreading aquivalent method e.g. DoPreVoltageUpdates(int threadID)
Engine_Ext_UPML class is an example for a multithreading extensions
this is a new multi grid approach for the cylindrical FDTD.
The FDTD domain will be split in two regions in radial direction.
The "inner" region will have half as many disc-lines in alpha direction and therefore allow for a much larger timestep which increases the simulation speed.
Todo:
- currently only a homogeneous disc is allowed in alpha direction
- some extensions have to be tested and prepared for this approach (e.g. pml)
- speed enhancement and more efficient memory usage
- lots and lots of testing...