From 49b8bc8936240302d89132d5e0c7819e2fc2de95 Mon Sep 17 00:00:00 2001 From: Rafael Ravedutti Lucio Machado <rafael.r.ravedutti@fau.de> Date: Sat, 20 Mar 2021 20:14:43 +0100 Subject: [PATCH] Add code for new syntax Signed-off-by: Rafael Ravedutti Lucio Machado <rafael.r.ravedutti@fau.de> --- new_syntax/test.py | 36 ++++++++++++++++++++++++++++++++++++ particle.py | 12 ++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 new_syntax/test.py diff --git a/new_syntax/test.py b/new_syntax/test.py new file mode 100644 index 0000000..48e25a3 --- /dev/null +++ b/new_syntax/test.py @@ -0,0 +1,36 @@ +import ast +import inspect + + +def lj(i, j): + sr2 = 1.0 / rsq(i, j) + sr6 = sr2 * sr2 * sr2 * sigma6 + force[i] += delta(i, j) * 48.0 * sr6 * (sr6 - 0.5) * sr2 * epsilon + + +def euler(i): + velocity[i] += dt * force[i] / mass[i] + position[i] += dt * velocity[i] + + +class BuildParticleAST(ast.NodeVisitor): + def __init__(self, sim): + self.sim = sim + self.block = Block([]) + self.temp_values = {} + + def visit_Assign(self, node): + print(node.targets[0].id) + print(node.value) + + def visit_AugAssign(self, node): + print(node.targets[0].id) + print(node.value) + + +lj_src = inspect.getsource(lj) +#print(ast.dump(ast.parse(lj_src, mode='eval'), indent=4)) +tree = ast.parse(lj_src, mode='exec') +build = BuildParticleAST() +build.visit(tree) +#print(ast.dump(ast.parse(lj_src, mode='exec'))) diff --git a/particle.py b/particle.py index f466126..e3bd789 100644 --- a/particle.py +++ b/particle.py @@ -14,6 +14,18 @@ position = psim.add_vector_property('position') velocity = psim.add_vector_property('velocity') force = psim.add_vector_property('force', vol=True) +#def lj(i, j): +# sr2 = 1.0 / rsq(i, j) +# sr6 = sr2 * sr2 * sr2 * sigma6 +# force[i] += delta(i, j) * 48.0 * sr6 * (sr6 - 0.5) * sr2 * epsilon + +#def euler(i): +# velocity[i] += dt * force[i] / mass[i] +# position[i] += dt * velocity[i] + +# psim.compute(lj) +# psim.compute(euler) + #grid = psim.grid_3d(0.0, 4.0, 0.0, 4.0, 0.0, 4.0) #psim.create_particle_lattice(grid, spacing=[0.82323, 0.82323, 0.82323]) psim.from_file("data/minimd_setup_4x4x4.input", ['mass', 'position', 'velocity']) -- GitLab