Hello Jeff,
I have sent you some cantenna models via email. They are very long, I couldnt post it here.
Here is the source code of my cantenna model (not 4nec2/nec2/nec4 compatible!): As I mentioned in email, the source antenna model have to be compiled.
--------------------------------- CM Cantenna WLAN Antenna Model at 2.437 GHz CM (C) 2007 by Aziz Oeguet CM File: Cantenna2G4Hz.txt CE
#include "Common.txt" #include "PP4NEC2Defs.txt"
ofsx =3D -0.05 // Offset x-Achsenverschiebung (zur besseren 3D- Darstellung)
//--- Kontrollschalter (Switches) f=FCr Modellkonfiguration --- #ifndef CANTENNA_TRICHTER CANTENNA_TRICHTER =3D 1 // Trichter-Blende (0=3Dkein, 1=3Dmit) #endif
#ifndef CANTENNA_WRMODE CANTENNA_WRMODE =3D 1 // Drahtmodus (0=3DSurface-Path, 1=3DWire-Modus) #endif
#ifndef CANTENNA_CALC CANTENNA_CALC =3D 0 // Cantenna parameter berechnen (1=3Dberechnen,
0=3Dauf manuellen Wert lassen) #endif
#pragma symode =3D _SYMODE_REUSE
//--- Feeder(Erreger)-Parameter (Lambda/4-Element) --- Feed_Durchmesser =3D 0.0015 // Antennendrahtdurchmesser Feed_Rad =3D Feed_Durchmesser/2 // Antennendrahtradius Feed_nSeg =3D 9 // Anzahl Segmente des Antennendrahtes Feed_Tagnr =3D 1000 // Draht Tagnummer-Start Feed_Segnr =3D 1 // Segment-Number des Erregerst=FCcks
#if !CANTENNA_CALC Feed_Len =3D 0.0308 // Antennendrahtl=E4nge #else Feed_Len =3D lambda/4 // Antennendrahtl=E4nge (Wellenl=E4nge/4) #endif
Feed_Delta =3D Feed_Len/Feed_nSeg // Segment-L=E4nge (Antennendraht)
//--- Cantenna-Parameter (Tubus) --- TubusnSegLen =3D 15 // Anzahl der Segmente in Tubus-L=E4nge TubusnSegRad =3D 6 // Anzahl der Segmente im Tubus-Radius TubusnSegMantel =3D 32 // Anzahl der Segmente im Tubus-Mantel
TrichternSegLen =3D 12 // Anzahl der Segmente in Trichter-L=E4nge TrichternSegMantel =3D 32 // Anzahl der Segmente im Trichter-Mantel
TubusDurchmesser =3D 0.1 // Tubus-Durchmesser TrichterDurchmesser =3D 0.198 // Trichter-Durchmesser TrichterLen =3D 0.086 // Trichter-L=E4nge
TubusRadius =3D TubusDurchmesser/2 // Tubus-Radius TrichterRadius =3D TrichterDurchmesser/2 // Trichter-Radius
#if !CANTENNA_CALC //--- Cantenna Parameter manuell --- TubusLen =3D 0.135 // Tubus-L=E4nge Feed_Dist =3D 0.044452 // Erregerabstand zu hinteren Wand #else //--- Cantenna Parameter berechnen --- DLc =3D 1.706*TubusDurchmesser DLg =3D 1/sqr((1/(lambda*lambda))-(1/(DLc*DLc))) TubusLen =3D DLg*3/4 // Tubus-L=E4nge Feed_Dist =3D DLg/4 // Erregerabstand zu hinteren Wand #endif
Feedzpos =3D -TubusRadius // Erregerfusspunkt (unten)
//--- Feeder --- // Erregerspeisedraht GW Feed_Tagnr Feed_nSeg 0 0 Feedzpos-Feed_Delta/2 0 0 Feedzpos
+Feed_Len-Feed_Delta/2 Feed_Rad
// winziger Anschlussstummel unten (NEC2 Warnung umgehen) GW Feed_Tagnr+1 1 0 0 Feedzpos-Feed_Delta/2 0 0 Feedzpos-Feed_Delta/
2-Feed_Delta Feed_Rad
p1x =3D Feed_Dist-0.04 p1y =3D -0.03 p1z =3D-0.03 p2x =3D Feed_Dist+0.11 p2y =3D 0.05 p2z =3D 0.03 rad =3D 0.04
//--- Hotspot (am Erreger in der N=E4he keine Objekte generieren) --- #Hotspot point=3D_HS_OUTSIDE Feed_Dist 0 Feedzpos 0.005
// F=FCr hintere Wand des Tubus n=F6tig, da Vierecke im Mittelpunkt zu Dreiecken werden. #pragma limits=3D1, minwirelen=3D0.001, minareasize=3D0.000001
//--- Tubus generieren ---
#if CANTENNA_WRMODE // Parameter f=FCr Wire-Modus #pragma mode=3D _MODE_WR, wrnumseg =3D 1, wrtagstart=3D2000, wrtaginc =3D 1, wrradius =3D Feed_Rad #else #pragma mode=3D _MODE_SP #endif
//--- Tubus um Erregerabstand nach hinten verschieben ---
#Move -Feed_Dist 0 0
w1 =3D 180 w2 =3D w1+360
// Tubus generieren #Pipe TubusnSegMantel TubusnSegLen 0 0 0 w1 w2 TubusRadius TubusRadius TubusRadius TubusRadius TubusLen _R1|_R2|_A1
// Hintere Wand (Ring) generieren #SPArc TubusnSegMantel TubusnSegRad 0 0 0 w1 w2 0 0 TubusRadius TubusRadius _A1
// Trichter generieren #if CANTENNA_TRICHTER #Pipe TrichternSegMantel TrichternSegLen TubusLen 0 0 w1 w2 TubusRadius TubusRadius TrichterRadius TrichterRadius TrichterLen _R2| _A1 #endif
#Transform // Transformation abschliessen (Move) //--- Ende Tubus-Verschiebung ---
// Achsen-Transformation (um aus dem Nahfeld rauszukommen) #if !CANTENNA_TRICHTER GM 0 0 0 0 0 -TubusLen+Feed_Dist+ofsx 0 0 0 #else GM 0 0 0 0 0 -TubusLen+Feed_Dist-TrichterLen+ofsx 0 0 0 #endif
// End-Of-Geometry GE 0
//--- Wire-Load (HF-Speisung) --- EX 0 Feed_Tagnr Feed_Segnr 0 1.0 0.0 LD 5 0 0 0 62900000
// Extended-Wire-Kernel einschalten EK 1
//--- Frequency Parameter and Execute --- FR 0 1 0 0 freq 1 RP 0 91 181 1001 -180 0 2 2 EN
-----------------------END-------------------