Solving for Resistance variations in Memristor

Please login with a confirmed email address before reporting spam

Hi there,

I am trying to run an current pulse through Ag/ZnO/Pt thin film memristor struture with a probe on top and copper plate below as the ground (with a 5 nm thin Ag filament in the centre of the ZnO layer) . I want to see if the resistance of the structure changes over an extended number of cycles at high temperatures and strains.

I am very new to comsol and I thought a time dependent study should be used for a voltage pulse but I used a simple electric potential first to see if the circuit could be completed and the resistance of the stack measured but no potential seems to travel past the copper probe. I then tried this in a stationary study with a DC voltage and the potential still wouldnt travel into the first Ag layer even.

In addition the substrate at the bottom was heated and the heat flux wouldnt travel upwards into the other materials. Please have a look at the mph file and let me know why the circuit won't complete in order to calculate the resistance. Thank you.

Regards Darragh



14 Replies Last Post Jun 16, 2022, 8:33 a.m. EDT
Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 month ago May 11, 2022, 11:44 a.m. EDT
Updated: 1 month ago May 11, 2022, 2:12 p.m. EDT

Hello Darragh,

A few things are off right off the bat:

  • The effect of the geometry step labeled dif1 is to remove a cylinder you just drew. Those two steps are superfluous.

  • You have set up your Electric Currents physics node such that it applies only in domain 6. You've set one of its boundaries to 3 Volts and insulated all its other boundaries, so as you would expect the entirety of domain 6 is at 3 Volts.

  • You have set up your Heat transfer in Solids physics such that it only applies in domain 2, and the BCs you set also do not make sense to me: all of domain 2's boundaries are insulated except for one that has an inward heat flux applied to it.

  • As a result of the fact that no domain experiences both the thermal and the electric physics, the Electromagnetics Heating coupling does nothing for you.

So there are quite a few rather fundamental misundertandings here. I'd recommend you work through the busbar tutorial in the Introduction to COMSOL Multiphysics manual (under File > Help > Documentation): it involves the same physics that you are interested in and will guide you through some of the basic aspects of setting up a model in COMSOL. I also strongly recommend the Learning Center to get going with the software.

Best,

Jeff

-------------------
Jeff Hiller
Hello Darragh, A few things are off right off the bat: * The effect of the geometry step labeled dif1 is to remove a cylinder you just drew. Those two steps are superfluous. * You have set up your Electric Currents physics node such that it applies only in domain 6. You've set one of its boundaries to 3 Volts and insulated all its other boundaries, so as you would expect the entirety of domain 6 is at 3 Volts. * You have set up your Heat transfer in Solids physics such that it only applies in domain 2, and the BCs you set also do not make sense to me: all of domain 2's boundaries are insulated except for one that has an inward heat flux applied to it. * As a result of the fact that no domain experiences both the thermal and the electric physics, the Electromagnetics Heating coupling does nothing for you. So there are quite a few rather fundamental misundertandings here. I'd recommend you work through the busbar tutorial in the Introduction to COMSOL Multiphysics manual (under File > Help > Documentation): it involves the same physics that you are interested in and will guide you through some of the basic aspects of setting up a model in COMSOL. I also strongly recommend the [Learning Center](https://www.comsol.com/learning-center) to get going with the software. Best, Jeff

Please login with a confirmed email address before reporting spam

Posted: 1 month ago May 12, 2022, 7:57 a.m. EDT

Hi Jeff

Thanks a lot for your reply! Yes I followed the bus bar tutorial beforehand but setting up a new geometry was a bit harder.

  • I had do the boolean difference to create a hole in the insulator and input the filament in that hole. I think I fixed that now.

I see where I went wrong now I had to define physics for all areas, I presumed the physics nodes were everywhere by default.

I set up the electric currents node for all domains with the probe at 3 V potential and the ground source at the copper plate. So I assume the current should travel through the structure now?

I also set the thermal nodes for the whole system also with a heat source from the copper plate and the top probe. I believe I may have fixed the boundary conditions everywhere so the heat should diffuse through the structure.

However, it now won't compute with an error of multiple void equations and 0 V potential and 293 K temperature everywhere.

Please let me know where I am going wrong. Many thanks again!

Regards Darragh

Hi Jeff Thanks a lot for your reply! Yes I followed the bus bar tutorial beforehand but setting up a new geometry was a bit harder. * I had do the boolean difference to create a hole in the insulator and input the filament in that hole. I think I fixed that now. I see where I went wrong now I had to define physics for all areas, I presumed the physics nodes were everywhere by default. I set up the electric currents node for all domains with the probe at 3 V potential and the ground source at the copper plate. So I assume the current should travel through the structure now? I also set the thermal nodes for the whole system also with a heat source from the copper plate and the top probe. I believe I may have fixed the boundary conditions everywhere so the heat should diffuse through the structure. However, it now won't compute with an error of multiple void equations and 0 V potential and 293 K temperature everywhere. Please let me know where I am going wrong. Many thanks again! Regards Darragh


Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 month ago May 12, 2022, 11:34 a.m. EDT
Updated: 1 month ago May 13, 2022, 8:34 a.m. EDT

Hello Darragh,

The dif1 node is still unnecessary - I removed it.

Looking at your physics set-up:

Two of your materials have zero electric conductivity. They cannot conduct electricity and should therefore be excluded from the electric equation, otherwise that equation is singular - that's why you are getting the error message. (As an aside: If you did not mean for those materials to be perfect insulators, you can give them a non-null electric conductivity and return the domains in question to the physics.)

Once I did that, your electric problem solved fine, and I started looking at the thermal model. It solves but results in unrealistically high temperatures. That's because you are forcing significant current through a tiny filament, causing a massive current density and therefore a massive heat source there while not allowing the heat to exit the system easily (Most of your boundaries are insulated or have poor convection of heat to the world outside your model). I modified your model a bit based on some guesses I made; the resulting temperature distribution is still crazy high, but less so. You'll need to apply boundary conditions that are more representative of the real-world system.

Hope this puts you on the right track.

Best,

Jeff

-------------------
Jeff Hiller
Hello Darragh, The dif1 node is still unnecessary - I removed it. Looking at your physics set-up: Two of your materials have zero electric conductivity. They cannot conduct electricity and should therefore be excluded from the electric equation, otherwise that equation is singular - that's why you are getting the error message. (As an aside: If you did not mean for those materials to be perfect insulators, you can give them a non-null electric conductivity and return the domains in question to the physics.) Once I did that, your electric problem solved fine, and I started looking at the thermal model. It solves but results in unrealistically high temperatures. That's because you are forcing significant current through a tiny filament, causing a massive current density and therefore a massive heat source there while not allowing the heat to exit the system easily (Most of your boundaries are insulated or have poor convection of heat to the world outside your model). I modified your model a bit based on some guesses I made; the resulting temperature distribution is still crazy high, but less so. You'll need to apply boundary conditions that are more representative of the real-world system. Hope this puts you on the right track. Best, Jeff


Please login with a confirmed email address before reporting spam

Posted: 1 month ago May 17, 2022, 10:23 a.m. EDT

Hi Jeff

Thanks for your help again. I have made the insulating materials conductivity small non zero values such as 0.001 just so that the equation can solve. But it seems no matter how much I reduce them, they have no real impact on the outcome.

Unfortuntely my problem requires the voltage in the order of 1- 4 Volts so I cannot reduce it further. The temperatures reduce to normal values when I use values such as 300 mV. Even when i change the insulator to much higher thermal conductivity and other thermal values it still has 10E6 K values. I even removed the heat from the probe with no effect. I then tried to use a surrounding box of air which I thought would conduct away the heat to no effect. I notice that the huge heat stems from the copper probe.

I am not sure what I am doing wrong here, as the surrounding initial temperatures are at room temperature apart from the substrate which is only at 350 K. The other materials should conduct away the heat as I think their material values are more real-world now (I think?).

I have seen this problem in another thread which I don't think was solved below. Please let me know if there is a further solution. Thanks!

https://www.comsol.com/forum/thread/3050/Crazy-temperature

Regards Darragh

Hi Jeff Thanks for your help again. I have made the insulating materials conductivity small non zero values such as 0.001 just so that the equation can solve. But it seems no matter how much I reduce them, they have no real impact on the outcome. Unfortuntely my problem requires the voltage in the order of 1- 4 Volts so I cannot reduce it further. The temperatures reduce to normal values when I use values such as 300 mV. Even when i change the insulator to much higher thermal conductivity and other thermal values it still has 10E6 K values. I even removed the heat from the probe with no effect. I then tried to use a surrounding box of air which I thought would conduct away the heat to no effect. I notice that the huge heat stems from the copper probe. I am not sure what I am doing wrong here, as the surrounding initial temperatures are at room temperature apart from the substrate which is only at 350 K. The other materials should conduct away the heat as I think their material values are more real-world now (I think?). I have seen this problem in another thread which I don't think was solved below. Please let me know if there is a further solution. Thanks! https://www.comsol.com/forum/thread/3050/Crazy-temperature Regards Darragh


Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 month ago May 17, 2022, 2:03 p.m. EDT
Updated: 1 month ago May 17, 2022, 2:20 p.m. EDT

Hello Darragh,

Since you are no longer including the regions occupied by the two oxides into the computational domain for the electrical problem, it does not matter what electric conductivity you give those materials. If you returned them to the computational domain, a higher conductivity (not a lower one) is what would tend to reduce the current density, therefore the heat source and maximum temperature.

What I indicated earlier remains true: there is a tremendous heat source in the filament and no easy way for it to get out of the system (the same is true also of the probe, though its cross-section is bigger, which helps), so the temperature in steady state is very high.

This is less fundamental, but beware that sharp corners in your geometry may create localized artificially high current densities. Rounding those corners and refining the mesh there will help with that (see this blog post). But you'll still be left with a lot of current passing through a very narrow wire surrounded by insulation.

Jeff

-------------------
Jeff Hiller
Hello Darragh, Since you are no longer including the regions occupied by the two oxides into the computational domain for the electrical problem, it does not matter what electric conductivity you give those materials. If you returned them to the computational domain, a higher conductivity (not a lower one) is what would tend to reduce the current density, therefore the heat source and maximum temperature. What I indicated earlier remains true: there is a tremendous heat source in the filament and no easy way for it to get out of the system (the same is true also of the probe, though its cross-section is bigger, which helps), so the temperature in steady state is very high. This is less fundamental, but beware that sharp corners in your geometry may create localized artificially high current densities. Rounding those corners and refining the mesh there will help with that (see [this blog post](https://www.comsol.com/blogs/singularities-in-finite-element-models-dealing-with-red-spots/)). But you'll still be left with a lot of current passing through a very narrow wire surrounded by insulation. Jeff

Please login with a confirmed email address before reporting spam

Posted: 1 month ago May 19, 2022, 6:00 a.m. EDT

Hi Jeff

Thanks so much for your help it means a lot. I just have one more question.

I want to apply this with an AC pulse now - something like 10 mA for 10 ms and -10 mA for 10 ms and so forth recurring.

Must I do this manually and solve in the frequency or time domain study? I know this is a lot so if there is a particular comsol example thats suitable please let me know, it seems the actuator or capacitor model seem the most relateable at the moment.

Regards Darragh

Hi Jeff Thanks so much for your help it means a lot. I just have one more question. I want to apply this with an AC pulse now - something like 10 mA for 10 ms and -10 mA for 10 ms and so forth recurring. Must I do this manually and solve in the frequency or time domain study? I know this is a lot so if there is a particular comsol example thats suitable please let me know, it seems the actuator or capacitor model seem the most relateable at the moment. Regards Darragh

Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 month ago May 20, 2022, 9:35 a.m. EDT
Updated: 1 month ago May 20, 2022, 9:48 a.m. EDT

Hi Darragh,

Frequency domain studies are used when the loads and solution are harmonic, which is not the case for you. A time-dependent study can have loads varying in time in an arbitrary way (including your rectangular signal) and is therefore suitable for your problem.

Note, however, that there is a third possible route open to you. If the electric properties are not dependent on temperature, you could solve the thermal problem in a time-dependent fashion while using the voltage that results from a stationary study at 10mA. That's because the same effective power is produced by that DC input as would be by your actual, rectangular signal. That approach (of solving an equivalent stationary electric problem combined with a time-dependent thermal problem) will allow the time-dependent solver to take fewer and longer timesteps, and therefore result in a quicker computation.

Best,

Jeff

-------------------
Jeff Hiller
Hi Darragh, Frequency domain studies are used when the loads and solution are harmonic, which is not the case for you. A time-dependent study can have loads varying in time in an arbitrary way (including your rectangular signal) and is therefore suitable for your problem. Note, however, that there is a third possible route open to you. If the electric properties are not dependent on temperature, you could solve the thermal problem in a time-dependent fashion while using the voltage that results from a stationary study at 10mA. That's because the same effective power is produced by that DC input as would be by your actual, rectangular signal. That approach (of solving an equivalent stationary electric problem combined with a time-dependent thermal problem) will allow the time-dependent solver to take fewer and longer timesteps, and therefore result in a quicker computation. Best, Jeff

Please login with a confirmed email address before reporting spam

Posted: 4 weeks ago May 30, 2022, 12:20 p.m. EDT

Hi Jeff

Thanks a lot for your help so far. I have been able to solve for time dependant square waves no problem but it still does not solve the high temperature problem, even if I increase the htc value or other thermal properties.

Moreover, I want to add the solid mechanics nodes to see the deformations on the structure and see how it affects the electrical properties. I have followed the actuator example to add the appropriate conditions here https://www.youtube.com/watch?v=U6FO2A1tf2M&list=PLBk1I79rzfjlUrbINpMy-dBSb22l0jN5J&index=8&ab_channel=COMSOL

However I get the error 'may have reached a singularity' or if I change some boundary conditions and tolerance value i get 'Maximum number of segregated iterations reached'. This only happens when i add the solid mechanics physics. Please help me if you can it would be much appreciated. I will attach below. Thanks!

Regards Darragh

Hi Jeff Thanks a lot for your help so far. I have been able to solve for time dependant square waves no problem but it still does not solve the high temperature problem, even if I increase the htc value or other thermal properties. Moreover, I want to add the solid mechanics nodes to see the deformations on the structure and see how it affects the electrical properties. I have followed the actuator example to add the appropriate conditions here https://www.youtube.com/watch?v=U6FO2A1tf2M&list=PLBk1I79rzfjlUrbINpMy-dBSb22l0jN5J&index=8&ab_channel=COMSOL However I get the error 'may have reached a singularity' or if I change some boundary conditions and tolerance value i get 'Maximum number of segregated iterations reached'. This only happens when i add the solid mechanics physics. Please help me if you can it would be much appreciated. I will attach below. Thanks! Regards Darragh


Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 4 weeks ago May 31, 2022, 9:58 a.m. EDT

Hello Darragh,

I would recommend you first resolve the issue of the excessive temperature before you make the model more complex by adding a physics.

Best regards,

Jeff

-------------------
Jeff Hiller
Hello Darragh, I would recommend you first resolve the issue of the excessive temperature before you make the model more complex by adding a physics. Best regards, Jeff

Please login with a confirmed email address before reporting spam

Posted: 1 week ago Jun 15, 2022, 11:59 a.m. EDT

Hi Jeff

I managed to fix my temperature problem by changing the dimensions around and the input currents.

However now i am having trouble when i add the structural mechanics physics. I end up getting the 'last timestep didn't converge, may have reached a singularity' error again.

I have played around with the relative tolerance and mesh sizes but to no avail, I would really appreciate if you had a look to see where I am going wrong. I will attach the file. Many thanks!

Regards Darragh

Hi Jeff I managed to fix my temperature problem by changing the dimensions around and the input currents. However now i am having trouble when i add the structural mechanics physics. I end up getting the 'last timestep didn't converge, may have reached a singularity' error again. I have played around with the relative tolerance and mesh sizes but to no avail, I would really appreciate if you had a look to see where I am going wrong. I will attach the file. Many thanks! Regards Darragh


Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 week ago Jun 15, 2022, 1:30 p.m. EDT
Updated: 1 week ago Jun 16, 2022, 8:32 a.m. EDT

Hello Darragh,

Your structure is not sufficiently constrained to remove all 6 rigid body motions; in fact it looks like it is entirely unconstrained. Hence there is an infinite number of equally valid solutions to the mathematical problem you're asking the software to solve, which leads to the error you've met. You need to impose sufficient constraints in the form of boundary conditions, edge conditions or point conditions, to eliminate such rigid body motions and, most importantly, represent the real-life situation you are modeling. See also this blog post for more information on various options available to you if you are seeking to minimally support the structure.

BTW: While I occasionally respond to posts in the Discussion Forum, please contact our support team at support@comsol.com or via your COMSOL Access account if you need further assistance with this. It is the proper channel to address technical support requests to COMSOL staff.

Best,

Jeff

-------------------
Jeff Hiller
Hello Darragh, Your structure is not sufficiently constrained to remove all 6 rigid body motions; in fact it looks like it is entirely unconstrained. Hence there is an infinite number of equally valid solutions to the mathematical problem you're asking the software to solve, which leads to the error you've met. You need to impose sufficient constraints in the form of boundary conditions, edge conditions or point conditions, to eliminate such rigid body motions and, most importantly, represent the real-life situation you are modeling. See also [this blog post](https://www.comsol.com/blogs/modeling-parts-without-constraints-in-your-structural-analyses/) for more information on various options available to you if you are seeking to minimally support the structure. BTW: While I occasionally respond to posts in the Discussion Forum, please contact our support team at support@comsol.com or via your COMSOL Access account if you need further assistance with this. It is the proper channel to address technical support requests to COMSOL staff. Best, Jeff

Please login with a confirmed email address before reporting spam

Posted: 1 week ago Jun 16, 2022, 5:50 a.m. EDT

Hi Jeff

Thanks for your response, I will try address those now, I didn't realise it needed a lot more BC's.

I think you may have forgot to link the blog post in your last reply for the other options.

Thanks Darragh

Hi Jeff Thanks for your response, I will try address those now, I didn't realise it needed a lot more BC's. I think you may have forgot to link the blog post in your last reply for the other options. Thanks Darragh

Magnus Ringh COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 week ago Jun 16, 2022, 7:05 a.m. EDT

Hi Darragh,

I think that Jeff intended to link to this blog post: https://www.comsol.com/blogs/modeling-parts-without-constraints-in-your-structural-analyses/

Best regards,

Magnus

Hi Darragh, I think that Jeff intended to link to this blog post: Best regards, Magnus

Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 week ago Jun 16, 2022, 8:33 a.m. EDT

Indeed, Magnus, that's the blog post I meant to reference. I have now fixed my post above.

Jeff

-------------------
Jeff Hiller
Indeed, Magnus, that's the blog post I meant to reference. I have now fixed my post above. Jeff

Reply

Please read the discussion forum rules before posting.

Please log in to post a reply.

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.