def create_scheme(self): wcsph = WCSPHScheme( ['fluid'], ['boundary'], dim=2, rho0=ro, c0=co, h0=h, hdx=1.3, gy=-9.81, alpha=alpha, beta=beta, gamma=gamma, hg_correction=True, update_h=True ) aha = AdamiHuAdamsScheme( fluids=['fluid'], solids=['boundary'], dim=2, c0=co, nu=nu, rho0=ro, h0=h, p0=0.0, gy=-g, gamma=1.0, tdamp=0.0, alpha=alpha ) edac = EDACScheme( fluids=['fluid'], solids=['boundary'], dim=2, c0=co, nu=nu, rho0=ro, h=h, pb=0.0, gy=-g, eps=0.0, clamp_p=True ) iisph = IISPHScheme( fluids=['fluid'], solids=['boundary'], dim=2, nu=nu, rho0=ro, gy=-g ) gtvf = GTVFScheme( fluids=['fluid'], solids=['boundary'], dim=2, nu=nu, rho0=ro, gy=-g, h0=None, c0=co, pref=None ) sisph = SISPHScheme( fluids=['fluid'], solids=['boundary'], dim=2, nu=nu, c0=co, rho0=ro, alpha=0.05, gy=-g, pref=ro*co**2, internal_flow=False, hg_correction=True, gtvf=True, symmetric=True ) s = SchemeChooser(default='wcsph', wcsph=wcsph, aha=aha, edac=edac, iisph=iisph, gtvf=gtvf, sisph=sisph) return s
def create_scheme(self): h0 = None hdx = None wcsph = WCSPHScheme( ['fluid'], [], dim=2, rho0=rho0, c0=c0, h0=h0, hdx=hdx, nu=None, gamma=7.0, alpha=0.0, beta=0.0 ) tvf = TVFScheme( ['fluid'], [], dim=2, rho0=rho0, c0=c0, nu=None, p0=p0, pb=None, h0=h0 ) edac = EDACScheme( ['fluid'], [], dim=2, rho0=rho0, c0=c0, nu=None, pb=p0, h=h0 ) iisph = IISPHScheme( fluids=['fluid'], solids=[], dim=2, nu=None, rho0=rho0, has_ghosts=True ) crksph = CRKSPHScheme( fluids=['fluid'], dim=2, nu=None, rho0=rho0, h0=h0, c0=c0, p0=0.0 ) gtvf = GTVFScheme( fluids=['fluid'], dim=2, rho0=rho0, c0=c0, nu=None, h0=None, p0=p0, pref=None ) pcisph = PCISPHScheme( fluids=['fluid'], dim=2, rho0=rho0, nu=None ) s = SchemeChooser( default='tvf', wcsph=wcsph, tvf=tvf, edac=edac, iisph=iisph, crksph=crksph, gtvf=gtvf, pcisph=pcisph ) return s