Skip to content
Snippets Groups Projects
Commit f5c842c6 authored by Behzad Safaei's avatar Behzad Safaei
Browse files

Remove utility functions from pairs/sim

parent 5a746b54
No related merge requests found
...@@ -20,7 +20,6 @@ from pairs.sim.domain_partitioners import DomainPartitioners ...@@ -20,7 +20,6 @@ from pairs.sim.domain_partitioners import DomainPartitioners
from pairs.ir.print import PrintCode from pairs.ir.print import PrintCode
from pairs.ir.assign import Assign from pairs.ir.assign import Assign
from pairs.sim.contact_history import BuildContactHistory, ClearUnusedContactHistory, ResetContactHistoryUsageStatus from pairs.sim.contact_history import BuildContactHistory, ClearUnusedContactHistory, ResetContactHistoryUsageStatus
from pairs.sim.thermo import ComputeThermo
class InterfaceModules: class InterfaceModules:
def __init__(self, sim): def __init__(self, sim):
...@@ -40,9 +39,6 @@ class InterfaceModules: ...@@ -40,9 +39,6 @@ class InterfaceModules:
self.build_contact_history(self.sim.reneighbor_frequency) self.build_contact_history(self.sim.reneighbor_frequency)
self.reset_contact_history() self.reset_contact_history()
if self.sim._compute_thermo != 0:
self.compute_thermo(self.sim._compute_thermo)
self.rank() self.rank()
self.nlocal() self.nlocal()
self.nghost() self.nghost()
...@@ -164,11 +160,6 @@ class InterfaceModules: ...@@ -164,11 +160,6 @@ class InterfaceModules:
self.sim.add_statement(ResetContactHistoryUsageStatus(self.sim, self.sim._contact_history)) self.sim.add_statement(ResetContactHistoryUsageStatus(self.sim, self.sim._contact_history))
self.sim.add_statement(ClearUnusedContactHistory(self.sim, self.sim._contact_history)) self.sim.add_statement(ClearUnusedContactHistory(self.sim, self.sim._contact_history))
@pairs_interface_block
def compute_thermo(self):
self.sim.module_name('compute_thermo')
self.sim.add_statement(ComputeThermo(self.sim))
@pairs_interface_block @pairs_interface_block
def rank(self): def rank(self):
self.sim.module_name('rank') self.sim.module_name('rank')
......
from pairs.ir.assign import Assign
from pairs.ir.block import pairs_inline
from pairs.ir.functions import Call_Int, Call_Void
from pairs.ir.particle_attributes import ParticleAttributeList
from pairs.ir.types import Types
from pairs.sim.grid import Grid3D
from pairs.sim.lowerable import Lowerable
class CopperFCCLattice(Lowerable):
def __init__(self, sim, nx, ny, nz, rho, temperature, ntypes):
super().__init__(sim)
self._nx = nx
self._ny = ny
self._nz = nz
self._rho = rho
self._temperature = temperature
self._ntypes = ntypes
lattice = pow((4.0 / rho), (1.0 / 3.0))
self._xprd = nx * lattice
self._yprd = ny * lattice
self._zprd = nz * lattice
sim.set_domain([0.0, 0.0, 0.0, self._xprd, self._yprd, self._zprd])
@pairs_inline
def lower(self):
Assign(self.sim, self.sim.nlocal,
Call_Int(self.sim, "pairs::copper_fcc_lattice",
[self._nx, self._ny, self._nz,
self._xprd, self._yprd, self._zprd,
self._rho, self._ntypes]))
Call_Void(self.sim, "pairs::adjust_thermo",
[self.sim.nlocal, self._xprd, self._yprd, self._zprd, self._temperature])
from pairs.ir.assign import Assign
from pairs.ir.block import pairs_inline
from pairs.ir.functions import Call_Int
from pairs.sim.lowerable import Lowerable
class DEMSCGrid(Lowerable):
def __init__(
self, sim, xmax, ymax, zmax, spacing, diameter, min_diameter, max_diameter, initial_velocity, particle_density, ntypes):
super().__init__(sim)
self._xmax = xmax
self._ymax = ymax
self._zmax = zmax
self._spacing = spacing
self._diameter = diameter
self._min_diameter = min_diameter
self._max_diameter = max_diameter
self._initial_velocity = initial_velocity
self._particle_density = particle_density
self._ntypes = ntypes
#sim.set_domain([0.0, 0.0, 0.0, self._xprd, self._yprd, self._zprd])
@pairs_inline
def lower(self):
Assign(self.sim, self.sim.nlocal,
Call_Int(self.sim, "pairs::dem_sc_grid",
[self._xmax, self._ymax, self._zmax, self._spacing, self._diameter, self._min_diameter, self._max_diameter,
self._initial_velocity, self._particle_density, self._ntypes]))
from pairs.ir.assign import Assign
from pairs.ir.block import pairs_inline
from pairs.ir.functions import Call_Int, Call_Void
from pairs.ir.particle_attributes import ParticleAttributeList
from pairs.ir.types import Types
from pairs.sim.grid import Grid3D
from pairs.sim.lowerable import Lowerable
class ComputeThermo(Lowerable):
def __init__(self, sim):
super().__init__(sim)
@pairs_inline
def lower(self):
xprd = self.sim.grid.length(0)
yprd = self.sim.grid.length(1)
zprd = self.sim.grid.length(2)
Call_Void(self.sim, "pairs::compute_thermo", [self.sim.nlocal, xprd, yprd, zprd, 1])
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment