Closed ufsowa closed 8 years ago
:interrobang: find_migratio path
return last site
Two alternative solutions exists:
With type option
REZ
check for type in REZ.
If node type in REZ
move REZ as usual.This require modification of find_migration_path
. When in REZ check if type exist. If exist exchange.
If not, move_frame.
OK. Lets do the option (1). It will be faster.
In opcja::find_migration_path()
few case modification are needed:
if(TRY_WALL>10)
for atomscheck_type()
this REZ where you are.
If REZ has some types, exchange()
and add to mig_path
.
If REZ has not types, move
REZ.first_atom == mig_path
, then
check REZ for type, and exchange and add to path.
If no type, then move().It looks like I need functon which takes *site
and do all operation base on this site.
site
has information on which REZ belongs - > rez_index
plaster::check()
if one exist return true. Now, if one of two does not exist returns false.
almost finished.
It is criteria in case of lack of type. Additional criteria is needed when dV is equal to plane. Must be checked before/after :interrobang: every equlibration
:facepunch: check_rez()
added in find_mig_path()
done :facepunch:
Now, tests
Actually, layers do not move.
Reserves movement criteria. Reinit_blocks and REZ
:facepunch: Add checking of reservuars in
dislocation_movement()
orfind_migration_path()
dislocation_movement()
returnMOVE
true
orfalse
which later i used inremove_vac
oradd_vac
in usual way.