Commit Graph

161 Commits (9677c457e8f3f8d80ae0c351fd9ffe34fdcb8221)

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 8e2fce0e8c reduce AdrOp usage 2011-03-14 15:58:38 +01:00
Thorsten Liebig 9d51971c26 MPI: fix for cylindrical coordinate engine + MPI 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 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 67d1307fdf fixed the operator resetting & cleanup + a lot of memory leaks fixed 2011-01-24 11:11:45 +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 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
Sebastian Held 5900e2726c more logical boundary handling 2010-11-04 07:48:15 +01: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 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
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 5e244bf7cb fixed crashing "--debug-operator" option with sse-compressed engines 2010-10-03 20:15:20 +02:00
Thorsten Liebig 060b93d089 operator: removed redundant methods using integer positions 2010-09-17 15:34:39 +02:00
Sebastian Held d42d2f0108 dump_PEC: don't use depreciated MainOp 2010-09-17 12:08:49 +02:00
Sebastian Held cc4ffd235f dump_PEC: get the scaling right 2010-09-17 10:50:06 +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 12c26f834a always show the optimal timestep 2010-09-02 22:12:03 +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 594b38e345 operator: set a forced timestep 2010-08-30 08:25:10 +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 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 1b0a4d7366 no H-field excitation outside the FDTD-domain 2010-08-03 17:12:33 +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
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 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 fb164ba1fe update to console output regarding used timestep method & typo fix 2010-07-13 15:37:56 +02:00
Thorsten Liebig 911f7c5528 show extensions status & define const methods 2010-07-11 23:45:41 +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 b776061f7f new CalcTimestep for larger a timestep 2010-06-18 12:37:37 +02:00
Thorsten Liebig 88b319cbba some typos & consol message fixes 2010-06-07 23:08:38 +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 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 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
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
Thorsten Liebig 27bf0aac7d Warning for unused primitives 2010-05-29 17:40:18 +02:00
Thorsten Liebig 5163c69e7e fix: data size is MiB instead of MB 2010-05-21 10:14:09 +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 23b917be5f update to Operator::ShowStat and derived operators 2010-05-19 11:42:56 +02:00
Thorsten Liebig 7f70f0fb4d engine independent multi-threading 2010-05-11 19:11:38 +02:00
Thorsten Liebig 54d0671d33 new: operator should create its engine 2010-05-11 19:11:38 +02:00
Thorsten Liebig 0a2f5fee5a update to Operator::ShowStat + count PEC 2010-05-10 09:14:29 +02:00
Thorsten Liebig fe483946d2 cylinder-operator: use operator.h EC calc 2010-05-03 22:36:04 +02:00
Sebastian Held f762214eae split excitation from operator
The excitation variables and functions are separated into a class Excitation.
This allows completely different operator implementations (e.g. TLM) to use the excitations functions without deriving from class Operator.
2010-05-03 18:33:14 +02:00
Thorsten Liebig 2a3e8dd20f new: operator access functions 2010-04-30 19:40:08 +02:00
Thorsten Liebig ab7a25d3ee separate excitation signal for voltages and currents 2010-04-30 11:28:53 +02:00
Thorsten Liebig b1b1e71126 Operator: added H-field/current excitation 2010-04-29 00:28:07 +02:00
Thorsten Liebig 8787d793aa update to field excitation 2010-04-28 22:42:55 +02:00
Thorsten Liebig d5c4747118 operator BC handling changed 2010-04-28 22:01:03 +02:00
Thorsten Liebig b296c441f9 extention updates & new extention: Mur's absorbing boundary condition 2010-04-27 23:06:42 +02:00
Thorsten Liebig 9c5c5e9057 new: operator & engine extensions 2010-04-25 21:59:05 +02:00
Sebastian Held 13bd884e8e removed invalid inline specifier 2010-04-25 20:28:17 +02:00
Thorsten Liebig 5535a386ff get correct mesh direction names for dump 2010-04-23 08:17:42 +02:00
Sebastian Held c814015f31 make it const 2010-04-19 16:08:32 +02:00
Thorsten Liebig ebff88207d suppress all compiler warnings/ code-cleanup 2010-04-13 18:51:44 +02:00
Thorsten Liebig 86832d0d3a CylinderCoords: include r=0 and many fixes & necessary changes
- r=0 case included... needs lots of testing...
 - field processing can't access mesh directly --> use operator methods
2010-04-13 18:40:43 +02:00
Thorsten Liebig 3b29514d16 Access function for number of Lines 2010-04-11 23:42:54 +02:00
Thorsten Liebig 3ca8609020 fix: don't process current integration outside of simulation domain 2010-04-09 15:58:15 +02:00
Thorsten Liebig 2c21303833 NEW: first implementation of Cylindrical Coord FDTD
todo:
  - allow closed alpha mesh
  - allow r=0 case
  - adept field processing
  - ...
2010-04-09 15:51:37 +02:00
Thorsten Liebig 9ae8ac12ab new excitation: Custom excite and some excitation related code-cleanup 2010-04-07 16:31:23 +02:00
Thorsten Liebig 8cc42b911c added processing steps and fix in end criteria check, now checking max excite TS 2010-04-03 17:36:50 +02:00
Thorsten Liebig f73d6f80f8 fixed nyquist handling 2010-04-02 17:20:18 +02:00
Sebastian Held 98063bba6e new excitation step 2010-04-01 09:38:56 +02:00
Sebastian Held 70874e56ab changed some functions to const 2010-03-31 16:35:43 +02:00
Sebastian Held 4b12054f66 merged 2010-03-30 13:10:23 +02:00
Thorsten Liebig b1cb1e30e3 minor fixes 2010-03-30 08:19:41 +02:00
Thorsten Liebig abc705767f update to console output 2010-03-29 22:11:24 +02:00
Thorsten Liebig 5a47a6443a some more int vs. u-int fixes 2010-03-29 10:12:38 +02:00
Thorsten Liebig ea2823377d added Curve for excitation and dump excitation in operator-dump 2010-03-27 23:05:45 +01:00
Thorsten Liebig 98f72a855e fixed lots of int/u-int comparison and missing return values 2010-03-26 19:55:53 +01:00
Thorsten Liebig 207e22f1db fix in operator curve handling 2010-03-26 19:33:44 +01:00
Thorsten Liebig b4bf720466 fix in gauss excite... 2010-03-26 08:39:26 +01:00
Thorsten Liebig 8e3f44b0ca operator: removed some debugging code 2010-03-26 08:23:37 +01:00
Thorsten Liebig d79b15f49e Curve/Wire support, Helix update 2010-03-22 08:19:17 +01:00
Thorsten Liebig 1f20f7ae42 new command-line option: dump operator to vtk-file 2010-03-17 23:16:41 +01:00
Thorsten Liebig 3ff4eec004 rewrite E-Field-Excitation 2010-03-16 21:39:37 +01:00
Thorsten Liebig e4ecd7ca2a fixed: graded mesh bug in operator 2010-03-16 09:40:01 +01:00
Thorsten Liebig b9a3165aac Update to vtk-field dumps + material-dump for debugging 2010-03-12 20:39:04 +01:00
Thorsten Liebig 9b638b1568 fix in operator PEC-calc 2010-03-12 08:38:07 +01:00
Thorsten Liebig 73e2b153b6 GPL licensing 2010-03-11 16:47:40 +01:00