Commit Graph

487 Commits (527ac2bd4246f90f9c73a7381b965231240c4c95)

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
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
Thorsten Liebig 007e8c72f3 doc: comments on extensions priority executing order 2010-10-03 20:15:20 +02:00
Thorsten Liebig 5e244bf7cb fixed crashing "--debug-operator" option with sse-compressed engines 2010-10-03 20:15:20 +02:00
Thorsten Liebig f6663eeccb multithreading engine: removed separate excitation thread
the excitation is now handled by the first (ID=0) "conventional" thread
2010-10-02 18:06:38 +02:00
Thorsten Liebig 1c24877bf4 operator extensions, fixed missing deconstructor 2010-10-02 17:55:19 +02:00
Thorsten Liebig fb3ccd36bf engine: update handling extensions & multithreading priority handling fixed 2010-10-02 17:54:34 +02:00
Thorsten Liebig af922a10bc new extension priority system 2010-09-25 19:23:53 +02:00
Thorsten Liebig 832792eb8e fixed multigrid interpolation, added closed_cylinder support 2010-09-24 12:01:38 +02:00
Thorsten Liebig 8870a20787 fixed extensions handling for cylindrical multigrid 2010-09-22 16:08:39 +02:00
Thorsten Liebig 8c95f21858 extensions check for CylindircalMultiGrid & allow Mur-ABC in radial direction 2010-09-22 09:58:45 +02:00
Thorsten Liebig 060b93d089 operator: removed redundant methods using integer positions 2010-09-17 15:34:39 +02:00
Thorsten Liebig 1e78e5c2d6 fix vtk-dump: vector fields consider mesh type
furthermore:
- new argument: --nativeFieldDumps to dump original FDTD field components for debugging purposes
- show global arguments on startup
2010-09-17 15:34:39 +02:00
Thorsten Liebig 482de93d3d fix in operator_sse_compression gcc compatibility check 2010-09-17 15:34:39 +02:00
Thorsten Liebig 9dcf42f080 skip filling "et" and "ht" with 0 after excitation is done 2010-09-17 15:34:39 +02:00
Sebastian Held b0a0d69faf bugfix 32-bit SSE-compressed: aligned allocator for STL vector 2010-09-17 15:06:09 +02:00
Sebastian Held d42d2f0108 dump_PEC: don't use depreciated MainOp 2010-09-17 12:08:49 +02:00
Sebastian Held 8cd01c9c0c compatibility with gcc-4.1.2 (for ABI2 builds) 2010-09-17 11:07:52 +02:00
Sebastian Held cc4ffd235f dump_PEC: get the scaling right 2010-09-17 10:50:06 +02:00
Thorsten Liebig ab701c4a7f new allow multiple ProcessIntegral and ProcessModeMatch using this to dump mode purity additionally 2010-09-09 10:02:33 +02:00
Thorsten Liebig e3c0805ad9 fix in number of threads calc for multigrid engine 2010-09-08 16:57:10 +02:00
Thorsten Liebig 8d657430c0 Merge branch with multigrid
Conflicts:
	FDTD/operator.h
	FDTD/operator_cylinder.cpp
2010-09-08 16:37:40 +02:00
Thorsten Liebig 20ade0f053 new: enable cascaded multi-grids... incl. an example 2010-09-08 16:07:28 +02:00
Thorsten Liebig bd4794ecc4 NEW: cylindrical multigrid FDTD
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...
2010-09-08 07:36:32 +02:00
Thorsten Liebig a52cd4711a MT operator: new separate calc start-stop lines method 2010-09-03 12:14:25 +02:00
Thorsten Liebig fc2b60ba3e Operator Extension clone method: allows to create a copy/clone of an existing extension
This will be necessary for the upcoming multi-grid approach...
2010-09-03 11:53:33 +02:00
Thorsten Liebig db0f4ab3e0 MT-engine has access to MT-operator 2010-09-02 22:16:37 +02:00
Thorsten Liebig 93fcd44f42 missing gpl header in cylinder extension 2010-09-02 22:14:40 +02:00
Thorsten Liebig 12c26f834a always show the optimal timestep 2010-09-02 22:12:03 +02:00
Thorsten Liebig cabdf4a84a clear extensions method allows saver reset of MT engine 2010-09-02 22:04:35 +02:00
Thorsten Liebig f7360cbdc1 Dump material as a vector instead of averaged. 2010-09-02 15:35:57 +02:00
Thorsten Liebig df3e7c0c12 major operator revision
- now the equivalent circuits are calculated by first calculating the averaged material properties
- this approach should also be save for the cylindrical FDTD

This needs some further testing, especially for the cylindrical operator!!
2010-09-02 15:35:13 +02:00
Thorsten Liebig 200832b423 operator: setup excitation from xml 2010-08-30 08:25:10 +02:00
Thorsten Liebig 594b38e345 operator: set a forced timestep 2010-08-30 08:25:10 +02:00
Thorsten Liebig e081a9cf94 Engine API: GetVolt/GetCurr methodes spilt up to Get/Set 2010-08-30 08:25:10 +02:00
Thorsten Liebig b75476cc04 apply clear inheritance for cylindrical coords operator 2010-08-30 08:25:10 +02:00
Sebastian Held 23a3f6fb9c simplified memory management 2010-08-26 15:54:19 +02:00
Sebastian Held cc51c2334d indention changed 2010-08-26 15:47:04 +02:00
Sebastian Held ea7047f7e7 feature: SSE operator compression will now always work at maximum compression 2010-08-26 14:50:23 +02:00
Thorsten Liebig 4d67bab7c7 fix in calculation of numThreads --> calculation moved to operator 2010-08-25 15:27:59 +02:00
Thorsten Liebig 6ad49b9cae excitation: warning for unknown types fixed... 2010-08-23 22:52:08 +02:00
Thorsten Liebig 6fa9fef29f fix operator: fixing a critical error in the mue-weighting 2010-08-23 22:15:52 +02:00
Thorsten Liebig 42e1968348 cylindrical op: cylinder extension should be always first to execute 2010-08-23 21:53:29 +02:00
Thorsten Liebig 35939584df cleanup: renaming voltage excitation E_* to Volt_* 2010-08-16 13:28:19 +02:00
Thorsten Liebig 0319c35f55 count and show excitations per direction 2010-08-16 13:22:40 +02:00
Thorsten Liebig 2a9dc040dc new process: mode matching integral parameter
todo: should use a special CSX property in the future
and have its own fundamental mode functions
2010-08-16 11:53:43 +02:00
Thorsten Liebig de054658ef avoid vector copy operation 2010-08-11 18:48:23 +02:00
Thorsten Liebig c3407c7730 define mesh-type in Processing base class 2010-08-11 18:46:47 +02:00
Thorsten Liebig e843b6dcd3 fix: not using curr amplitude in "ht", maybe NULL !!! 2010-08-11 18:44:34 +02:00
Thorsten Liebig 3c45c28a66 Revision: integral parameter processing (voltage & current calc)
revision necessary to keep the object oriented concept consistent for upcoming new integral parameter
2010-08-11 12:28:09 +02:00
Thorsten Liebig 8adea2a449 missing header for win32 2010-08-10 12:19:59 +02:00
Thorsten Liebig bac2fc22f7 Mur-ABC: set a phase velocity to handle dispersive waveguides 2010-08-10 07:50:53 +02:00
Thorsten Liebig 992924a578 fix: alpha dump not in drawing units 2010-08-05 22:07:07 +02:00
Thorsten Liebig 742713bed0 pml: fix E-excite on the lower pml-bound 2010-08-03 17:14:03 +02:00
Thorsten Liebig 1b0a4d7366 no H-field excitation outside the FDTD-domain 2010-08-03 17:12:33 +02:00
Thorsten Liebig fc5e617abb leftover debug code removed 2010-08-03 17:08:43 +02:00
Thorsten Liebig c6bafbe885 sf_pml: read grading function from xml & fix: string handling 2010-07-30 17:51:39 +02:00
Thorsten Liebig 4d214c162f sf_pml: user defined grading function using the fparser lib 2010-07-30 17:02:21 +02:00
Thorsten Liebig b2ac68d835 sf_pml: moved Zm into GetKappaGraded 2010-07-30 15:29:19 +02:00
Thorsten Liebig e85f8ef8b7 allow boundary conditions strings e.g. "PEC" "PMC" or "PML_8" 2010-07-30 15:28:15 +02:00
Thorsten Liebig 3d1c7f22b9 update & fixes to sf_pml to support z-direction pml in clyindrical coords 2010-07-29 18:32:57 +02:00
Thorsten Liebig 8316b1c2bd Operator: GetNodeArea & Update/fix in Calc_EffMatPos method
- new method GetNodeArea will return the area of a node for a given direction
- methods Calc_ECPos & Calc_EffMatPos now const
- Calc_EffMatPos in Operator class updated to use new functions GetMeshDelta & GetNodeArea
- Calc_EffMatPos introduced (fixed) in Operator_Cylinder (need some testing)
- treatment of E_alpha=0 at r==0 moved from Calc_ECPos to Electric-BC
2010-07-29 18:30:50 +02:00
Sebastian Held 56154aeb05 processfields: mesh correction for non-interpolated case 2010-07-20 16:30:41 +02:00
Sebastian Held 1f65648776 added discretization info to processfields.cpp
The coordinate snapping needs to be revised!
2010-07-20 11:42:47 +02:00
Sebastian Held e5930c7774 field probes: add info to text files 2010-07-20 11:37:19 +02:00
Sebastian Held e3904c0f18 changed node-interpolation in H-field dumps
average the H-fields not the currents
2010-07-19 09:04:13 +02:00
Sebastian Held 1a93650fa0 new H-field probe 2010-07-19 08:41:53 +02:00
Thorsten Liebig efe64fca4d pml warning only if using the pml 2010-07-17 15:22:51 +02:00
Thorsten Liebig d3434906a3 new: split field pml implementation started
todo:
- pml edges and corners
- flexible profile definition
- lots of testing !!!

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-07-16 17:25:32 +02:00
Sebastian Held 0ccbbab593 new probe type: E-field 2010-07-16 15:55:35 +02:00
Sebastian Held 55ac7137a3 minor documentation updates 2010-07-16 10:41:12 +02:00
Sebastian Held 5e904b112c write H-field excitation into file "ht"
If we have a separate signal for H-field excitation, we need to dump it.
The question is, do we really need a separate Signal?
2010-07-16 10:33:54 +02:00
Sebastian Held f7edb2f1fd changed openEMS dumps from drawing units to unit of meters
the better approach is to create a new class (e.g. Dump)which contains all dump formats (currently vtk and hdf5). This class will then be responsible to choose a dump mode: in drawing units or in meters
2010-07-15 12:58:48 +02:00
Thorsten Liebig 050a595cd3 docu update & typo 2010-07-15 12:12:52 +02:00
Thorsten Liebig 7744bf6030 fix: missing Engine_Extension deconstructor 2010-07-15 12:11:48 +02:00
Thorsten Liebig fb164ba1fe update to console output regarding used timestep method & typo fix 2010-07-13 15:37:56 +02:00
Sebastian Held 59ffbb5100 Improve the speed of the SSE engine by using flush-to-zero
This change modifies the behaviour of the complete program, if the SSE engine is used.
A better approach may be to only enable flush-to-zero in IterateTS()...
2010-07-13 10:47:40 +02:00
Thorsten Liebig 911f7c5528 show extensions status & define const methods 2010-07-11 23:45:41 +02:00
Thorsten Liebig 03b03b9834 sse compression output: yes & no instead of 0/1 2010-07-11 19:53:02 +02:00
Thorsten Liebig 9b8c280504 dispersive engine extension: support inline methods 2010-07-11 17:21:59 +02:00
Thorsten Liebig b524b57be0 new: dispersive materials / first and simple lorentz/drude dispersive materials
todo:
- more material parameters for the lorents model (currently only the plasma frequencies)
- code documentation
- examples & validation
- speed optimizations

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-07-06 10:01:26 +02:00
Sebastian Held a083c6d739 make excitation error message a bit more elaborate 2010-06-29 16:10:53 +02:00
Thorsten Liebig 91ecb547d6 fix in multithreading linesPerThread
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-06-29 12:44:47 +02:00
Thorsten Liebig 0f4a78cdbf new ProcessingIntegral as abstract base class to voltage and current processing 2010-06-28 19:45:19 +02:00
Thorsten Liebig e880fa3ee8 Processing: some code cleanups & consistencies
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-06-28 18:27:41 +02:00
Thorsten Liebig 6f06497dab Added frequency domain probe support
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
2010-06-28 18:05:03 +02:00
Sebastian Held dd71ae33ae bugfix and optimization of compressed sse operator 2010-06-25 09:38:49 +02:00
Thorsten Liebig ebacc62812 fix: new timestep not (always) stable for cylinder-coords, using the old one... 2010-06-22 12:49:51 +02:00
Thorsten Liebig 3fd58b7e7c rewritten current calculation... 2010-06-18 12:52:02 +02:00
Thorsten Liebig b776061f7f new CalcTimestep for larger a timestep 2010-06-18 12:37:37 +02:00
Thorsten Liebig 87b8e22bf7 Add Probe-Box weighting (new in CSXCAD) 2010-06-16 12:50:19 +02:00
Thorsten Liebig 88b319cbba some typos & consol message fixes 2010-06-07 23:08:38 +02:00
Thorsten Liebig 11df0f5c37 array_ops: continue templates
Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-06-06 20:22:05 +02:00
Thorsten Liebig 97de0e84ee make memory allocators templates (to allow for other types than FDTD_FLOAT)
Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-06-06 20:00:24 +02:00
Thorsten Liebig ab0a4aaacb number of threads received by cylindrical operator & engine
Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-06-06 01:50:58 +02:00
Thorsten Liebig 08fd499194 operator: multithreaded CalcPEC 2010-06-06 01:47:32 +02:00
Thorsten Liebig e816d50cc1 operator: split up CalcPEC as preparation for easier multithreading
Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-06-06 00:53:05 +02:00
Thorsten Liebig b4c98632bf MT-Operator: now using multithreading for Calc_EC
Calc_PEC & Excitation should be next

Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-06-05 11:50:13 +02:00
Thorsten Liebig f0141f6c7e Operator: split Calc_EC into Init_EC + Calc_EC 2010-06-05 11:47:21 +02:00
Thorsten Liebig 0954177dc6 operator debug dumps: more console infos & check first if file can be created
Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-06-04 14:08:42 +02:00
Thorsten Liebig 7172e9e53d obey mesh type in material/operator/PEC dump 2010-06-02 17:21:58 +02:00
Thorsten Liebig 610f4e62da processfields: allow different mesh types for vtk dump, e.g. cylindrical mesh dump 2010-06-02 16:41:26 +02:00
Sebastian Held 82befba245 new debug option: dump PEC
command line parameter: --debug-PEC
writes a file PEC_dump.vtk which can be visualized with paraview
visualize one component (x,y,z) at a time using arrow glyphs
2010-06-02 16:37:21 +02:00
Sebastian Held 96144ed3a1 bugfix: snapping of current probes
(sorry...)
2010-06-02 08:57:45 +02:00
Thorsten Liebig 27bf0aac7d Warning for unused primitives 2010-05-29 17:40:18 +02:00
Thorsten Liebig 7ad8f4ac3c fixed broken sse-compressed operator!!! 2010-05-29 17:14:36 +02:00
Thorsten Liebig 0aada84f80 DumpOperator2File now available for all types of operators 2010-05-29 12:47:07 +02:00
Thorsten Liebig d96a592e05 Defining the compressed sse operator access functions 2010-05-29 12:45:38 +02:00
Thorsten Liebig 4bda515078 processfields: allow low level access to vtk write methods 2010-05-29 12:17:15 +02:00
Sebastian Held f671b52986 added command line option --showProbeDiscretization 2010-05-28 15:13:14 +02:00
Thorsten Liebig 5163c69e7e fix: data size is MiB instead of MB 2010-05-21 10:14:09 +02:00
Thorsten Liebig f71960c4e0 Adept compression cache to grid size 2010-05-21 08:22:41 +02:00
Thorsten Liebig 6bc146a3fb cylinder operator now based on multithreaded-operator 2010-05-20 23:51:40 +02:00
Thorsten Liebig dab5be229b multithreaded engine now a derived class of compressed sse engine, created by new operator_multithread class
- also fixed double init() call of engines
- operator_multithread open for future multithreaded operator creation
2010-05-20 22:02:06 +02:00
Sebastian Held df17dc23c6 evil hack to get multithreading working again
future: restructure the multithreading engine to only work on top the sse_compressed engine
2010-05-20 17:39:39 +02:00
Thorsten Liebig c71b0154a1 allow multiple excitations at the same edges (ignore priorities) 2010-05-20 15:17:30 +02:00
Thorsten Liebig 8212f039ed more console output regarding operator & engine usage 2010-05-19 21:25:15 +02:00
Thorsten Liebig f868eb328c operator_cylinder with flexible base class -> now sse-compressed 2010-05-19 21:10:48 +02:00
Thorsten Liebig 009eeef96a fix: number of lines already defined by engine base-class 2010-05-19 21:08:38 +02:00
Thorsten Liebig 23b917be5f update to Operator::ShowStat and derived operators 2010-05-19 11:42:56 +02:00
Thorsten Liebig de5bdc8ef6 introducing compressed sse operator & engine
use --engine=sse-compressed option to enable
2010-05-19 11:41:35 +02:00
Thorsten Liebig 72330844cc critical fix in engine field access methods 2010-05-18 14:10:11 +02:00
Thorsten Liebig 25777f7f27 cylinder extensions: two critical bug fixes 2010-05-17 15:44:03 +02:00
Thorsten Liebig f98314d55c mur_abc extension speedup by using inline engine functions 2010-05-17 13:10:14 +02:00
Thorsten Liebig 98c10c7628 define engine type and overload all GetVolt/GetCurr 2010-05-17 13:08:27 +02:00