url to my qb45 files
#1
Link to a site hosting some QB45 files and utilities:

http://www.filegate.net/oredson/
dndbbs project:

Links to my MUD: (strictly 16-bit); AKA XP:

Dndbbs executables
http://www.filegate.net/pdn/pdnbasic/dnd50a1e.zip

Dndbbs source
http://www.filegate.net/pdn/pdnbasic/dnd50a1s.zip

Dndbbs upgrade
http://www.filegate.net/pdn/pdnbasic/dnd50a1u.zip

DNDDOOR - https://bit.ly/EriksDNDDoor DUNGEON - https://bit.ly/EriksDungeon
Interpreter - https://bit.ly/EriksSICK Hex Editor - https://bit.ly/EriksHexEditor Utilities - https://bit.ly/EriksUtils
QB45 files: - https://bit.ly/EriksQB45 QB64shell - https://bit.ly/QB64shell Some old QB64 versions: - https://bit.ly/OldQB64
Reply
#2
Erik
Thanks for link
nice collection...
by the way do you ever made program that can simulate
electrical current density on metal surfaces?
or maybe something similar?
why i ask ... because i need some simple method to do that in BASIC
tnx..
Reply
#3
Damnit Jim; I'm a software programmer not an engineer!!
dndbbs project:

Links to my MUD: (strictly 16-bit); AKA XP:

Dndbbs executables
http://www.filegate.net/pdn/pdnbasic/dnd50a1e.zip

Dndbbs source
http://www.filegate.net/pdn/pdnbasic/dnd50a1s.zip

Dndbbs upgrade
http://www.filegate.net/pdn/pdnbasic/dnd50a1u.zip

DNDDOOR - https://bit.ly/EriksDNDDoor DUNGEON - https://bit.ly/EriksDungeon
Interpreter - https://bit.ly/EriksSICK Hex Editor - https://bit.ly/EriksHexEditor Utilities - https://bit.ly/EriksUtils
QB45 files: - https://bit.ly/EriksQB45 QB64shell - https://bit.ly/QB64shell Some old QB64 versions: - https://bit.ly/OldQB64
Reply
#4
Man! I just heard... oh that was McCoy's voice, not Scotty's.  Live Long and Prosper
B += x
Reply
#5
well Jim
i am not engineer too so what now? ..heh eh
I just say maybe you know?
Reply
#6
Dr. McCoy to Auriel. Simulate electrical current density on metal surfaces... Are you out of your Belkin mind?

Have you tried asking Clippy at QB64.net? He is more of a hobbyist engineer type than a programmer. Mostly he's into ports... but there's nothing wrong with that. Big Grin

Pete

Shipbuilders do it with ports and afts and their methods are hard to stern.
Reply
#7
Hey a Pete-Dete
It is not SF and i found some strange matLab code but i dont get it how work.
Who knows maybe something exists in some old qb45 code or in Visual basic but i
simply cannot found something useful
Reply
#8
Woah !
I found it ,,damn it is in python but i must try
i will use WinPython 247 to test code..
i hope that will work and that can be translated to BASIC -dialect

-code////////////////////////////////////////////////////////////////////
import math
from math import cos, sin, sqrt, atan2, acos

def PatchFunction(thetaInDeg, phiInDeg, Freq, W, L, h, Er):
"""
Taken from Design_patchr
Calculates total E-field pattern for patch as a function of theta and phi
Patch is assumed to be resonating in the (TMx 010) mode.
E-field is parallel to x-axis

W......Width of patch (m)
L......Length of patch (m)
h......Substrate thickness (m)
Er.....Dielectric constant of substrate

Refrence C.A. Balanis 2nd Edition Page 745
"""
lamba = 3e8 / Freq

theta_in = math.radians(thetaInDeg)
phi_in = math.radians(phiInDeg)

ko = 2 * math.pi / lamba

xff, yff, zff = sph2cart1(999, theta_in, phi_in) # Rotate coords 90 deg about x-axis to match array_utils coord system with coord system used in the model.
xffd = zff
yffd = xff
zffd = yff
r, thp, php = cart2sph1(xffd, yffd, zffd)
phi = php
theta = thp

if theta == 0:
theta = 1e-9 # Trap potential division by zero warning

if phi == 0:
phi = 1e-9

Ereff = ((Er + 1) / 2) + ((Er - 1) / 2) * (1 + 12 * (h / W)) ** -0.5 # Calculate effictive dielectric constant for microstrip line of width W on dielectric material of constant Er

F1 = (Ereff + 0.3) * (W / h + 0.264) # Calculate increase length dL of patch length L due to fringing fields at each end, giving total effective length Leff = L + 2*dL
F2 = (Ereff - 0.258) * (W / h + 0.8)
dL = h * 0.412 * (F1 / F2)

Leff = L + 2 * dL

Weff = W # Calculate effective width Weff for patch, uses standard Er value.
heff = h * sqrt(Er)

# Patch pattern function of theta and phi, note the theta and phi for the function are defined differently to theta_in and phi_in
Numtr2 = sin(ko * heff * cos(phi) / 2)
Demtr2 = (ko * heff * cos(phi)) / 2
Fphi = (Numtr2 / Demtr2) * cos((ko * Leff / 2) * sin(phi))

Numtr1 = sin((ko * heff / 2) * sin(theta))
Demtr1 = ((ko * heff / 2) * sin(theta))
Numtr1a = sin((ko * Weff / 2) * cos(theta))
Demtr1a = ((ko * Weff / 2) * cos(theta))
Ftheta = ((Numtr1 * Numtr1a) / (Demtr1 * Demtr1a)) * sin(theta)

# Due to groundplane, function is only valid for theta values : 0 < theta < 90 for all phi
# Modify pattern for theta values close to 90 to give smooth roll-off, standard model truncates H-plane at theta=90.
# PatEdgeSF has value=1 except at theta close to 90 where it drops (proportional to 1/x^2) to 0

rolloff_factor = 0.5 # 1=sharp, 0=softer
theta_in_deg = theta_in * 180 / math.pi # theta_in in Deg
F1 = 1 / (((rolloff_factor * (abs(theta_in_deg) - 90)) ** 2) + 0.001) # intermediate calc
PatEdgeSF = 1 / (F1 + 1) # Pattern scaling factor

UNF = 1.0006 # Unity normalisation factor for element pattern

if theta_in <= math.pi / 2:
Etot = Ftheta * Fphi * PatEdgeSF * UNF # Total pattern by pattern multiplication
else:
Etot = 0

return Etot

def sph2cart1(r, th, phi):
x = r * cos(phi) * sin(th)
y = r * sin(phi) * sin(th)
z = r * cos(th)

return x, y, z

def cart2sph1(x, y, z):
r = sqrt(x**2 + y**2 + z**2) + 1e-15
th = acos(z / r)
phi = atan2(y, x)

return r, th, phi

////////////////////////////////////////////////////////////////
Reply
#9
Oh, multi-returns, nice!
B += x
Reply
#10
another one of life's little ironic situations. Easylang knows Python.

Pete Big Grin
Reply
#11
yeah multi returns
but code looks to me very clear,,right
Reply