Commit Graph

162 Commits (c2078f5c3928ba2131aaf3ceebfbab0d678babbb)

Author SHA1 Message Date
Thorsten Liebig 14aa47b3c5 use new CSXCAD optimal resolution dump options 2010-12-28 11:15:08 +01:00
Thorsten Liebig 533a0163d6 use CSXCAD sub-sampling flag 2010-12-27 21:37:38 +01:00
Thorsten Liebig ff9d362d74 ProcessFields: prepare fields dumps at arbitrary positions 2010-12-27 21:23:51 +01:00
Thorsten Liebig 0973f80680 new ProcessFieldsFD class + fixes
changes:
- new field processing class producing frequency domain field-dumps
- Processing needs dualMesh and dualTime information
- fix in TD field dumps using always dual-Time

Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-12-19 20:41:08 +01:00
Thorsten Liebig ef65970246 added virtual Pre- and PostProcessing methods to Processing-classes 2010-12-17 15:13:43 +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 3dc8c2df1c Multithreading engine is now default
use --engine=basic to use the basic FDTD engine
2010-12-06 15:31:17 +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 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 352e2d12bd CSX: read coord-type from xml only
CSX coord-type has to be defined now in the xml-file, if not openEMS will override
2010-11-02 16:32:00 +01:00
Thorsten Liebig aab744fefa adept to CSXCAD changes & set coord input type early to prevent double update 2010-11-01 14:58:27 +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
Sebastian Held da3e55a65c reordered --no-simulation abort point 2010-10-19 09:05:51 +02:00
Thorsten Liebig 896c7f21f3 openEMS: abort conditions added 2010-10-18 13:26:25 +02:00
Thorsten Liebig 27d88334b5 mur-ABC: read phase-velocity for each BC separately 2010-10-14 12:19:31 +02:00
Thorsten Liebig a040a83c00 show name of simulated xml file on startup 2010-10-06 16:27:31 +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
Sebastian Held 388977eac1 new info: boost lib version and tinyxml lib version 2010-10-04 11:35:20 +02:00
Sebastian Held 33d4229cf2 new info: hdf5 lib version and 32bit/64bit 2010-09-17 15:32:11 +02:00
Thorsten Liebig d1a7334c52 updated openEMS output and simulation time per timestep (s/TS) added 2010-09-09 08:15:26 +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 1a818f659b Read a forced timestep from xml 2010-09-03 11:36:59 +02:00
Thorsten Liebig 200832b423 operator: setup excitation from xml 2010-08-30 08:25:10 +02:00
Thorsten Liebig ee887e7ea1 show info about external libs on startup 2010-08-25 08:17:45 +02:00
Thorsten Liebig 3caa27ab33 set CSX coord system option before dumping debug xml file 2010-08-24 14:34:41 +02:00
Thorsten Liebig a075955db3 Merge remote branch 'seb/master' 2010-08-23 18:46:56 +02:00
Sebastian Held d9a58912d0 new command line switch: --no-simulation
This allows to run only the debug functions (and some time later also export functions: x3d, pov, ...)
2010-08-16 23:17:19 +02:00
Thorsten Liebig 35939584df cleanup: renaming voltage excitation E_* to Volt_* 2010-08-16 13:28:19 +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 c3407c7730 define mesh-type in Processing base class 2010-08-11 18:46:47 +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 c6bafbe885 sf_pml: read grading function from xml & fix: string handling 2010-07-30 17:51:39 +02:00
Thorsten Liebig e85f8ef8b7 allow boundary conditions strings e.g. "PEC" "PMC" or "PML_8" 2010-07-30 15:28:15 +02:00
Sebastian Held 1a93650fa0 new H-field probe 2010-07-19 08:41:53 +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
Thorsten Liebig 911f7c5528 show extensions status & define const methods 2010-07-11 23:45:41 +02:00
Thorsten Liebig 7869a5f2d5 new commandline option: --debug-CSX 2010-07-08 11:28:11 +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 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
Thorsten Liebig 017fcdce5a fix in probe type check 2010-06-25 15:22:01 +02:00
Thorsten Liebig cb5c1f877e FDTD simulation time output format changed 2010-06-21 16:14:41 +02:00
Thorsten Liebig 87b8e22bf7 Add Probe-Box weighting (new in CSXCAD) 2010-06-16 12:50:19 +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 1bd404fb9c more accurate time measurement for operator creation
Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-06-06 00:47:56 +02:00
Thorsten Liebig 90673c4be9 CSXCAD API changed
Signed-off-by: Thorsten Liebig <thorsten.liebig@gmx.de>
2010-06-05 18:00:53 +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 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
Thorsten Liebig 27bf0aac7d Warning for unused primitives 2010-05-29 17:40:18 +02:00
Thorsten Liebig 99e987b240 continue openEMS although not empty CSX error code 2010-05-29 17:16:25 +02:00
Thorsten Liebig 0aada84f80 DumpOperator2File now available for all types of operators 2010-05-29 12:47:07 +02:00
Sebastian Held 8333cf2f6a minor fix 2010-05-27 11:12:16 +02:00
Thorsten Liebig 1b52834e89 Define a max FDTD simulated time, maybe useful for e.g. sinusoidal excitations
matlab example: simulate 1us in the time domain:
FDTD = InitFDTD(5e5,1e-5,'MaxTime',1e-6)
2010-05-21 16:55:04 +02:00
Thorsten Liebig d882899ed2 new openEMS option --engine=fastest & options console output
this new option should always choose the (in most cases) fastest engine available
2010-05-21 08:16:24 +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
Thorsten Liebig 8212f039ed more console output regarding operator & engine usage 2010-05-19 21:25:15 +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 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
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
Sebastian Held 209c066732 Merge branch 'master' into sse
Conflicts:
	TESTSUITE/helperscripts/invoke_openEMS.m
2010-04-30 15:29:21 +02:00
Sebastian Held 885fc8ee26 Merge branch 'master' into sse
Conflicts:
	FDTD/engine.h
	openEMS.pro
	openems.cpp
2010-04-28 22:35:12 +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
Sebastian Held d0ebff17e8 removed sse code from normal operator -> class Operator_sse 2010-04-21 15:38:15 +02:00
Sebastian Held b489d3342d completed sse engine and enabled it 2010-04-21 14:29:02 +02:00
Sebastian Held 95188dd15e sse tests 2010-04-21 11:18:22 +02:00
Sebastian Held d611e5c8b1 debug: write boxes to vtk-file 2010-04-19 16:09:41 +02:00
Sebastian Held 687c05a7c6 bugfix: reenable choosing between regular/cylinder coords 2010-04-16 13:13:01 +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 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 52f5764976 Supporting sub-sampled dumps 2010-04-07 12:57:45 +02:00
Thorsten Liebig 924f0a6d40 first hdf5-file dump implementation 2010-04-05 20:22:03 +02:00
Thorsten Liebig 6288ebca91 added Oversampling for processing 2010-04-04 19:48:36 +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 b9dea98687 bugfix: delete sequence violated 2010-04-01 16:11:25 +02:00
Sebastian Held 60cc15e946 new excitation 2010-04-01 09:39:27 +02:00
Sebastian Held 813683304b new commandline switch: --numThreads= 2010-03-30 13:13:00 +02:00
Sebastian Held 55c0719b4e Merge branch 'master' into multithreading 2010-03-30 08:33:47 +02:00
Thorsten Liebig abc705767f update to console output 2010-03-29 22:11:24 +02:00
Sebastian Held 09364107cf Merge remote branch 'origin/master' into multithreading 2010-03-29 10:18:33 +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
Sebastian Held c9cc0cf2dc simplified time calculation 2010-03-27 15:54:44 +01:00
Sebastian Held a7ccec254d static createEngine() added to work around virtual constructor problems 2010-03-26 17:24:43 +01:00
Sebastian Held c916059a30 new engine: multithreaded 2010-03-26 12:57:52 +01:00
Sebastian Held 79574aa3e6 move command line processing into class openEMS 2010-03-26 11:57:53 +01:00
Thorsten Liebig b4bf720466 fix in gauss excite... 2010-03-26 08:39:26 +01:00
Thorsten Liebig 5f9a1fa353 fix: delete operator last 2010-03-26 08:21:07 +01:00
Thorsten Liebig a938460c34 new and more accurate time measurement 2010-03-25 15:08:54 +01:00