#node.Fix(DISTANCE) if node.Y < 0.001 or node.Y > 0.14999: node.Fix(VELOCITY_Y) node.Fix(VELOCITY_X) if node.X > 0.49999 or node.X < 0.0001: node.Fix(VELOCITY_X) if node.Y > 0.1499: node.Fix(PRESSURE) node.SetSolutionStepValue(BODY_FORCE_Y, 0, -9.8) if node.Z < 0.0001 or node.Z > 0.049999: node.Fix(VELOCITY_Z) #creating a solver object maximum_nonlin_iterations = 10 #nonlinear problem solver = pfem2_solver.PFEM2Solver(model_part, domain_size, maximum_nonlin_iterations) solver.time_order = 1 solver.echo_level = 1 solver.Initialize() mesh_name = 0.0 gid_io.InitializeMesh(mesh_name) gid_io.WriteMesh((model_part).GetMesh()) gid_io.FinalizeMesh() gid_io.InitializeResults(mesh_name, (model_part).GetMesh()) nsteps = 202 Dt = 0.005 out = 0 out_step = 1
if node.X > 0.999 or node.X < 0.0001: node.Fix(VELOCITY_X) node.Fix(FRACT_VEL_X) if node.Y > 3.999 or node.Y < 0.0001: node.Fix(FRACT_VEL_Y) node.Fix(VELOCITY_Y) #the buffer size should be set up here after the mesh is read for the first time (this is important for transcient problems, in this static problem =1 is enough) model_part.SetBufferSize(2) # we add the DoFs pfem_2_solver.AddDofs(model_part) #creating a solver object solver = pfem_2_solver.PFEM2Solver(model_part, domain_size) solver.time_order = 1 solver.echo_level = 3 solver.Initialize() mesh_name = 0.0 gid_io.InitializeMesh(mesh_name) gid_io.WriteMesh((model_part).GetMesh()) gid_io.FinalizeMesh() gid_io.InitializeResults(mesh_name, (model_part).GetMesh()) nsteps = 1000 Dt = 0.02 out = 0