for patch_ in myMesh.patches: patch_length = len(patch_.faces) temp_vector = numpy.zeros((patch_length,3)) for face_i,face_ in enumerate(patch_.faces): face_x = face_.C[0] face_y = face_.C[1] temp_vector[face_i][0] = -1. temp_vector[face_i][1] = 1. U.get_patch(patch_.name).set_patch_distributed(temp_vector, "fixedValue") U.update_boundary_values() # create rho field rho = fields.ScalarField(myMesh, "rho", 1.0) # create massflux field m_dot = calcfield.MassFlux(U, rho) # create vector field with boundary conditions phi = fields.VectorField(myMesh, "phi_vec", [1., 10., 100.]) phi.get_patch("phi0" ).set_patch_uniform([0., 9., 90.], "fixedValue" ) phi.get_patch("phi1" ).set_patch_uniform([1., 10., 100.], "fixedValue" ) phi.get_patch("outlet" ).set_patch_uniform(0., "fixedGradient") phi.get_patch("frontAndBack").set_patch_uniform(0., "fixedGradient") # create time loop save_fields = [U,phi] start_time = 0. stop_time = 0.2 time_step = 0.001 save_step = 0.01
p_bef = fields.ScalarField(myMesh, "p_bef") p_bef.copy_field(p) ###################################### # create and initialize field p_corr p_corr = fields.ScalarField(myMesh, "p_corr", 0.) p_corr.get_patch("inlet").set_patch_uniform(0., "fixedGradient") p_corr.get_patch("walls").set_patch_uniform(0., "fixedGradient") p_corr.get_patch("frontAndRear").set_patch_uniform(0., "fixedGradient") # create rho field rho = fields.ScalarField(myMesh, "rho", 1.) one_over_rho = fields.ScalarField(myMesh, "1_rho", 1.) # create massflux field m_dot = calcfield.MassFlux(U, rho) m_dot_old = fields.SurfaceScalarField( myMesh, "massFlux_old", ) m_dot_old.copy_field(m_dot) # set Reynolds number Re = 10 nu = 1. * 0.1 / Re # create time loop save_fields = [U, p, p_corr, p_bef, p_old] # run settings start_time = 0.