Commit Graph

311 Commits (e2628740fcbd475fb484495ec1820a5792af8cfa)

Author SHA1 Message Date
Thorsten Liebig e2628740fc new openEMS_FDTD_MPI for better MPI handling 2011-03-10 10:39:07 +01:00
Thorsten Liebig 9364ecd292 first working MPI implementation
todo:
 - only/mainly rank 0 takes care of output
 - rank 0 manages end-criteria, energy calculation
 - field dumps split between ranks --> prevent file corruption
 - a lot more...

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2011-03-10 10:39:07 +01:00
Thorsten Liebig 895e6c635d initial MPI support 2011-03-10 10:39:07 +01:00
Thorsten Liebig b73004be48 new method to dump excitation signals 2011-03-10 10:34:40 +01:00
Thorsten Liebig 7df39bafcb fix: missing operator construction 2011-02-08 11:42:59 +01:00
Thorsten Liebig 02f929aa53 fix: allow missing exciation... 2011-02-08 10:35:23 +01:00
Thorsten Liebig 2e2f75807e Operator-Base: access stored discrete material 2011-01-31 12:22:21 +01:00
Thorsten Liebig 24bac9499f allocate dynamic CSX and allow access from basic operator 2011-01-31 12:00:00 +01:00
Thorsten Liebig 10537d75ab fill missing material storage in cylindrical multigrids 2011-01-25 10:27:51 +01:00
Thorsten Liebig 67d1307fdf fixed the operator resetting & cleanup + a lot of memory leaks fixed 2011-01-24 11:11:45 +01:00
Thorsten Liebig c0c66518c1 new dump type: total current density (rotH) field dump 2011-01-10 11:15:22 +01:00
Thorsten Liebig c5a689b67c fixed GetRawField handling 2011-01-10 11:14:23 +01:00
Thorsten Liebig 24a2e3007a FDTD Engine Interface: update to GetRawField 2011-01-07 16:29:08 +01:00
Thorsten Liebig 2c3ebe5a7d new dump type: electric current density (J = kappa * E) 2011-01-07 16:12:07 +01:00
Thorsten Liebig ea496b6129 operator: new material data storage for post-processing purposes 2011-01-07 10:55:31 +01:00
Thorsten Liebig 3104335dce replaced GetMeshDelta by GetEdgeLength & partially removed AdrOp 2010-12-08 16:55:27 +01:00
Thorsten Liebig 043ec7c1a1 processing constructor with Engine_Interface_Base only
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-12-07 16:47:23 +01:00
Thorsten Liebig 57ead21ccc real abstract base classes for common operator and engine-interface 2010-12-07 14:47:22 +01:00
Thorsten Liebig 9d3761b1d0 Init style: applied astyle.sh
astyle --style=allman --indent=tab --indent-cases {} \;

please apply this style prior to any future commit

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-12-06 15:31:11 +01:00
Thorsten Liebig 70ae86d63f moved all FDTD extensions to folder FDTD/extensions
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-12-06 15:30:47 +01:00
Thorsten Liebig 2f531b99c6 moved all processing classes to Common/
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-12-06 10:44:25 +01:00
Thorsten Liebig 16263e8f9a new Operator_Base class
- This class is meant as an abstract base for any time-domain and rect-grid numerical solver.
- All processing methods should only use this base class

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-12-06 10:00:08 +01:00
Thorsten Liebig 32cbdc5d0b removed FDTD engine from (nearly) all processing classes
todo:
 - remove FTDT operator from all processingX and replace by abstract-base-operator?
 - remove FDTD engine from ProcessCurrent
 - remove or cleanup ProcessEField + ProcessHField

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-12-06 10:00:08 +01:00
Thorsten Liebig ab1119f468 new: Engine_Interface
This is a new common class designed as an interface between an engine
and the processing routines which should become a part of common as well.

todo:
 - migrate all processings to use this interface only
 - lots of testing...

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-12-06 10:00:08 +01:00
Thorsten Liebig 2d12db5ea6 Merge remote branch 'seb/master' 2010-11-04 12:20:23 +01:00
Thorsten Liebig ce56184681 multi-threading support for MUR-ABC added 2010-11-04 12:13:43 +01:00
Sebastian Held 5900e2726c more logical boundary handling 2010-11-04 07:48:15 +01:00
Sebastian Held 6728cee054 minor bugfix: missing initialization 2010-10-28 21:50:50 +02:00
Thorsten Liebig 907ac3cff2 default debug flag and update/fix for cylindrical coords 2010-10-27 14:49:16 +02:00
Sebastian Held d31b3ffbb2 updated debug dumps
The debug dump routines do not work correctly in cylinder coords (--nativeFieldDumps may help)!
2010-10-27 11:17:58 +02:00
Thorsten Liebig 4f8aa3faa8 fix in Operator_SSE_Compressed: cleanup old compression prior to an InitOperator() 2010-10-26 18:47:21 +02:00
Thorsten Liebig f204bc2723 Mode matching probe: fixed an error in HField interpolation
Now also excluding the boundaries from the MM.
Updated waveguide example: Rect_Waveguide.m

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-10-26 08:30:35 +02:00
Thorsten Liebig 1586c76af6 Merge remote branch 'seb/master' 2010-10-20 10:48:18 +02:00
Sebastian Held dcc9f86c8a --debug-PEC improvements 2010-10-20 09:25:50 +02:00
Sebastian Held 4e91cb95dc bugfix: --debug-PEC now works with all engines; operator now uses Get... and Set... functions 2010-10-20 07:26:16 +02:00
Thorsten Liebig 7dec28731c changed CSXCAD API handling used primitives 2010-10-19 16:54:35 +02:00
Thorsten Liebig b6362495d8 operator: fix in PEC curves
Operator::FindPath method is not optimal yet,
will find weird pathes in some occasions,
at least they will be closed now... hopefully :)

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-10-12 12:49:44 +02:00
Sebastian Held 16e0e2f3f2 bugfix: correct scaling of --debug-boxes 2010-10-11 21:05:02 +02:00
Thorsten Liebig c1250ce34d upml ext: save memory and speedup
Instead of using an additional voltage/current array mirroring the main volt/curr,
the upml extension now swaps volt with volt_flux and curr with curr_flux
before and after the main engine updates.
This saves memory and therefore also increases the upml speed.
2010-10-07 19:25:22 +02:00
Sebastian Held 5cc6438ab7 engine_sse_compressed: speed up 2010-10-07 14:39:54 +02:00
Thorsten Liebig 672f2a436a upml extension: operator get functions and disabled pml in non-pml regions 2010-10-06 15:07:17 +02:00
Thorsten Liebig 043ef6ec4c extensions: multithreading support added
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
2010-10-06 10:30:55 +02:00
Thorsten Liebig 1b2ac008e7 fix in upml operator 2010-10-06 10:04:19 +02:00
Thorsten Liebig 430a04e9e4 new/better method to assign jobs to working threads 2010-10-05 17:24:36 +02:00
Thorsten Liebig ae281d3dea upml extension: use inline engine access methods
todo: further speed optimization for this extension...

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-10-05 11:51:12 +02:00
Thorsten Liebig 6c00a844d2 upml extension: added support for cylindrical multigrid meshes 2010-10-05 11:51:12 +02:00
Thorsten Liebig 66c79aabe6 mur-abc extension copy-constructor should be protected 2010-10-05 11:51:12 +02:00
Thorsten Liebig 684e864a75 upml extension: added support for cylindrical meshs 2010-10-05 11:51:12 +02:00
Thorsten Liebig cc50b5bbef ShowStat method added to upml extension 2010-10-05 11:51:12 +02:00
Thorsten Liebig 06bbec106f new extension: upml
Operator extension implementing an uniaxial perfectly matched layer (upml)

This new pml implementation is going to replace the old split-field pml
2010-10-05 11:51:12 +02:00