Commit Graph

337 Commits

Author SHA1 Message Date
Thorsten Liebig
aba33c58bd excitation moved to its own extension
the benefit of this approach is, that the excitation
is subject to the extensions priorities
2011-03-16 16:26:01 +01:00
Thorsten Liebig
43e1f43c42 new operator method: GetYeeCoords & usage to calc excitations and metal 2011-03-16 12:26:41 +01:00
Thorsten Liebig
3742478ca9 sorting engine methods and some docu updates 2011-03-16 12:16:09 +01:00
Thorsten Liebig
005eb3a4f6 MPI: added an additional line at the upper MPI-bound for correct material averaging
This also fixes the current send and receive issue
--> Engine_MPI::SendReceiveCurrents()
2011-03-15 09:41:29 +01:00
Thorsten Liebig
edb40489d7 MPI: tell MPI-operator about global mesh and its position in it 2011-03-14 16:20:33 +01:00
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