 Okay, so good afternoon everyone. I'm happy to be here and tell you a little bit about some recent work we have done on new types of linear functions and that we have implemented in the atomic simulation environment. And so the outline of this talk. Here it is will be as follows. So first I will talk about what we call partly occupied on your functions, which can be seen as really maximally localized on your functions for the case where you have entangled bands. I'll come back to what I what I mean by that so these are not really the the van your functions for entangled band that you have studied so far, I would imagine but but a slightly different type. And I write here history because this is work that actually dates back to my PhD, which is about 15 years ago by now. So it's so I'm actually happy to talk about this topic because I haven't talked about it for for for many years so it's it's always nice to get a little bit back along memory along memory lane. So, but recently we have now worked a bit more on this and and develop the concept a bit further, and that is led led to this new type of fun your function that we call balance by your functions. And this is something I believe could be relevant for doing. So high throughput van yourizations, because these van your functions tend to be more robust than the conventional van your functions at least as far as we have found. So I'll talk about how we define the spread balance on your functions are using a new type and a new spread functional just the traditional one with a penalty term that that distributes the spread of the van your functions more evenly. And then I'll talk about how we develop the protocol for selecting the initial guess for the van your functions something that is important. When you want to do automatic construction of van your functions and also how to select the ideal number of van your functions and again I'll come back to what I mean by ideal number of van your functions. So here's the application of this where we calculated van your functions for a set of materials in a more or less automated fashion. So I put high throughput here but it's it's actually not really high throughput it was about 30 different materials but still. I'll switch gears a little bit and talk about the atomic simulation environment and the atomic simulation recipes, which are respectively a Python environment scripting environment for working with atomic structures and and and managing electronic structure configurations and then the ASR, which is a more recent development is a high throughput workflow framework, relying on the ASC and using the ASC quite heavily. Then I'll give an application of that of the ASR framework. So mainly this C2DB database which is a database of of two dimensional materials, a pretty comprehensive database that we have used the ASR to construct over the past few years, and then I'll also talk about how we have combined that database in the search for new topological insulators that shows that topic because it has some relation to to van your functions. Hybrid van your functions in particular I guess you have already heard about that during the course of this summer school. Okay, so. So just some basics of van your functions. I'm sure you already know this this is the spread functional or the spread of a set of van your function so that's the sum of the second moments of the setup of functions. If you have a cell with periodic boundary conditions which is sufficiently large, then the minimization of this spread is equivalent to maximizing omega functional here, which I will in the following referred to as the as the spread functional. And I give some some references down here where this was all introduced and pioneered. The spread of an one year function number in can then be calculated from the from these C matrix elements, according to this formula here to saying that because I'm going to look a lot at at the spreads of the van your functions in the following. So the party occupied on your functions. So the first if we if we think of the van your functions by so some as Ari and Vanderbilt that I'm sure you've heard about this workshop here this summer school, the way they are constructed we start by obtaining the case of spaces by minimizing the dispersion of the bands throughout the brewing zone. And then once we've done that, we produce maximally localized on your functions within by by finding the optimal unitary transformation of the states within each of these case of spaces. Now, instead of doing this kind of two step procedure and and caring about minimizing the dispersion throughout the brewing zone. What we do with the party occupied on your functions and I think that's probably not a very good name for these van your functions but that was the best I could come up with 15 years ago. So that name is sort of stock to these van your functions. So what we do instead of the two step procedure is to simply minimize the spread function was minimize the spread meaning maximizing the omega functional in a one step procedure. So if we think first of a non periodic system, then we have one year function in here that we write as a linear combination of the m lowest eigen states with a unitary transformation matrix in front. And then we have a set of what we call extra degrees of freedom here. And they also rotated around together with the psi functions. And these extra degrees of freedoms defies they are simply linear combinations of all the eigen states that we do not include in our lowest sort of m dimensional subspace over here. So with this construction we ensure that the M lowest eigen states are exactly reproduced by our van your functions. Then the extra degrees of freedom, the file functions here, they are chosen such as to minimize the spread of the van your functions. And they should be orthogonal to each other. And so what we're searching for is the global maximum of the omega function. And it depends now on these unitary matrices you and the coefficient matrix see that defines the extra degrees of freedom, and we optimize you and see simultaneously. Okay, so here's just an illustration. If we, this is for just very simplified age to molecule we have a bonding orbital. We find an orbital up in the set of unoccupied orbitals, which is an anti bonding orbital and when we some and subtract them we get the original atomic orbitals back so that's kind of the simple idea behind this. We can also be formulated for periodic cells. So for a periodic cell we can write the van your functions and the usual form here where we some over is a generalized block states and the generalized blocks states are defined in this way. And that follows exactly what I showed before we use we make unitary transformations within a space that consists of the lowest M icon states and then a set of, of extra degrees of freedom, and that we then optimize for each value of K. I'm not going to go into detail with how we how we do this in practice but if you're interested you can look in these references down here. So let me just show you an example. This is the band structure of copper, I believe, where we have the d bands the flat d bands and then we have an S band that goes through and zero is defined as the energy cut off window so all the states below zero is what we include here in our construction. So we're sure that all the bands below zero are exactly reproduced. So, if we want to have six one year seven one year functions as in this case. Then you can see that in this region of the brilliant zone. We have MK equals to six because we have below zero we have. We have six occupied bands, and then we have LK equals to one because we need then one extra degree of freedom that can be chosen up here as linear combination of all the states above the zero. So in this region over here, there are only five states below our cut off energy. So in this case we have for these k points we have LK equal to two, and and so we find two extra degrees of freedom. And again these extra degrees of freedoms together with the rotation matrices, optimize simultaneously in order to maximize the omega function so in order to minimize the spread. The spread of all the fun your functions. Okay, so now the question is how many extra degrees of freedom, should we include in the construction, and here's an example. So one way to define the optimal number of fun your functions and therefore the optimal number of extra degrees of freedom is to maximize the spread per by your function. Which would be this expression here. And here's an example for a silicon five cluster. Where you can see the average localization. So, this quantity here plotted as an option of the extra degrees of freedom that we include in the construction, and you can see this peaks for four extra degrees of freedom here. So in that choice, we are getting very nice symmetrically positioned and and highly localized by your functions, the black dots here indicate the sensors of those fun your functions. Okay, we have here's a couple of other cases, for example, if you take a benzene molecule. And if you take the occupied set of states in the construction of the fun your functions then you get this set of fun your functions. If you, if you include include three extra degrees of freedom, then you get this more symmetric set of fun your functions so you get six of these sigma bonds and sigma bonds and these PZ orbitals, and ill equal to three, in fact corresponds to the maximum in the average localization functional as shown over here. And this is a case of an infinite platinum chain. And here is a case of a platinum chain with a hydrogen molecule incorporated. And what I'm showing you down here is the eigenstates so the eigenstates included in the set of fun your functions. So in the case of the benzene molecule you can see we have all the occupied states and then we have the first and on occupied states selected as the extra degrees of freedom, and then a higher line. Up here. So this is selected simply because when including this, it will lead is localization of the entire set of functions. And a similar situation occurs for the platinum chain, whereas for this platinum age to system. You can see that the extra degrees, the last extra degree of freedom up here is not a particular eigenstate but it's actually a linear system of different eigenstates that is selected as the most ideal degree of freedom to include in order to get the most localized on your functions. Here is another example. So this is again, a band structure of copper where you can see the effect of moving the energy cut off here from zero and up to three. When we do that, we sacrifice a little bit of of localization of the value of functions but we get a better description of the of the S band here. So, what is the problem. The problem is that sometimes when we perform the maximization of this spread functional here, we will get solutions where one, or a few of the value of functions we find are not very localized. It can be pretty bad and quite delocalized. And this is obviously a problem, because a chain is only as strong as its weakest link so if we have one one value of function that is not well localized. Well then that defines the range of the tight binding Hamiltonian we can create from these and and it's not very desirable so then one can ask whether this is an effect of the functional getting trapped in a local function, which is not the global minimum of the functional. Sorry, it's actually a maximum when we talk about Omega, or whether it's really a property of the global maximum of this functional up here. But no matter whether it's it's one or the other answer to this question, we would like to really penalize the solutions where one or a few value of functions are delocalized, and we can do that. And that means we want actually a more democratic localization scheme that that does not sacrifice one money a function or a few money a function. Because it's better and then optimize all the other ones even more. So let's talk about how one could do that, and one strategy here would be to, instead of just including the C matrix elements of the value of functions. And by the way Z equals to one means a perfectly well localized value of function and when Z is equal to zero it means a completely delocalized value of function. Okay. So we want to have largest possible values for C, when we find on your functions. So we can think about taking a function of C. And if we do that, the blue dotted line here would correspond to the standard functional. But if we choose functions here that have a steeper slope for small values of of x, as compared to larger values of x then you can imagine that you have a one year function that is lying up here have a large value of of Z and you have one with a smaller value of C, then it would actually which is not desirable right because this would be a delocalized on your function. Then due to this larger slope for small values of C, it will be advantageous to move some of the localization so to speak from the one year function up here to the one year function down here, right when we optimize the two terms. So this would be one way of, of, of, of ensuring that we don't have a few value of functions that become particularly delocalized. Another one is to add a penalty to the spread functional here, which is proportional to the variance of the spread of all the value of functions. So now you should think of your entire set of one year functions, each of those have a certain spread. And that gives you a distribution, and you can think of the width of that distribution. We would actually like that to be not too large. Because that means we will have one year function if it's large it means we have one year functions that are well localized but we also have some that are not very well localized. So we would like to minimize the variance. Okay. But of course we shouldn't only just minimize the variance because we should also minimize the spread of the functions at the same time. So there is a kind of trade off, and we can control that by this weight parameter in front of the diagram. And what I'm showing you down here is for a silicon crystal. I'm showing you the average spread of all the value of functions that we have in the set, and the spread of the most delocalized value of function that we find. The error bars and the plots here is because we've we've done this for 10 different random initial guesses for the value of functions and we obtain slightly different solutions every time. And then we take just the average value and show here as well, the spread as well. So what you can see is for very small values of the weight functional, we have the standard functional. Okay, the standard partly occupied by your functions, and they're lying down here. When we then increase the weight functional, then we increase a little bit the average spread. So we sacrifice the average spread a little bit, but we drastically improve the maximum spread the spread of the most delocalized function. So in particular if we use very high values for this weight function, we are up here, and you can see the average spread of the set of linear functions is more or less the same as the spread of the most delocalized function. So all the value of functions in this case have more or less the same spread. This is not what we want, obviously, we want to be somewhere in between so this is the value that we have chosen parameter equal to one times the number of linear functions. This needs to scale with the number of linear functions because the total spread functional here will scale linearly with the number of linear functions as well. So that is the value I'll be using throughout this talk here. Okay, so let's take a look at what this new functional localization functional actually does and this is a case of a two dimensional semiconductor tungsten molybdenum telluride. It's a material with 12 atoms per cell. It has 52 occupied bands and the band gap of 0.9 electron volts. And so here we have this variance minimizing functional. And what I'm plotting over here is as a function of the optimization step in this iterative optimization of the of the you and see coefficients. I'm showing this the value of this penalty term here. So essentially, the variance of the set of one year functions, and not surprising that you can see that very quickly. It's more or when we optimize the variance functional here as compared to mean optimization of just traditional omega functional. So this is not surprising that this happens. And up here you can see a plot of the most delocalized value of function that we find. And this is what we obtained with the standard functional. You can see we have an average spread over all the linear functions of 2.7. And we have a spread for the most delocalized linear functions of 21.5. If we instead use the variance minimizing functional. We sacrifice a little bit the average delocalized localization, you can see the spread increases from 2.7 to 2.8. But we get a drastic improvement in the localization of the most delocalized value of function here going from 21 to 5. Okay, then again we can talk about how many extra degrees of freedoms we should include when we run the vanearization and a quality indicator for a good set of linear functions would be the average band interpolation error. So we try to reconstruct the concham eigenvalues in terms of the resulting set of linear functions and then we look at the, the average error. And the other one would be the spread of the most delocalized linear function. So here is another example, where this I believe is for MOS2, another two dimensional semiconductor. And the difference between these two cases here is the set of linear functions that we have chosen so to the left. So the dashed line here is E0, that's everything below this line we include exactly in our vanearization space. And that corresponds to, so you can see at this point here, we have exactly 16 states below. So that means that the minimum number of linear functions we can choose to have with this E0 would be 16. So this is what I would call the minimal number of vanear function, this is 16 in this case, then you can see in other parts of the brillaring zone, there are only 15 states below, and then we have one extra degree of freedom. With this choice, we find a maximum spread of 5.3. Okay, so then we can also try to include one more degree of freedom so now we have 17 vanear functions in total, and you can see we get a better description of the bands, and we get a drastic reduction again in the spread of the most delocalized vanear function. So that suggests that one way of finding the optimal number of vanear functions or equivalent to the optimal number of extra degrees of freedom is to look at the maximum spread, and then find the minimum on such a curve here as a function of the total number of vanear functions that we use. So in the case of gallium arsenide that I'm showing you here, you can see that that the minimum is obtained for eight vanear functions. And again, the error bar here is because we always have five to 10 different initial guesses. So this becomes a statistical thing. So here we have eight vanear functions. We also get a very nice very small interpolation error for the bands, and yeah, significantly lower value of the maximum spread. Okay, so that's the way we pick the optimal number of vanear functions. What about the initial guess. So here we have found that a good way of initializing the vanear functions is to use atomic orbitals. And so we use projections of atomic orbitals onto the set of of vanear functions so this is the way we initialize the routine and this leads to initial values for the you and see matrices. So what we do in this protocol is we say for atoms with valence d or f electrons, we use the five or seven. At some center atomic orbitals because these are typically very localized to begin with. And then for the remaining set of vanear functions that we need to initialize we just use s orbitals that are centered at a random dimension in the in the crystal, but always within the sphere of radius one point angstrom of 1.5 angstrom around one of the atoms in the cell. So there is some degree of randomness in the in the initial guess, not for the d and f electrons but for for for everything else. So here you can see results of the vanearization with 100 different random seeds for this initial guess. This is the result for silicon when we pick the minimal number of vanear functions with an easy row at the conduction band minimum plus to be and you can see that there are essentially two types of solutions that we find, both with the standard functional and with the new variance minimizing functional. So we can end here or we can end down here, depending on the initial guess. What we also see is that we always gain a lot in the maximum spread, which is the horizontal axis here, consistently, and we sacrifice a little bit in average spread so that's the same as what we've seen before. If we choose the optimal number of vanear functions as I just described previously how we determine, then we don't get so different types of solutions but again you see that consistently, we get a smaller maximum spread when we use the variance minimal minimizing functional compared to the standard functional, and we sacrifice, not really anything for this case in in average localization. Okay. Here's some other examples that we have that we have considered. This is an in the center and diamond. And this is hydrogen nitrogen and oxygen atoms at sort of done a ruthenium slap. And this is the number of vanear functions that we have in these cases. Over here we have the maximum spread. So the spread of the most delocalized vanear function in the set that we find. Again, this is over. I think five, five different random seeds for the initial guess. So there is a little bit of variation. But this is the band interpolation error or the eigenvalue interpolation error that we find. And this is these are the corresponding results with the variance minimizing functional, and you can see that systematically we get better localization of the most delocalized vanear function so this is exactly what we expect to get. The energy interpolation error is very comparable. So we don't see a really a systematic improvement in the in the band interpolation error but we see a systematic improvement in the, in the maximum spread. Okay, so we took this with the protocol for choosing the initial guess and the protocol for selecting the optimal number of vanear functions. And then we tried it on a set of 30 different 2d materials. So our test set here comprises 22 semiconductors and eight metals. And we use for all the calculations and energy threshold is zero, which is the conduction band minimum plus two of the all the Fermi level plus two of the four metals. And this is summarizing the results we find after running the minorization. And these are the results, upper panel here with the standard localization functional, and this is with the variance minimizing functional. And this is for both cases, it's for the minimal number of vanear functions we can have for this energy threshold. And what you see if we look at the left part here. The green curve here is x equal to y and the red curve is equal to two times x. So if we decide this region, it means that the spread of the most delocalized vanear function is is sorry that the average spread is within two times that of the maximum spread. So we would actually like to be close to the left in this plot here. And there is a vast improvement when we go from the standard functions to the variance minimal minimizing functional here you can see the scale changes from 25 to 10 here. So the materials for all the materials we're moving significantly closer over here meaning that we really get much better, a much lower variance in the spread of our set of vanear functions. The maximum band interpolation error here is more or less the same in the two cases so as I mentioned before we don't see a drastic improvement there. Then we can do the same, but for the optimal number of vanear functions here, where we have found, we have chosen that, such as to really minimize the spread of the most delocalized vanear function. Okay, and we have done that in both cases for the standard functional and for the variance minimizing functional. And again, in this case, we see a drastic improvement using the variance minimizing functional as compared to the optimal functional when we just look at the average spread and maximum spread. And again, band interpolation error is is pretty similar with the two functions. Okay, so now I'm switching gears and I want to tell you a little bit about the atomic simulation environment because all of the vanear function code that I've discussed so far is actually implemented in the in the AC. So this is historically the first Python library for atomic simulation dates back to the work by sooner bane and cast in Jacobson in 2002, where the AC was introduced. And the main idea was to consider DFT codes really as external black boxes that can provide energies and forces. So we use Python code to implement functionalities that do not really depend on the actual DFT code. The AC is an open source code if you can find it on GitLab and it has a fairly large community behind it so they're about 250 contributors to the AC as of today. So here is a simple sketch of the AC what it consists of it has classes and add some class which is a central object. You can then put different visualization and analysis classes onto that object and constraints. And then you have different molecular dynamics energy optimization schemes that you can hook on to this as well. So we have calculators, and those could be any kind of DFT code, and then for classical potential code. And in fact, we have interfaces in AC to let me just show you that now to a very large set of DFT codes as you can see here. These are the supported calculators the interface to these codes vary a lot to some of them they're very rudimentary for others they're very well developed. Okay, and this is just to show that it's a pretty active the AC code is pretty active this is the number of issues in GitLab that have been created, opened and closed over the years. And this is showing the development in the AC from its first version 1.0 to the current version three, in terms of numbers of lines and of codes and you can also see here that's kind of interesting perhaps that there's been a very much increased focus on tests. This is blue here. So there are quite a lot of large focus on on on testing the AC code nowadays because obviously this is important to make sure that it doesn't break. All right, now, what we have then done more recently is to develop a workflow framework that we call atomic simulation recipes. It's in many ways similar to the AC similar in spirit to the AC and it also uses the AC quite a lot. And here the focus is not on the actual calculation, but on the on the atomic structure, but on the calculation itself. So this is a tool for managing the calculations, and also the data that they produce. It's in that way similar to the Aida framework that I'm sure you've heard about during the school. So it implements workflows for automated computations and we have focused on on this being as simple as possible. Very modular and flexible and transparent so it's, you really know what goes on behind the curtain you can say and it should be easy for users and developers to go and develop their own workflows and also change existing workflows. Again open source and you can find it on GitLab. So, here's an overview of the structure of the ASR. So we, we talked to different DFT codes through the atomic simulation environment and the interfaces that already exist there. And the core of the ASR consists of of a caching mechanism that keeps track of all the results of the calculations and maintains the data provenance and and keep tracks of the dependency graphs. And then there are the recipes, which are really, you can say ASE like Python scripts that perform specific material simulations that could be relaxing a structure calculating the band structure, and so on and so forth. And then we have some additional modules here that can help to visualize the data, micro data if you're updating your recipes. And we have a task scheduler here that can talk to the supercomputer. That makes it easy to submit last numbers of calculations and keep track of them. And then we have some some tools for visualizing the results, putting together databases and visualizing them in in browsers. Okay. So, yeah. The calculations I will show you in a minute all performed with the GPO code that is also an open source code. That has a lot of nice features here. And it's also a community effort, but there's some of the main developers behind the code are located here at at DTU at the moment. This is a high throughput example that we have where we have used the GPO code together with the ASR. And this is this computational 2D materials database that I mentioned the C2DB, which today contains results for about 4000 different two dimensional materials, and a lot of their properties. So go and browse it here if you're interested. And, you know, this this was created this was really a quite painstaking effort to create this. And it was really during the creation of this, of this database here that we learned how to do these high throughput calculations and how to, and so the ASR idea grew out of that project. And today, you can create, we can create the entire C2DB database with a with a single with a single command here, which will launch about 60,000 individual DFT calculations and most of them locally converge and produce reasonable or high quality I should say output that we can then collect into into a database. If you want to browse this database you will you will see this this kind of interface here this is the kind of database web panels that can be produced by the ASR. And you can search for materials, and you can then find the materials down here and click them and then you see some sort of summary panel here, and you have all the properties that we have computed over here. You can click these panels, you can see you can first click the question marks, what it is we have calculated there's a little explanation there. Kind of background information and then you can go on and look at the results. One particular application. This is also data that is contained in the C2DB that I want to just spend five minutes on here before I end is a topological insulators because, as I mentioned at the beginning this is kind of related to many of functions and I'm sure you've heard about that already in the summer school. So topological insulators are materials that have some non trivial and symmetry protected topological order of some kind. Typically the bulk is an insulator, and then we can have symmetry protected conducting states at the edges or the interfaces of these insulators. So here is a visualization of a quantum spin hall insulator where we have a 2D material that is an insulator in its bulk form, but then you're on the edges we have these helical edge states where we have spin up and spin down electrons moving in opposite directions. So this is the corresponding band structure diagram over here. So the challenge and what we were interested in in this study here was to see if we could find topological insulators among all the 2D materials in the in the C2DB database. That had as large as possible a band gap because the band gap is really an issue here if you find the topological insulator with a small band gap, then it's really difficult to use it. So the larger the band gap in the in the bulk form is the more the easier it is to place the thermal level in here and really exploit these symmetry protected that we have. So that's kind of the challenge. So we have a lot of background here. The type the way we do the calculations is actually not using Vanier functions but but I'll come back to the relations of any of functions in a minute. But what we do is we use the so called parallel transport gauge, which is a gauge. And when I say gauge, you know, you should think of choosing the right block. So we write the phases for the block functions as a function of K in the brewing zone. So, here we choose the gauge that really minimizes the variation across the Vanier functions. Sorry, across the functions here in the brewing zone. So specifically we fix one of the two K vectors. So this is the. This is not the brewing zone but this is the primitive cell in reciprocal space. And then we fix K2, and then we go along the very K one, and we really choose the we choose the faces here on the block functions, such as to minimize the variation, make them as smooth as possible as we as we vary K one. And that condition here if we just have a single band amounts to choosing this overlap between two neighboring block states along this line choose that to be real. So once we've done that, we can then take a tour here across the brewing zone and this is actually a loop brilliant in the brewing zone because of the periodic boundary conditions, because of the topology of this cell here. And from that we can derive the berry phase here that we call gamma one of K two so for a fixed value, we get the berry phase along this trajectory here in the brewing so. Now the relation to value of functions or hyper value of functions is that, since we now have smoothly varying phases here, we can construct value of functions out of them. And they will now be localized along the x one direction so along this direction here, not along the x two direction but along x one. So we have the center of the bunny or functions along x one that we can calculate, and it can be shown that that equals the berry phase that I just mentioned over here, apart from a factor of two pi. So this means that the berry phase here can be interpreted as the bunny or centers along x one. So furthermore, it's possible to show using the so called Cooper formula that the hall conductivity of a system is essentially equal to the turn number. The turn number is the flux of the berry curvature through the brewing zone and that number is is a topological index that can take any integer value. Now by applying an electric field along. x two direction, then, if you do that that can be incorporated into the block Hamiltonian in this way so we change from k two to k two minus. This value here, so there is a time argument here because the electric field is the time derivative of the vector potential. So this is this is actually the vector potential that will give the electric field if you take the time derivative. And now the charts transported along x one during this particular time interval here is actually equal to minus the elementary charts times the turn number, right, this can be show by using this expression here for the hall conductivity. So this means now that the turn number is is given by the number of van your centers that cross a plane normal to x one. Okay. So by varying k two here, then we can, and this corresponds to applying the electric field varying k two, we can then we can then measure how many or calculate how many of these van your centers cross a line here in this in this very face plot, and that will be the number of charges that will move. Similar to the electric field when it's applied for this amount of time here. So this is a way of getting to the turn number. This is a particular case for iron bromide here where you can see the evolution of these very faces as a function of k two here. In this case, you can see that the, the turn number is equal to one, because as we bury a K two here, then the, the, the van your centers here, no matter where we put a line that will be exactly one van your center that crosses that line. So that's the way we calculate the, the turn number of these insulators and that in turn gives us the topological indices of the material. So in this screening study here we looked at the three different types of topological insulators so the, and we look for quantum spin hall insulators, where we have this particular binary. This is not the turn number. But this is a different topological index called the C two index. So for quantum anomalous hall insulators which is just given by the churn number. So for when you have time reversal symmetry the turn number is always equal to zero. So the quantum spin hall insulators are relevant in this case. But when we have spontaneously broken time reversal symmetry, for example, when you have a ferromagnetic ground state. It's possible to have churn numbers that differ from zero. So then we talk about quantum anomalous hall insulator and then finally, we look for crystalline topological insulators, where we simply use the difference of the churn number between the two types of, of, of corresponding to the mirror operation in the two dimensional plane. So when you have a mirror plane. You can classify the eigenstates according to whether they even or odd under the mirror operation. And then in those two subspaces, you can actually calculate the churn number, and then the difference between these two will be the this mirror churn index which is an integer number. So we find here. So this is the topology that we find, and all of these have actually been reported before in the literature and we reproduce all of those with our screening approach. But then we also find a number of previously unknown topological insulators you can see here, these are the new constant spin hall insulators that we find from screening, more than 3000 2d materials. And here is the conscient gap that we compute. And I've highlighted these antimony based halites, because they have really large band gaps. So they're interesting. And they're fairly stable this is showing the energy above the convex hole, which can be taken as as an indication of the thermodynamics stability of these materials, ideally you would like them to be zero. But if they are sort of within point one point to be, then it might be possible to synthesize them in any case and and you can see that's the case for these materials here. So again if you want to know more about this study you can take a look in this paper here. Finally, just a word of caution here. When you deal with these topological materials here they are kind of difficult to, to model at a quantitative level one example is, is this material palladium dyes, diet selenium, where we find a huge increase in the band gap when we go from PBE to GW in the gene for other topological insulators as well, that the band gap is is is very sensitive to the way you treat exchange correlation effects. Another thing to be aware of is that for these quantum anomalous whole insulators that are magnetic, they can be highly sensitive to the exchange correlation functional in particular the indices can change depending on whether you use something like PBE or PBE sol or LDA, you can get different values for the turn number. And if you do LDA plus you then again the topological indices can depend on the value use you use for you. Similarly for the same class of topological materials. The value here for the turn index for this is for this is oxide here can also depend on the easy axis that you choose for the material. So as a function of that axis you can get different classification of the of the material. So that's the word of warning and I think we need to look further into the modeling of these materials here from from without any two methods. Okay, and with that I'm at the end and just to summarize since this is on my new functions I'll focus the summer here on the spread balanced on your functions which is the new thing that we've contributed with recently. Starting from the party occupied by your functions and then introducing this more democratic spread functional with a with a penalty term to make sure that we get small variances in the spread over the set of linear functions. This significantly reduced the localization of the most delocalized offices without really sacrificing the average localization of the offices. Then I've also introduced protocols for choosing an initial guess and for selecting the optimal number of on your functions and shown how that can be used to automatically construct very well behaved by your functions in an automated fashion I think this could be something for high throughput. And then this is the ASC module that we have for one year functions is not very advanced at the moment. So there are features that we do not have. We would be very happy if someone would be interested in working on that. For example, we don't have a support spin orbit coupling. We can only create money or functions for calculations with no spin orbit coupling, and we do not. We cannot make money or functions that respect the symmetries of the crystal structure which is another thing that would be very nice to have. If you're interested you can go here and and explore a bit more. There is not a lot of documentation but there are some examples of how to use the code. In the acknowledgement acknowledgments here, Peter Fontana actually did all the work on the spread balance money of functions during his master project with me last year. Hassan is the main developer of the ASC and also the ASR. John Mortensen is the main G port developer so he's also sort of involved in almost all the projects we do here. When it comes to code development and Thomas Olsen is interested in in magnetic properties and topology and has also been involved in the study I showed you on on screening for new 2d topological insulators. And with that, I would like to thank you for the attention. And if you have any questions I'll be happy to answer. If we have time for that. Thank you for your nice talk we absolutely have some time for questions so let's start for the people in presence here in Trieste please raise your hand and I will come to your workstation with a with a microphone. Okay, Stefan has one. Thank you Christian for giving this nice talk. My question is the following. You analyze the quality of your money of functions in terms of the spread. But did you compare how well they, or how precise they interpolate the band structures and comparing to maybe to the one year 90, when your functions. Well, I can't remember. I think we did also comparisons to the one year 90 I think that it's, it's kind of similar. And also what I show here is really the, the band interpolation error between the spread balanced by your functions and the standard functions and it's very similar. So, even though we get an improvement in the spread in particular the spread of the mostly localized on your functions which I'm sure could be advantage, take advantage is in certain cases. We do not see a systematic improvement of the interpolation error with these. This is comparing to our party occupied on your functions and not the van your functions and in one year 90 but I would suspect it to be very similar. I think I think this is any other questions. Okay, that's one from evil. Hi. My question is, so the problem that your new method assault of having one money function is much more localized than the others. Is this something that is specific to your party by functions original methodology, or is it something that is also present for the same materials with the measurement method. I would suspect that it's also present there. But because the party occupied by your functions. They would be more localized than the ones you get from the disentanglement method because it is a global optimization of the spread functional. So, I, although I haven't checked it. I would suspect that you would have a similar issue or could have a similar issue with with the van your functions coming from the disentanglement method. But but since you are a bunch of users out there I mean, of course I would also be interested in hearing I mean this is based on my own, our own experience here. It's possible in particular for complex materials and when I say complex materials I mean materials where you would like to disentangle bands, there is not a natural band gap, where you can put your sort of your your energy threshold, but you need to cut through bands. That's, that's one aspect that makes the monetization complex another one is simply the size of the system so for large systems. Is it also something that that US users experience as a problem from time to time or do you always find nice and well localized by near functions. I mean, maybe maybe we are trying to solve a problem that isn't there. I mean, it's in our it's a problem. Everyone that yes, there are a lot of problems. Otherwise, maybe this will be much shorter. Okay. So this is one of the cases where you where I'm sort of happy to hear that there are problems right because it means this might be useful. But at least we found it more robust in general and and but I think there's still a lot of work to do here with this with this method and this idea of creating spread functionals that are giving more robust results. For example, there is this way parameter here. Where is there this way parameter that says how large this penalty term should should be this we have not studied at systematically at any level, sort of just pick the value. And then we've gone with that. There's also this other strategy over here, which we didn't really pursue much because this was a master project one half a year. And I should say that Peter really did a really excellent job and I was very kind of sad that he didn't want to continue with it with a PhD but but he went to a to a job at synopsis where they actually develop electronic structure codes for the industry. And they also very they were very happy to have him and and he's doing well there. But it was a short and intense period of development that that Peter did and yeah so there are many still many open questions I think. Okay, I see there was a question in the chat by Raphael Gonzalez. He asked Chernobyl should be robust approach indicator why does it depend on a exchange correlation potential. You know if you have small band gaps that could that could. Well, it should be robust yes, but changing from one exchange correlation functional to another. You know, you cannot necessarily see that as a continuous change in the Hamiltonian, where you do not during that path, move through a quantum phase transition where the band, where the where the band gap closes. So, you know, it's not really something that I think you can be sure that a topological index cannot change if you shift to a different exchange correlation function, it's sort of an abrupt this continuous change in the description of the Hamiltonian that is not necessarily adiabatically connected. So, actually, I have a question myself. So, a couple of days ago, maybe it was yesterday I'm not sure we had a lecture by Lin Lin who said that is very what was like variational method is formally equivalent to your partially occupied by new functions. You know, it's although actually seems that are very different from your presentation I don't know if you, if you want to comment on that or you know the work of Lin Lin on on this because he also proposed to directly minimize the entire spread instead of doing you know the two step procedure. Yes. You know he has he has basically shown that you can you can recast this formalism that I presented as a variational problem. So it's solving the same problem but into coming from two different sides. But no, I don't know I haven't read the paper in detail but I trust it when he says it's it's equivalent. And so I think it's just a matter of the way it's formulated mathematically. The new is much more in line with the original formulation by Nicola and and and and David Vanderbilt, whereas I think he raises it in a, in a more mathematical way and a different mathematical way. And so what we do the optimization and practices that these extra degrees of freedom here, these coefficients, they have to be kept orthogonal and normalized during the optimization, and we use the method of Lagrange multipliers to do that. So there is just a little extra term in the. So it's basically an optimization problem, a constrained optimization problem where the constraint is that these coefficients here should be kept orthogonal and normalized. The way the you matrices are implemented is the same way so we are sort of guaranteed with this method, get unitary matrices for the, for the user. So we use the Lagrange multipliers and it's maybe not the most elegant way to solve the, the optimization problem. So that's the good old partly occupied by your functions and then when we get to the spread balanced ones here. The question will also just in involve the you and the C coefficients and you just have to take the derivative of this term as well, when you want to get the gradient of the of the functional here. And the same thing over here, you can also take the gradient of this one using the chain rule, and then you have analytic expressions again for the, for the for the gradients and then you can do the optimization in exactly the same way. Are there any other questions. If not, I think we can thank our speaker again. Yes, you're very welcome. Thank you so much for having me for accepting our invitation. So now we have a short coffee break it's like 15 minutes, just upstairs. And then we will have, I think the last session of the day by Senizako on tight bounding models. And after that the 510 let's say, we have the online poster session. Okay, right here, always here.