I would like to include a chiral medium in the Electromagnetic field.
Is it possible to include chemical properties in the script of Matlab?

6 件のコメント

Image Analyst
Image Analyst 2024 年 12 月 24 日
Yes, most likely.
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:
Star Strider
Star Strider 2024 年 12 月 24 日
Please go into a bit more detail with respect to what you want to do, and the Toolboxes you want to use. ‘Chirality’ can either refer to the rotation of plane polarised light, or the structural properties of a molecule.
stochastic_80
stochastic_80 2024 年 12 月 24 日
編集済み: Walter Roberson 2024 年 12 月 24 日
Thank you for reading my request. The interest is on structural property of the molecule. I am using the helix function in antenna toolbox.
Still, I do not know how to position the molecule in place (% Place the molecules at y=0 and x=0.5).
The part of the script where I include the molecule is the following
texture=cell(1,11);
textures{1}= nh; %glass % uniform texture
textures{2}=n_pt
textures{3}=n_sio2
textures{4}=n_si
textures{5}={n_si,[-0.6,0,1.2,1.2,n_si,1],[1.7,0,1.2,1.2,n_si,1]};
textures{6}={n_sio2,[-0.6,0,1.2,1.2,n_si,1],[1.7,0,1.2,1.2,0.13,n_si,1]};
textures{7}={n_ag,[-0.6,0,1.2,1.2,n_si,1],[1.7,0,1.2,1.2,n_si,1]}; %invece di 1, 4 rende i cerchi in cross-section
textures{8}={n_air,[-0.6,0,1.2,1.2,n_si,1],[1.7,0,1.2,1.2,n_si,1]};
textures{9}={n_air,[-0.6,0,1.2,1.2,n_sio2,1],[1.7,0,1.2,1.2,n_sio2,1]};
%on texture 8 there should be the molecule
g=textures{8} % on texture 8 there should be the chiral molecule
hx = helix('Width', 0.01, 'Turns', 3, 'Radius', 0.5,'GroundPlaneRadius', 0.06, 'WindingDirection','CW', 'Substrate', 'g')
% Place the molecules at y=0 and x=0.5
textures{10}={n_air,[-0.6,0,1.2,1.2,n_ag,1],[1.7,0,1.2,1.2,n_ag,1]};
textures{11}=n_air;
When I try to show the hx I get the feedback
>> show(hx)
Error using helix/set.GroundPlaneRadius
Expected GroundPlaneRadius to be a scalar with value >= 0.556.
Error in helix/createGeometry (line 301)
validateattributes(gp_R,{'numeric'}, ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in em.MeshGeometry/protectedshow
Error in em.MeshGeometryAnalysis/show (line 31)
protectedshow(obj,varargin{:});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Star Strider
Star Strider 2024 年 12 月 24 日
My pleasure!
I don’t have the Antenna Toolbox, and while I could access at least some of its features here, I’m not sufficieently familiar wiith itt to help you with this. Are you intending to simulate an MRI of the molecule? (Would an MRI be able to distinguish between enantiomers?)
stochastic_80
stochastic_80 2024 年 12 月 24 日
Thank you anyway for being available.
Star Strider
Star Strider 2024 年 12 月 24 日
My pleasure!
We’ll have to wait for someone knowledgable in the ways of the Antenna Toolbox (and stereochemistry as well) to see this and reply. I’ll keep following this because yours is an interesitng problem, and I’d like to know if there’s a solution.
.

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2024 年 12 月 24 日

0 投票

The internal code looks like
if ~isDielectricSubstrate(obj)
feed_x = obj.DefaultFeedLocation(1)+ obj.Radius(1)+(obj.Width/2);
feed_y = obj.DefaultFeedLocation(2);
else
% Feed point is on the ground at a distance equal to
% object's width from radius
feed_x = obj.DefaultFeedLocation(1)+ obj.Radius(1)+(obj.Width);
feed_y = obj.DefaultFeedLocation(2);
end
I am not clear at the moment whether your g=textures{8} counts as a dialectric substrate or not. Either way, feed_x is going to be obj.Radius(1) at the very least.
The code continues
validateattributes(gp_R,{'numeric'}, ...
{'scalar','>=',ceil(1100*abs(feed_x))/1000,'>=', ...
ceil(1100*abs(feed_y))/1000}, ...
'helix/set.GroundPlaneRadius','GroundPlaneRadius');
We know that feed_x is at least Radius, so ceil(1100*abs(feed_x))/1000 is going to be at least 'Radius', 0.5 times 1.1 which will be at least 0.55
So your GroundPlaneRadius has to be at least 0.55 under any circumstances, if your Radius is 0.5
Perhaps you wanted your Radius to be 0.05 instead of 0.5

1 件のコメント

stochastic_80
stochastic_80 2024 年 12 月 25 日
I meet still issues on positioning the helix in the position. I am using
hx = helix('Width', 0.00006, 'Turns', 3, 'Radius', 0.001, 'Spacing', 0.0054, 'GroundPlaneRadius', 0.007, 'WindingDirection','CCW')
h = hx;
h.Position[0.6 0 0.795];
but is does not work properly. Should I integrate the internal code in my script?
I appreciate the support.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeChemistry についてさらに検索

製品

リリース

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by