Hello,
As above I am trying to invert reflectorCylindrical:
i.e. I would like the dipole (or other exciter) to be above the curved surface of the reflector like so:
this requires the depth to be set to a negative value (i.e. inverting the reflector) but the reflectorCylindrical function does not permit this.
I made a new function called reflectorCylindricalInverted which does the following:
- permits depth to be a negative number, by removing the 'positive' requirement - line 146
- remove the positive tolerance (1e-6) value which was preventing negative numbers also - line 147
function set.Depth(obj,propVal)
%tol = 1e-6;
validateattributes(propVal,{'numeric'},...
{'nonempty','scalar','real','nonnan','finite',...
},'reflectorCylindrical', 'Depth');
if isPropertyChanged(obj,obj.Depth,propVal)
obj.Depth = propVal;
end
end
end
I am then able to successfully generate an inverted reflector:
Exciter: [1×1 dipole]
GroundPlaneLength: 0.2000
GroundPlaneWidth: 0.2000
Spacing: 0.0750
Depth: -0.0750
EnableProbeFeed: 0
Conductor: [1×1 metal]
Tilt: 0
TiltAxis: [1 0 0]
Load: [1×1 lumpedElement]
However, when I run show(ant) I get the following error:
Error using reflectorCylindricalInverted/createGeometry
The value specified for Depth should be less than or equal to 0.1.
Error in em.MeshGeometry/protectedshow
Error in em.MeshGeometryAnalysis/show (line 31)
protectedshow(obj);
Does anyone have any insight into a possible solution for this problem? If anyone is particularly familiar with the reflector functions, that would be very helpful.