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
Exemplo n.º 2
0
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.