Commit Graph

72 Commits (661410cd668a8a966aa55e78e3b1e37704e8545d)

Author SHA1 Message Date
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 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 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
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 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
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 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 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 55ac7137a3 minor documentation updates 2010-07-16 10:41:12 +02:00
Thorsten Liebig 050a595cd3 docu update & typo 2010-07-15 12:12:52 +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 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
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 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 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 0aada84f80 DumpOperator2File now available for all types of operators 2010-05-29 12:47:07 +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 8cc2a2dd44 Moved special cylinder operations into op extentions 2010-05-11 19:11:37 +02:00
Thorsten Liebig 0a2f5fee5a update to Operator::ShowStat + count PEC 2010-05-10 09:14:29 +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 138624d2d8 mur_abc_extension: now allows material distribution 2010-04-28 21:45:05 +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 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