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 commentaires

Image Analyst
Image Analyst le 24 Déc 2024
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 le 24 Déc 2024
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 le 24 Déc 2024
Modifié(e) : Walter Roberson le 24 Déc 2024
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 le 24 Déc 2024
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 le 24 Déc 2024
Thank you anyway for being available.
Star Strider
Star Strider le 24 Déc 2024
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.
.

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 24 Déc 2024

0 votes

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 commentaire

stochastic_80
stochastic_80 le 25 Déc 2024
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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Chemistry dans Centre d'aide et File Exchange

Produits

Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by