Closed ufsowa closed 8 years ago
In animalisation issue, it was found that this concept is wrong.
Add update BLOCK after or before whole equilibration of BLOCKS is desirable. Problems:
stech, vac
are set during plaster::do_init()
. So it works fine, as it is already.Only update after virtual_jump is useless, because stech,vec is set in init_do()
before equilibration.
For sure, update of BLOCKS can be deleted (stech,vac). But it is important to count creation/deletion of sites.
ad. 1 How to save flux_add/del which comes from dislocation?
It can be done as it is now. Just comment remove of sites from plaster::PL_SITES_TYPY
:-1: Remove PL_SITES_TYP[typ].remove_if(is_equal(node));
in plaster:: plaster_delete_site(site* node)
There is a problem. Because PL_SITES_TYPY
are used to choose type of atom to add/remove.
It means that they have to be up to date.
Lets leave this as it is. With update after every virtual_jump.
Solution of this efficiency problem will be change of opcja::choose_typ()
to choose from entire list of sites in plaster.
Loop while can be used with condition that typ_of_atom>0
.
This is required only in case when vacancy is created.
It can be a question how this change the probability of choosing a type A or B form list containing A,B,V.
:facepunch:
EVENTS - update_events() +1: VACANCY - consider if still required, since using EVENTS ?? BLOCKS - by site::block_index HIST - by site::hist_index RESERV - add site::rez_index.