예제 #1
0
    def AddNodalVariablesToModelPart(self):

        # Add variables (always before importing the model part)
        self.solver.AddVariables()

        # Add PfemSolidMechanicsApplication Variables
        import pfem_solid_variables
        pfem_solid_variables.AddVariables(self.main_model_part)
    def AddNodalVariablesToModelPart(self):

        # Add variables (always before importing the model part)
        self.solver.AddVariables()
        self.AddFluidVariablesBySwimmingDEMAlgorithm()
        self.main_model_part.AddNodalSolutionStepVariable(
            KratosMultiphysics.BODY_FORCE)

        # Add PfemSolidMechanicsApplication Variables
        import pfem_solid_variables
        pfem_solid_variables.AddVariables(self.main_model_part)
예제 #3
0
    ProjectParameters["problem_data"]["model_part_name"].GetString():
    main_model_part
}

#construct the solver (main setting methods are located in the solver_module)
solver_module = __import__(
    ProjectParameters["solver_settings"]["solver_type"].GetString())
solver = solver_module.CreateSolver(main_model_part,
                                    ProjectParameters["solver_settings"])

# Add variables (always before importing the model part)
solver.AddVariables()

# Add PfemSolidMechanicsApplication Variables
import pfem_solid_variables
pfem_solid_variables.AddVariables(main_model_part)

# Read model_part (note: the buffer_size is set here) (restart is read here)
solver.ImportModelPart()
#reset the time step. if the problem is reloaded. there
main_model_part.ProcessInfo.SetValue(
    KratosMultiphysics.DELTA_TIME,
    ProjectParameters["problem_data"]["time_step"].GetDouble())

# Add dofs (always after importing the model part)
if ((main_model_part.ProcessInfo).Has(KratosMultiphysics.IS_RESTARTED)):
    if (main_model_part.ProcessInfo[KratosMultiphysics.IS_RESTARTED] == False):
        solver.AddDofs()
else:
    solver.AddDofs()