import itasca as it from itasca import cfdarray as ca from itasca.util import p2pLinkServer import numpy as np cfd_link = p2pLinkServer() cfd_link.start() nodes = cfd_link.read_data() elements = cfd_link.read_data() fluid_density = cfd_link.read_data() fluid_viscosity = cfd_link.read_data() it.command("call ../fluidized_bed_4/make_ini.p3dat") ca.create_mesh(nodes, elements) it.command(""" config cfd element cfd ini density {} element cfd ini visc {} cfd porosity poly cfd buoy on cfd interval 0 element cfd history id 3 zvelocity id 1 plot add hist 2 vs 1 """.format(fluid_density, fluid_viscosity)) element_volume = ca.volume() oldu = ca.velocity() old_force = (ca.drag().T/element_volume).T/fluid_density
nodes = cfd_link.read_data() elements = cfd_link.read_data() fluid_density = cfd_link.read_data() fluid_viscosity = cfd_link.read_data() print fluid_density, fluid_viscosity nmin, nmax = np.amin(nodes,axis=0), np.amax(nodes,axis=0) diag = np.linalg.norm(nmin-nmax) dmin, dmax = nmin -0.1*diag, nmax+0.1*diag print dmin, dmax it.command(""" new domain extent {} {} {} {} {} {} """.format(dmin[0], dmax[0], dmin[1], dmax[1], dmin[2], dmax[2])) ca.create_mesh(nodes, elements) it.command(""" config cfd element cfd ini density {} element cfd ini visc {} cfd porosity poly cfd buoy on cfd relax 1 cfd update call particles.p3dat """.format(fluid_density, fluid_viscosity)) element_volume = ca.volume() dt = 0.005