Thorsten Liebig
eb74757789
openEMS using CSX mesh type definition
2011-08-16 17:03:57 +02:00
Thorsten Liebig
01bdb9e03e
find and delete an existing operator extension
2011-07-25 14:57:09 +02:00
Thorsten Liebig
0fe63823d0
bug fix in operator resetting and (Re)InitExcitation
2011-07-25 14:56:27 +02:00
Thorsten Liebig
2e8e8caa4e
Operator: new SnapBox2Mesh + used by CalcLumpedElement
2011-07-22 09:58:02 +02:00
Thorsten Liebig
c7d24d08f1
fix: dump operator debug files in native format only
2011-07-14 13:42:33 +02:00
Thorsten Liebig
8237d39ece
bug fixes in Calc_LumpedElements
2011-07-13 09:32:44 +02:00
Thorsten Liebig
ca8c5eeee4
upml: critical bug in upml grading function
...
wrong upml grading function has made the pml unstable or fail for small mesh delta units
2011-06-08 10:29:00 +02:00
Thorsten Liebig
28dc323e8a
revised Operator::SnapToMesh & fix in cylindrical H-Field interpolation
2011-04-27 13:01:02 +02:00
Thorsten Liebig
7d30ce2fb6
removed old legacy vtk file writing
2011-04-13 16:22:06 +02:00
Thorsten Liebig
01e8a8011a
fixed argument parsing & always redirect MPI output
2011-04-13 16:21:59 +02:00
Thorsten Liebig
1a06418914
new engine interface for cylindrical fdtd, handling the closed cylinder
2011-04-13 12:16:54 +02:00
Thorsten Liebig
91ba3a6f6f
MPI: lib info update & compilation fix
2011-04-08 12:26:32 +02:00
Thorsten Liebig
7b34a8706a
new lumped elements using new CSPropLumpedElement CSXCAD-class
2011-04-08 09:59:48 +02:00
Thorsten Liebig
62acf5f1b3
ProcessFields now using new VTK_File_IO class for vtk dumps
...
Todo:
- HDF5_File_IO
- replace all old vtk dump method usage and remove them
2011-04-01 15:29:56 +02:00
Thorsten Liebig
77cae6185e
MPI: added closed cylinder operator support
2011-03-28 10:38:48 +02:00
Thorsten Liebig
06eb82832e
MPI: operator saves process table
2011-03-28 10:26:08 +02:00
Thorsten Liebig
9f40c20d43
regression fix in cylinder extension
2011-03-21 15:48:20 +01:00
Thorsten Liebig
46230f63c7
MPI: check if multigrid and MPI setup is compatible
2011-03-21 15:09:33 +01:00
Thorsten Liebig
1dff63d2cd
cylinder engine extension should use inline functions for field accesss
2011-03-18 14:46:27 +01:00
Thorsten Liebig
7ac5ab67c8
Operator & Operator_Cylinder: changes to material averaging methods
...
Operator:
- new method to setup the mesh: SetupCSXGrid()
- Most methods handling material and operator calculations are now protected.
- New method for accessing the material distribution.
Operator_Cylinder:
- overloaded SetupCSXGrid() handling cylindrical specialties
- This commit adds an additional line in alpha-direction
in case of a closed cylinder simulation. Thereby the material averaging
will be accurate at the alpha-interface
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2011-03-18 14:17:09 +01:00
Thorsten Liebig
be7e543232
fix in Excitation length comparison
2011-03-18 10:06:28 +01:00
Thorsten Liebig
caacbb9d9d
critical fixes in excitation extension
2011-03-17 11:38:01 +01:00
Thorsten Liebig
14b0dd5104
ext: fix in mur-ABC extension
2011-03-17 10:29:48 +01:00
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
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
Thorsten Liebig
887e07a394
define vtk dump data type
...
Using double as vtk data type will fix some errors/warnings in Paraview about a datasize mismatch.
2010-10-05 11:51:12 +02:00