ufsowa / mcdif

Monte Carlo based alghoritms used to simulate thermodynamic and kinetic properties of the alloys
3 stars 4 forks source link

fix plane #33

Closed ufsowa closed 8 years ago

ufsowa commented 8 years ago

Apply permeable boundary: Vacancy can leave sim_area (vac output). Atoms can leave sim_area (vac input).

In creating event list EVENTS inlucde events from vacancies in REZ which has neighbouring atom in sim_area.

Given Vac must be in sim_area. So it is suggested to remove this criteria. :interrobang: if you want take events outside of sim_area.

:facepunch: : in update_events remove condition for neighbouring atom, that it must be in sim_area

add method for vac in rez :information_source:

When creating EVENTS, it run over every VAC in the Vatoms list.

But to build Vatoms set_atoms_list is executed ONCE at the beginning of simulation.

set_atoms_list is repeated after opcja::sim_are_refresh() when layers were shifted. set_atoms_list run over all sites in the system. Is very painfull, but no other options. Must check what site is vac.

You need to modify set_atoms_list in that way, it will include vac which has in theirs neighbourhood atoms from sim_area. :facepunch: modify set_atoms_list

ufsowa commented 8 years ago

update_events must be changed to count for nn atoms from sim_area. Because during relaxation of rez events changes.

if(vac_in_sim_area){
   for(neighs){
       ```~~if(sim_area)~~```{
           include all neighs
       }
   }
}else{
   for(neighs){
       **if(sim_area){**  
           include neighs from sim_area
       }
   }    
}
ufsowa commented 8 years ago

set_atom_list must add vac from rez to Vatoms. Then, updat events will handle the rest.

ufsowa commented 8 years ago

opcja::TRANSPARENT was added

ufsowa commented 8 years ago

Move BOUNDARY to lattice. opcja in conf.in is executed before commands -OK.

ufsowa commented 8 years ago

lattice: 3846

ufsowa commented 8 years ago

Done with option turn on/off. L_SIM_B 2 1 1