def create_equations(self): equations = [ Group(equations=[ LiuFluidForce( dest='fluid', sources=None, ), XSPHCorrection(dest='fluid', sources=[ 'fluid', ]), TaitEOS(dest='fluid', sources=None, rho0=1000, c0=1498, gamma=7.0), ], real=False), Group(equations=[ ContinuityEquation(dest='fluid', sources=[ 'fluid', ]), MomentumEquation(dest='fluid', sources=['fluid'], alpha=0.1, beta=0.0, c0=1498, gy=-9.81), XSPHCorrection(dest='fluid', sources=['fluid']), ]), ] return equations
def create_equations(self): equations = [ Group(equations=[ BodyForce(dest='cube', sources=None, gy=-9.81), SummationDensity(dest='cube', sources=['fluid', 'cube']) ], real=False), Group(equations=[ TaitEOSHGCorrection(dest='cube', sources=None, rho0=self.solid_rho, c0=self.co, gamma=7.0), TaitEOSHGCorrection(dest='fluid', sources=None, rho0=self.ro, c0=self.co, gamma=7.0), TaitEOSHGCorrection(dest='tank', sources=None, rho0=self.ro, c0=self.co, gamma=7.0), ], real=False), Group(equations=[ ContinuityEquation( dest='fluid', sources=['fluid', 'tank', 'cube'], ), ContinuityEquation( dest='tank', sources=['fluid', 'tank', 'cube'], ), MomentumEquation(dest='fluid', sources=['fluid', 'tank', 'cube'], alpha=self.alpha, beta=0.0, c0=self.co, gy=-9.81), LiuFluidForce( dest='fluid', sources=['cube'], ), XSPHCorrection(dest='fluid', sources=['fluid', 'tank']), ]), Group(equations=[ RigidBodyCollision(dest='cube', sources=['tank'], kn=1e5) ]), Group(equations=[RigidBodyMoments(dest='cube', sources=None)]), Group(equations=[RigidBodyMotion(dest='cube', sources=None)]), ] return equations
def create_equations(self): eqns = self.scheme.get_equations() eqn1 = Group(equations=[ BodyForce(dest='cube', sources=None, gy=-9.81), RigidBodyCollision(dest='cube', sources=['wall', 'cube'], kn=1.0e5, en=0.8), LiuFluidForce(dest='fluid', sources=['cube'])], real=False) eqn2 = Group(equations=[ GroupParticles('cube', xmin=0.0, xmax=4.0, periodic_in_x=True)], real=False) eqn3 = Group(equations=[ RigidBodyMoments(dest='cube', sources=None)], real=False) eqn4 = Group(equations=[ RigidBodyMotion(dest='cube', sources=None)], real=False) eqns.append(eqn1) eqns.append(eqn2) eqns.append(eqn3) eqns.append(eqn4) return eqns
def create_equations(self): eqns = self.scheme.get_equations() eqn1 = Group(equations=[ BodyForce(dest='obstacle', sources=None, gy=-9.81), RigidBodyCollision(dest='obstacle', sources=['wall'], kn=1.0e4, en=0.8) ], real=False) eqn2 = Group( equations=[LiuFluidForce(dest='fluid', sources=['obstacle'])]) eqn3 = Group( equations=[RigidBodyMoments(dest='obstacle', sources=None)]) eqn4 = Group( equations=[RigidBodyMotion(dest='obstacle', sources=None)]) eqns.append(eqn1) eqns.append(eqn2) eqns.append(eqn3) eqns.append(eqn4) return eqns
def create_equations(self): equations = [ Group( equations=[ BodyForce(dest='cube', sources=None, gy=-9.81), BodyForce(dest='wood', sources=None, gy=-9.81), BodyForce(dest='small_tank', sources=None, gy=-9.81), BodyForce(dest='outside', sources=None, gy=-9.81), SummationDensity(dest='cube', sources=['fluid', 'cube']), SummationDensity(dest='wood', sources=['fluid', 'wood']), SummationDensity(dest='small_tank', sources=['fluid', 'small_tank']), SummationDensity(dest='outside', sources=['fluid', 'outside']) # NumberDensity(dest='cube', sources=['cube']), ], real=False), Group(equations=[ TaitEOSHGCorrection(dest='wood', sources=None, rho0=self.wood_rho, c0=self.co, gamma=7.0), TaitEOSHGCorrection(dest='cube', sources=None, rho0=self.solid_rho, c0=self.co, gamma=7.0), TaitEOSHGCorrection(dest='fluid', sources=None, rho0=self.ro, c0=self.co, gamma=7.0), TaitEOSHGCorrection(dest='big_tank', sources=None, rho0=self.ro, c0=self.co, gamma=7.0), TaitEOSHGCorrection(dest='small_tank', sources=None, rho0=self.wood_rho, c0=self.co, gamma=7.0), TaitEOSHGCorrection(dest='outside', sources=None, rho0=self.ro, c0=self.co, gamma=7.0), ], real=False), Group(equations=[ ContinuityEquation( dest='fluid', sources=[ 'fluid', 'small_tank', 'cube', 'wood', 'big_tank', 'outside' ], ), ContinuityEquation( dest='big_tank', sources=[ 'fluid', 'big_tank', 'cube', 'wood', 'small_tank', 'outside' ], ), MomentumEquation(dest='fluid', sources=['fluid', 'big_tank'], alpha=self.alpha, beta=0.0, c0=self.co, gy=-9.81), LiuFluidForce( dest='fluid', sources=['cube'], ), LiuFluidForce( dest='fluid', sources=['wood'], ), LiuFluidForce( dest='fluid', sources=['small_tank'], ), LiuFluidForce( dest='fluid', sources=['outside'], ), # PressureRigidBody(dest='fluid', sources=['cube'], # rho0=1500), XSPHCorrection(dest='fluid', sources=['fluid', 'big_tank']), ]), Group(equations=[ RigidBodyCollision( dest='cube', sources=['big_tank', 'wood', 'small_tank', 'outside'], kn=1e6) ]), Group(equations=[RigidBodyMoments(dest='cube', sources=None)]), Group(equations=[RigidBodyMotion(dest='cube', sources=None)]), Group(equations=[ RigidBodyCollision( dest='wood', sources=['big_tank', 'cube', 'small_tank', 'outside'], kn=1e6) ]), Group(equations=[RigidBodyMoments(dest='wood', sources=None)]), Group(equations=[RigidBodyMotion(dest='wood', sources=None)]), Group(equations=[ RigidBodyCollision( dest='small_tank', sources=['big_tank', 'cube', 'wood', 'outside'], kn=1e6) ]), Group( equations=[RigidBodyMoments(dest='small_tank', sources=None)]), Group( equations=[RigidBodyMotion(dest='small_tank', sources=None)]), Group(equations=[ RigidBodyCollision( dest='outside', sources=['big_tank', 'cube', 'small_tank', 'wood'], kn=1e6) ]), Group(equations=[RigidBodyMoments(dest='outside', sources=None)]), Group(equations=[RigidBodyMotion(dest='outside', sources=None)]), ] return equations