Commit Graph

332 Commits (8e2fce0e8cf9199bd62f52959c4ed9f47875bc28)

Author SHA1 Message Date
Thorsten Liebig 8e2fce0e8c reduce AdrOp usage 2011-03-14 15:58:38 +01:00
Thorsten Liebig 92d60b3204 fix in cylindrical multigrids: check for valid number of subgrids 2011-03-14 10:37:12 +01:00
Thorsten Liebig f630abf813 MPI: external libs info reflects MPI usage 2011-03-10 10:39:08 +01:00
Thorsten Liebig 3cbadd5c82 MPI: DumpExciationsSignals for rank 0 only 2011-03-10 10:39:08 +01:00
Thorsten Liebig 9c061e9d84 MPI: redirect output for ranks>0 to file
changes to main.cpp:
read global command line arguments first to allow for immediate output redirection

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2011-03-10 10:39:08 +01:00
Thorsten Liebig 75fb5a0cc9 MPI: fix in handling SplitN_? equal 1 or smaller 2011-03-10 10:39:08 +01:00
Thorsten Liebig 28c5b496ed MPI: fix in enabling MPI Operator 2011-03-10 10:39:08 +01:00
Thorsten Liebig 8d09a7ee28 MPI: allow requested number of splits 2011-03-10 10:39:08 +01:00
Thorsten Liebig eb7524b6f6 MPI: Setup MPI now allows split in all directions with defitions read from xml-file
Warning: depends on API changes in CSXCAD!
2011-03-10 10:39:08 +01:00
Thorsten Liebig 20d6547235 MPI: added cylindrical multigrid support
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>
2011-03-10 10:39:08 +01:00
Thorsten Liebig 14e12f9138 MPI: new methode to define neighbors 2011-03-10 10:39:08 +01:00
Thorsten Liebig 729a92c5e1 MPI: move mpi mesh split to openEMS_FDTD_MPI 2011-03-10 10:39:08 +01:00
Thorsten Liebig bfcd85e3e6 MPI: fix: buffer init can handle all interface directions 2011-03-10 10:39:08 +01:00
Thorsten Liebig 211b6b7331 MPI: debug dumps prepend its rank to output filenames 2011-03-10 10:39:07 +01:00
Thorsten Liebig 9b55eab2f8 MPI: ciritcal fix: the interface area needs to be updated in both ranks 2011-03-10 10:39:07 +01:00
Thorsten Liebig 23df0f63a0 MPI: critital fix in current update/transfer
The normal current component at the upper boundaries are not updated
by the conventional engine as is needed for the interface interaction.

Workaround: transfer all three current components --> larger data transfer
Todo: needs to be properly fixed in the future!

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2011-03-10 10:39:07 +01:00
Thorsten Liebig 9d51971c26 MPI: fix for cylindrical coordinate engine + MPI 2011-03-10 10:39:07 +01:00
Thorsten Liebig 8d2d645a26 MPI: insert MPI engine into main engines inheritance scheme
new inheritance scheme:
[..] -> SSE_Compressed -> MPI -> Multithreading -> [..]
2011-03-10 10:39:07 +01:00
Thorsten Liebig b395546483 MPI: some fixes in handling the MPI engine 2011-03-10 10:39:07 +01:00
Thorsten Liebig 3b402e976b MPI: disable/rename processings if they are in conflict 2011-03-10 10:39:07 +01:00
Thorsten Liebig 27a4b9f482 MPI: synchronize time step + new MPI_Enabled flag 2011-03-10 10:39:07 +01:00
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