Great video..You are really awesome Sir..Love,Respect and Best Wishes.
@QuentinLee201410 жыл бұрын
The method to define an area is great! A bunch of geometry, such as square, circle, and ellipse, with a certain physical size could be defined in grids with integer numbers. This may make it is easy to solve the Maxwell's equation in a certain area. For instance in a sphere shaped Ag nanoparticles. People could try to numerate the partial difference equation in the grids with finite cells method. One word to declare, Great!
@shawnfang4317 жыл бұрын
Great video!!! Thank you so much, I learn so much from your lecture. Wish you could share more videos.
@empossible15777 жыл бұрын
Thank you! There are plenty more videos on this channel. Also, you should visit the course websites where you can get the latest version of the notes and other resources to help you. Here is where the course websites are kept: emlab.utep.edu/academics.htm
@saptarshimandal64536 жыл бұрын
Thank you sir !
@VikramReddyAnapana4 жыл бұрын
Wonderful videos always. I keep watching your videos sir. Highly informative and you cover all meticulous details. Can I work under your guidance sir
@empossible15774 жыл бұрын
I am very happy to hear the materials are helping you! Keep in touch via emlab.utep.edu. We do not currently have any open opportunities. I hope that changes soon!
@VikramReddyAnapana4 жыл бұрын
@@empossible1577 Thanks a trillion, sir, for your response. Hoping I may get an opportunity some time to work under your esteemed guidance
@atsul.79438 жыл бұрын
Very very help resource. Thanks very much.
@TheSakr2895 ай бұрын
Great video.... How to add triangular geometry?
@empossible15775 ай бұрын
Checkout the videos in Topic 2a here. This is where I cover these types of skills. empossible.net/academics/emp4301_5301/ You may also be interested in Chapter 1 of my recent book where I also cover these types of skills. empossible.net/fdfdbook/
@winnis888 жыл бұрын
Thank you, I rmember having this trouble when I was coding the FDFD in CEM lectures.
@empossible15778 жыл бұрын
The intended sequence for these courses is: 1. FDTD 2. CEM 3. EM21
@shobhitmishra18229 жыл бұрын
In slide 23, nx and ny are positions in vertical and horizontal respectively but the figures illustrates it totally differently. 1s should be filled in row 3 till row 6 and column 4 till column 8 as per the codes on the right.
@empossible15777 жыл бұрын
I see you posted this one year ago. Sorry I did notice it until now. You are sort of correct. The name MATLAB is an acronym for "MATrix LABoratory." It assumes everything is a matrix where the convention is A(row,column). It assumes this whether or not the array is a matrix or just an ordinary array. In this context, you are exactly right. However, it is my experience in computation that students have the most trouble building geometries into arrays before the simulation is even performed. In this case, we more intuitively think in terms of f(x,y). After some thought, you will realize that A(row,column) is a bit like f(y,x) instead of f(x,y). This makes it very confusing to build devices into arrays, which are not matrices. So, I like to build things in arrays in the context of f(x,y). The only time this is not really compatible with MATLAB is when graphics are drawn. You just have to remember to transpose or rotate your data before plotting. Unfortunately, I have not found a more intuitive way through this. Hope this makes sense!
@ruiwang98564 жыл бұрын
Hi Professor, at 25:00, if my understanding is correct, we can simply use [X,Y]=meshgrid[xa,ya] in the current Matlab version, right? I feel a few changes are made in the mesh grid function in the new version, Here is the link: www.mathworks.com/help/matlab/ref/meshgrid.html Thanks.
@empossible15774 жыл бұрын
I was not aware anything had changed. When I use meshgrid, it is usually [Y,X] = meshgrid(y,x). The order is important.
@mikefredd33907 жыл бұрын
This is an amazing resource. I'm translating to python so it is a little tedious for me. Does this group have a website and a general purpose?
@empossible15777 жыл бұрын
You can go to our research website here: emlab.utep.edu/ If you click on 'Academics' you can get to the course website for several classes. This one is "Electromagnetic Analysis Using Finite-Difference Time-Domain." The next course is "Computational Electromagnetics" and then "21st Century Electromagnetics." The websites contain links to the recorded lectures, PDFs of the lecture notes, and other resources. I have made many revisions, corrections, and improvements to the notes so they may differ from the notes in the recordings a little bit. The general purpose of these lectures is to provide an introduction to computational electromagnetics for the complete novice. I found it very hard to get started in CEM simply because there were no resources simple enough for me to understand easily. These lectures were created with that in mind and I am always trying to improve them without over complicating them.
@jayshah59497 жыл бұрын
Thank you for such wonderful lectures. How can I build a cylindrical geometry of some random radius 'r' in 3 dimension? I understood how to use meshgrid for determining the radius of the circle but if now i want to give it a depth as well how is it possible? Please suggest.
@empossible15777 жыл бұрын
Yes, absolutely. You can do this using the exact same techniques. For example... [Y,X,Z] = meshgrid(ya,xa,za); RSQ = X.^2 + Y.^2 + Z.^2; ER2 = RSQ
@jayshah59497 жыл бұрын
THank you for your reply but I am looking to make a cylindrical geometry not the spherical one. for example a cylindrical bar made of steel is embedded in wood. So i basically want to assign different material properties.
@empossible15777 жыл бұрын
[Y,X,Z] = meshgrid(ya,xa,za); RSQ = X.^2 + Y.^2; ER2 = (RSQ < r^2); This code builds a 3D cylinder with the uniform axis in the z-direction.
@jayshah59497 жыл бұрын
Yeah it worked. Thanks for your help.
@jayshah59497 жыл бұрын
What to do in case of a cylindrical geometry but with a finite depth. For example i want a 3D cube of material A with dimension 'a x a x a' and then i want a cylindrical geometery in it having a certain depth (lets say a/2). How to control the depth of cylindrical geometry?
@AnubhabHaldarChronum7 жыл бұрын
You mentioned how it'd take ~110 GB to solve this using a direct LU-like method. However, typically systems of this size are likely to be solved by iterative methods like BiCGStab(L) or relaxation-like methods, where the memory requirements remain manageable. Is there a reason why you specifically mentioned a direct method, or was that just to generally make a case about the shortcomings of sparse-matrix based methods?
@empossible15777 жыл бұрын
Yes, it was a general statement. Sorry that was not clear and thank you for pointing this out.
@luiseduardojatarmontano19834 жыл бұрын
Hello. This is a really nice video, but I would like to ask something: 1) You only assign values of 1 and 0, if you want to be more precise, can you assign values between 0 and1 which means the cell is almost empry or almost full? 2)Here you worked with basic geometries, but if you want to generaliize to a more complex problem how can you use this method for another geometries not so easily to parametrize with an equation?
@empossible15774 жыл бұрын
Great questions! 1) It is absolutely possible to assign values between 0 and 1. In fact, this is often preferred to simulate curved surfaces. I usually do not do this until the final device is constructed, and then I smooth the edges a bit. That is because boolean operations on grayscale objects can be difficult. 2) I usually think of complicated shapes as combinations of simple shapes. For example, a house is a triangle on top of a square. For really complicated shapes, I may import something from a CAD file, voxelize it, and put it on a grid.
@luiseduardojatarmontano19834 жыл бұрын
@@empossible1577 Thanks for your answer, later if you could do something importing a complex geometry would be nice, I already did but my code is slow, I used boolean operations with polygons intersecting the mesh with an object.
@empossible15774 жыл бұрын
@@luiseduardojatarmontano1983 You can import images. It will be necessary to flatten then to a single array and then convert to permittivity values. You can also import CAD files and voxelize them using any number of codes users have contributed to Mathworks.
@remagairsoftllc6 жыл бұрын
Are the arrays in the slides rotated from what the code does? Mine are all coming back rotated/flipped?
@empossible15776 жыл бұрын
Yes. I do talk about this somewhere in the lecture. MATLAB treats everything as a matrix. That is why array indices start at 1 instead of 0. It is also the reason for the rotation. In matrix notation, the first array index is the row number, or vertical position in the array. The second number is the column, or horizontal position. This means if you are building a function, you must interpret it as f(y,x) instead of f(x,y). From experience, I have found it most straightforward to treat arrays as in any other language, like f(x,y). That makes building devices on the arrays more intuitive. However, if you visualize the arrays using MATLAB graphics functions, they come out rotated. This is easily fixed by simply transposing the array before plotting that. That is why you see me use commands like imagesc(xa,ya,ER'); Notice the transpose on ER?
@kiavashkiaee55657 жыл бұрын
Why don't you just use colon instead of "direct array" at about 8:20? like: 0:1:10 going from 0 to 10 with step size being 1.
@empossible15777 жыл бұрын
I could for this specific case. The code as written on this slide is more versatile I think.
@f4dy7 жыл бұрын
I think at 13:42 you meant the Y direction, am I right? Your videos are amazing and indescribably helpful!
@empossible15777 жыл бұрын
Oops! Yes, I said 'z' but meant to say 'y.' Sorry and great catch!
@PhysicsKeeBuniyaad4 жыл бұрын
Thank you sir, But I want to make a cone in 3D.. Please help me. Give me some idea
@empossible15774 жыл бұрын
This is pretty simple code, but you can modify it as you need... % 3D MESHGRID xa = linspace(-1,1,20); ya = linspace(-1,1,20); za = linspace(0,3,30); [Y,X,Z] = meshgrid(ya,xa,za); % MAKE CONE R = 0.9; C = (X.^2 + Y.^2)
@PhysicsKeeBuniyaad4 жыл бұрын
@@empossible1577 Thank you thank you so much Sir
@PhysicsKeeBuniyaad4 жыл бұрын
@@empossible1577 I'm so happy
@PhysicsKeeBuniyaad4 жыл бұрын
@@empossible1577 Thank you very much Sir, I have done cone, sphere, cylinder and some combinational structure like cylinder-cone and cylinder-hemisphere. One more thing now I want to do complex structure so for that can I import any geometry from CAD model. Ya is there any other way to make complex structure like jet plane.
@empossible15774 жыл бұрын
@@PhysicsKeeBuniyaad I would import an STL file of the plane and then use a function like voxelize() from Mathworks website to convert to points in an array.
@QuentinLee201410 жыл бұрын
There seems something wrong with the codes in slide 28, which tried to determine an area with waving edge along the x axis above 0 in y axis. One should note that the math function y(x) is different from an array A (nx, ny) in MATLAB. In math, the y value is in y axis, and x value in x axis. But in MATLAB, the row column represent the value in y axis. The code "A(nx,1:ny)=1;" should be A(1:ny, nx)=1.
@nag474110 жыл бұрын
what is the function i have to use to display the diagrams in slides 18,25,26?
@nag474110 жыл бұрын
that matlab codes are not working...please send me the correct codes(slides 18,25,26,28)....my email is nag.474@gmail.com
@empossible157710 жыл бұрын
As for the indexing, see slides 19-22 in the latest version of the electronic notes where I talk about this. MATLAB assumes everything is a matrix so it indexes things more like f(y,x). I have found that building geometries on arrays is a very confusing topic for students and it is more intuitive to build things thinking like f(x,y). For this reason, we build things as f(x,y), but then we have to rotate the array before displaying to the screen. Again, see slides 19-22 where I talk about this.
@empossible157710 жыл бұрын
That I know of, there is no built in function to create these plots. I setup a double loop (x and y) and used fill() to create the squares and text() to place the numbers in the squares.
@nag474110 жыл бұрын
CEM Lectures thank you sir... how we do the matrices for 3 dimensions? suppose we have to assign some dielectric constant for substrate which has length,width and height also...for more than one substrate, how can we assign values using matlab code?