From 790dc02c0f9905aa6ab4cec70948ed1658faeb8f Mon Sep 17 00:00:00 2001 From: NR Date: Mon, 5 Apr 2021 22:38:53 +0300 Subject: [PATCH 1/4] updated main --- cfg.json | 4 ++-- main.py | 26 +++++++++++++++++--------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/cfg.json b/cfg.json index d42f5e3..c124ed4 100644 --- a/cfg.json +++ b/cfg.json @@ -4,8 +4,8 @@ "targets_cfg": [ { "weak_interaction": -1, - "strong_interaction": -7, - "num_of_instances": 1, + "strong_interaction": -4.5, + "num_of_instances": 4, "local_drive": 0 } ], diff --git a/main.py b/main.py index 03a6cd1..402c8d6 100644 --- a/main.py +++ b/main.py @@ -8,30 +8,38 @@ CFG_FILE = "cfg.json" -def main(): +def main(filename): global_result = [] - runs = [-6, -6.5, -7, -7.5, -8, -8.5] + runs = [8, 9, 10, 11] start_time = datetime.now() with open(CFG_FILE, "r") as f_cfg: cfg = load_cfg(f_cfg) - with open("output.txt", "w") as outfile: + with open(filename, "w") as outfile: CallbackGlobals.COUNTER = 0 + print(str(cfg.__dict__)) + outfile.write(str(cfg.__dict__)) + print(str([target_cfg.__dict__ for target_cfg in cfg.targets_cfg])) + outfile.write(str([target_cfg.__dict__ for target_cfg in cfg.targets_cfg])) + outfile.write("begining sim with with strong interaction = {}------\n".format(cfg.targets_cfg[0].strong_interaction)) + print("begining sim with with strong interaction = {}------\n".format(cfg.targets_cfg[0].strong_interaction)) for run in runs: - outfile.write("begining run with strong interaction = {}------\n".format(run)) - cfg.targets_cfg[0].strong_interaction = run - for i in range(5): + outfile.write("begining run with mu interaction = {}------\n".format(run)) + outfile.flush() + for j in range(len(cfg.targets_cfg)): + cfg.targets_cfg[j].local_drive = run + for i in range(6): CallbackGlobals.MIN_DISTANCE = 1000 - print("begining run {} with interaction {}".format(i, run)) + print("begining run {} with mu interaction {}".format(i, run)) board = Board(cfg, outfile, False) # Random initialization for TFAS measurements board.run_simulation(5 * (10 ** 7), tfas_turn_callback, CallbackGlobals.COUNTER) CallbackGlobals.COUNTER += 1 print('\nend run--------------') - + outfile.flush() print(datetime.now() - start_time) if __name__ == '__main__': - main() + main("output_5_4_21_4.5strong_4targets.txt") From 169dffd290485225bd0313ec58c8ef5fa47e73fa Mon Sep 17 00:00:00 2001 From: OhadNir9 Date: Thu, 29 Apr 2021 09:30:32 +0300 Subject: [PATCH 2/4] reversed local drive force --- board.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/board.py b/board.py index e982562..6ccf541 100644 --- a/board.py +++ b/board.py @@ -148,12 +148,25 @@ def physical_move(self, particle: Particle) -> None: old_energy = self.calculate_particle_energy(particle) old_coordinates = particle.get_coordinates() + old_neighbors = utils.get_neighboring_elements(self.grid, particle.get_coordinates(), self.cfg.is_cyclic) + num_of_similar_old_neighbors = len([x for x in old_neighbors.values() + if self.particles[x].inner_state == particle.inner_state]) + # move particle and recalculate energy self.do_move_particle(particle, new_coordinates) new_energy = self.calculate_particle_energy(particle) new_neighbors = utils.get_neighboring_elements(self.grid, new_coordinates, self.cfg.is_cyclic) + num_of_similar_new_neighbors = len([x for x in new_neighbors.values() + if self.particles[x].inner_state == particle.inner_state]) + + reversed_local_drive = 0 + if num_of_similar_old_neighbors >= 2: + reversed_local_drive -= self.targets[particle.inner_state].local_drive + if num_of_similar_new_neighbors >= 2: + reversed_local_drive += self.targets[particle.inner_state].local_drive + # if the move is accepted, we keep it - if utils.metropolis(-(new_energy - old_energy)): + if utils.metropolis(-(new_energy - old_energy)+reversed_local_drive): # update adjacency matrix self.adjacency_matrix[:, particle.id] = -1 self.adjacency_matrix[particle.id, :] = -1 @@ -195,15 +208,9 @@ def state_change(self, particle: Particle) -> None: if self.particles[n].inner_state == original_state]) num_of_neighbors_in_new_state = len([n for n in neighbors.values() if self.particles[n].inner_state == new_state]) - local_drive = 0 - - if num_of_neighbors_in_original_state >= 2: - local_drive -= self.targets[original_state].local_drive - if num_of_neighbors_in_new_state >= 2: - local_drive += self.targets[new_state].local_drive # Check change probabilty and edit adjacency_matrix. - if utils.metropolis(-(new_energy - old_energy) + local_drive): + if utils.metropolis(-(new_energy - old_energy)): for n in neighbors.values(): self.adjacency_matrix[particle.id][n] = 10 * new_state + self.particles[n].inner_state self.adjacency_matrix[n][particle.id] = 10 * self.particles[n].inner_state + new_state From 828ff05e8dd6e0361c5a161703bb34f355444fb8 Mon Sep 17 00:00:00 2001 From: OhadNir9 Date: Thu, 29 Apr 2021 17:01:38 +0300 Subject: [PATCH 3/4] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3094e20..73597d3 100644 --- a/.gitignore +++ b/.gitignore @@ -143,3 +143,4 @@ __pycache__/exceptions.cpython-38.pyc test.py .idea/ +*.txt From 0c3fad7ffb6b069b221347aaef186605887f1eac Mon Sep 17 00:00:00 2001 From: OhadNir9 Date: Thu, 29 Apr 2021 17:02:10 +0300 Subject: [PATCH 4/4] changed strong interaction to -4 --- cfg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfg.json b/cfg.json index c124ed4..e2823ee 100644 --- a/cfg.json +++ b/cfg.json @@ -4,7 +4,7 @@ "targets_cfg": [ { "weak_interaction": -1, - "strong_interaction": -4.5, + "strong_interaction": -4, "num_of_instances": 4, "local_drive": 0 }