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 comentarios

Image Analyst
Image Analyst el 24 de Dic. de 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 el 24 de Dic. de 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 el 24 de Dic. de 2024
Editada: Walter Roberson el 24 de Dic. de 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 el 24 de Dic. de 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 el 24 de Dic. de 2024
Thank you anyway for being available.
Star Strider
Star Strider el 24 de Dic. de 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.
.

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 24 de Dic. de 2024

0 votos

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 comentario

stochastic_80
stochastic_80 el 25 de Dic. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Chemistry en Centro de ayuda y File Exchange.

Productos

Versión

R2024b

Preguntada:

el 24 de Dic. de 2024

Comentada:

el 25 de Dic. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by