Commit Graph

162 Commits (6a13d81cf00d273ea06bf3788b699e8776bec5d0)

Author SHA1 Message Date
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 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