Commit Graph

161 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
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