def AddVariables(model_part): print(distance_settings) # variables needed for the fluid solver monolithic_solver_eulerian.AddVariables(model_part) model_part.AddNodalSolutionStepVariable(DISTANCE) model_part.AddNodalSolutionStepVariable(NODAL_AREA) model_part.AddNodalSolutionStepVariable(IS_STRUCTURE) # variables needed for the distance solver pureconvection_solver.AddVariables(model_part, distance_settings) thermal_solver.AddVariables(model_part, temperature_settings)
def AddVariables(model_part): # displacements model_part.AddNodalSolutionStepVariable(DISPLACEMENT) # velocities model_part.AddNodalSolutionStepVariable(VELOCITY) # model_part.AddNodalSolutionStepVariable(FRACT_VEL); model_part.AddNodalSolutionStepVariable(MESH_VELOCITY) model_part.AddNodalSolutionStepVariable(CONV_PROJ) model_part.AddNodalSolutionStepVariable(CONVECTION_VELOCITY) model_part.AddNodalSolutionStepVariable(TEMP_CONV_PROJ) # pressures model_part.AddNodalSolutionStepVariable(PRESSURE) model_part.AddNodalSolutionStepVariable(PRESSURE_OLD_IT) model_part.AddNodalSolutionStepVariable(PRESS_PROJ) model_part.AddNodalSolutionStepVariable(EXTERNAL_PRESSURE) # gravity model_part.AddNodalSolutionStepVariable(BODY_FORCE) # material properties model_part.AddNodalSolutionStepVariable(NODAL_MASS) model_part.AddNodalSolutionStepVariable(DENSITY) model_part.AddNodalSolutionStepVariable(VISCOSITY) model_part.AddNodalSolutionStepVariable(POROSITY) model_part.AddNodalSolutionStepVariable(IS_STRUCTURE) model_part.AddNodalSolutionStepVariable(NORMAL) model_part.AddNodalSolutionStepVariable(DISTANCE) model_part.AddNodalSolutionStepVariable(NODAL_AREA) model_part.AddNodalSolutionStepVariable(IS_INTERFACE) # model_part.AddNodalSolutionStepVariable(IS_BOUNDARY) # model_part.AddNodalSolutionStepVariable(IS_FLUID) # model_part.AddNodalSolutionStepVariable(IS_FREE_SURFACE) model_part.AddNodalSolutionStepVariable(ARRHENIUS) model_part.AddNodalSolutionStepVariable(IS_DIVIDED) model_part.AddNodalSolutionStepVariable(AUX_INDEX) model_part.AddNodalSolutionStepVariable(DIAMETER) # ...aqui lista variables para utilizar # adding the variables of the Monolithic Solver monolithic_solver_eulerian.AddVariables(model_part) # adding of Variables to Model Part should be here when the "very fix # container will be ready" print("variables for the level set solver added correctly")
output += str(node.GetSolutionStepValue(AIR_PRESSURE)) + "\n" filename.write(output) # # # # importing the solvers needed SolverType = pfem_var.SolverType if (SolverType == "FractionalStep"): import incompressible_fluid_solver incompressible_fluid_solver.AddVariables(fluid_model_part) elif (SolverType == "monolithic_solver_eulerian"): import monolithic_solver_eulerian monolithic_solver_eulerian.AddVariables(fluid_model_part) elif (SolverType == "monolithic_solver_eulerian_compressible"): import monolithic_solver_eulerian_compressible monolithic_solver_eulerian_compressible.AddVariables(fluid_model_part) elif (SolverType == "monolithic_solver_lagrangian"): import monolithic_solver_lagrangian_contact monolithic_solver_lagrangian_contact.AddVariables(fluid_model_part) else: raise "solver type not supported: options are FractionalStep - Monolithic" # introducing input file name input_file_name = pfem_var.problem_name # reading the fluid part gid_mode = GiDPostMode.GiD_PostBinary multifile = MultiFileFlag.MultipleFiles
# Problem definition # domain_size = 2 problem_name = "trapezoid" dynamic_tau = 1.0 oss_switch = 1 print_output = False time_step = 0.1 max_time = 1.0 # assuming Density = 1.0, Viscosity = 1.0 # mdpa assings this, as well as FLAG_VARIABLE=1.0 in the contour # Import solver and define solution step data import monolithic_solver_eulerian as monolithic_solver monolithic_solver.AddVariables(fluid_model_part) # reading the fluid part gid_mode = GiDPostMode.GiD_PostBinary multifile = MultiFileFlag.SingleFile deformed_mesh_flag = WriteDeformedMeshFlag.WriteUndeformed write_conditions = WriteConditionsFlag.WriteElementsOnly gid_io = GidIO(problem_name, gid_mode, multifile, deformed_mesh_flag, write_conditions) model_part_io_fluid = ModelPartIO(problem_name) model_part_io_fluid.ReadModelPart(fluid_model_part) # setting up the buffer size: SHOULD BE DONE AFTER READING!!! fluid_model_part.SetBufferSize(3) # adding dofs