Home Screenshots Examples Publications

Why does OghmaNano exist?

Mankind is facing an existential crisis, by burning fossil fuels we are releasing ~9.795 gigatonnes of CO2 per year, and thus we are steadily changing the composition of Earth's atmosphere. Since 1960, CO2 in the atmosphere has risen by around 30%., this is making our home Earth a more difficult place to live on. As a society we have to reverse this trend if we want to survive. Thin film devices such as solar cells and OLEDs offer a viable way to reduce our CO2 emissions, either by providing low carbon electricity, or providing an efficient way to use the energy once generated. It is therefore important that technologies based on thin film devices continue to be developed and succeed. By developing and releasing OghmaNano, I hope, I am enabling scientists throughout the world to understand these devices a little bit better, which I hope will contribute in a very small way to solving our climate crisis.

What is the history of OghmaNano? (10+ years of development)

I started writing OghmaNano just after finishing my PhD in 2008 while taking a break for academia and deciding what to do next. At that time it was a simple drift diffusion diode model which did not take account of disorder. The majority of the complex core of OghmaNano which deals with disordered materials was written while I was working in the Physics Department at the Imperial College London in 2010-2011. During this time I was working for Jenny Nelson on organic solar cells, it was a very productive and exciting time. Since then the model has been expanded to model many other classes of material system.

Is there a road map for OghmaNano?

No not really, I add features as and when I need them or my collaborators need them. If I get free time then I add features which nobody has asked for but I think are interesting to write. If OghmaNano does not do what you want it to do then send me a mail, let's collaborate it it could be fun!

Can I publish papers with OghmaNano and use the results in industrial/academic environments?

Yes, do what you want with the results from OghmaNano. Under the following conditions:

1. You firstly clearly state that you are using OghmaNano when you publish your results.

2. If you publish a book, paper or thesis where OghmaNano has been used you must cite at least three of my papers. Please do not cite the manual.

I ask you to do this because it takes a lot of effort to maintain/develop OghmaNano and need to be able to demonstrate the funding councils that it is being used.

Bugs, new feature requests.... how you can get the most out of both me and gvpdm...

Firstly thanks for downloading and using OghmaNano! I really appreciate this and I hope you find it useful. I get quite a lot of feature requests from people wanting features added or for bugs to be fixed. I really appreciate the feedback!

However, I am currently employed at a UK University and my time is split between teaching, research and admin. My performance in my job is measured by the number of high impact papers I push out per year. I therefore have to prioritize feature requests and bug fixes for people who would like to write a paper with me (i.e. my colobrators).... Therefore if you would like:

If you don't need help from me to use OghmaNano then please feel free to do what you want with the results - no need to contact me.

The history OghmaNano and it's name

Back in 2010 OghmaNano originally had no name, it was just some code that sat on my hard disk to simulate solar cells. As the code base grew and it became useful to others I gave it the name opvdm which stood for (Organic Photovoltaic device model). Then at some point perovskite devices came along and I thought the name opvdm was a bit limiting. I therefore changed the name to gpvdm which stood for General-purpose photovoltaic device model. This name persisted for about 10 years until the user base of gpvdm grew and people started complaining that the name was difficult to say and write down. I therefore decided in late 2022 (after some nudging by someone ;) ) to change the name. I decided to call it OghmaNano which stands for Organic and hybrid Ma terial Nano Simulation tool. It is also the name of Irish/Scottish god Oghma, who was described as "sun-faced" or "shining, radiant countenance" which is quite fitting for a device model which deals with photons.

How do I add new optical materials to the material data base?

Read this to learn about the materials database and how to add materials. tutorial. Watch this video here, also read this section in the tutorial

Is there a database of electrical parameters?

No, currently not, I only include a database of optical n/k data, this is because OghmaNano is primarily aimed at simulating disordered thin film devices. In these type of devices electrical parameters such as recombination rates/mobilities, change depending on how the film was fabricated and even in which lab it was made. I suggest you either fit the model to experimental data to determine which electrical parameters to use or to search the literature for which values you should be using.

Why is www.Oghma-Nano.com blocked in my country and how do I get around this?

A1: I don't know why it's blocked. A2: Try replacing https links with http, some countries don't like https traffic as it stops gpvements watching what you are looking at on the web... If you experience problems accessing the OghmaNano webpage in your area of the world, drop me an e-mail, I will do my best to make it accessible to you.

Will it work on a Mac?

I have heard it works on VM ware fusion on a Mac, but I have not tried this my self. I've also heard of people having problems using it under parallels.

How often are updates to OghmaNano released?

At least every month, keep your eye on the news feed but sometimes daily - depending on what the people I work with need. I always recommend using the latest version of OghmaNano, as I am always fixing bugs and improving it.

Does OghmaNano come with any type of warranty, is it fit for any particular purpose?

No, not at all. I run this project in my free time, so use it at your own risk. Having said that, I use OghmaNano for my own work so I always do my best to ensure the latest version is as good as it can be. In my view, it is much better than many of the competition.

I really like what you have done with OghmaNano, are you available for consultancy work?

Yes absolutely, send me an e-mail.

You ignored my e-mail, what should I do?

I get about 100 e-mails per day, if I don't answer, just resend your e-mail until I answer :).

Should I use anything but the latest version of OghmaNano?

No. I highly recommenced you always upgrade to the latest version of OghmaNano. I do not support old versions.

Common errors

I get the error: Can not decode archive data

You have deleted OghmaNano_local in your home directory, OghmaNano_local is needed for OghmaNano to run.

I get the warning: The solver has not converged very well, why and what should I do?

Solving drift diffusion equations is a mathematically a very tricky thing to do. This message means that you have given the solver a problem which is hard to solve, and it did not find the answer very accurately. It might be fine to ignore the message, but on the other hand you might want to take a close look at the voltage point/time step point where that message was generated. You can get this message for example if you have set up a device with parameters which are slightly nonphysical. Think carefully about the device design/material parameters you are feeding the model. Do they make sense? Try to go back to a working device structure then figure out exactly which parameter is not working/causing it to crash.

I get the error: nan detected in the newton solver, why and what should I do?

You have managed to make the model divide something by zero. This generally happens when you get very very low numbers of electrons/holes in trap states (zero), this generally happens when you start having carrier densities below 1.0 m-3. Try to think why this could be in your device.

I get the error: Holes asking for xxx but range zzz - yyy, why and what should I do?

Evaluating the Fermi-Dirac/Maxwell-Boltzmann carrier distribution equations is done by tabulating them first. For some reason you are driving the Fermi-levels out the range in which they are tabulated. Do you have very low carrier densities on the contacts, or do you have very very high carrier densities on the contacts? This might also be happening because the solver is failing to converge form a previous simulation step, so the IMREFs are non physical anyway. Again try to think if your device is physically correct. In general if you perturb the simulation too much, at a simulation step you can also cause these sorts of problems, for example if you do a big voltage step, or apply too bright a light pulse.