예제 #1
0
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)
예제 #2
0
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")
예제 #3
0
    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
예제 #4
0
# 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