def run(self): self.pushStatus("Preparing solver input...\n") # get mesh set data # TODO see calculix tasks get mesh set data mesh_obj = membertools.get_mesh_to_solve( self.analysis)[0] # pre check done already meshdatagetter = meshsetsgetter.MeshSetsGetter( self.analysis, self.solver, mesh_obj, membertools.AnalysisMember(self.analysis), ) meshdatagetter.get_mesh_sets() # write solver input w = writer.FemInputWriterZ88(self.analysis, self.solver, mesh_obj, meshdatagetter.member, self.directory) path = w.write_solver_input() # report to user if task succeeded if path is not None: self.pushStatus("Writing solver input completed.") else: self.pushStatus("Writing solver input failed.") self.fail()
def run(self): global _inputFileName self.pushStatus("Preparing input...\n") # get mesh set data # TODO evaluate if it makes sense to add new task # between check and prepare to the solver frame work mesh_obj = membertools.get_mesh_to_solve(self.analysis)[0] # pre check done already meshdatagetter = meshsetsgetter.MeshSetsGetter( self.analysis, self.solver, mesh_obj, membertools.AnalysisMember(self.analysis), ) meshdatagetter.get_mesh_sets() # write solver input w = writer.FemInputWriterCcx( self.analysis, self.solver, mesh_obj, meshdatagetter.member, self.directory, meshdatagetter.mat_geo_sets ) path = w.write_solver_input() # report to user if task succeeded if path != "" and os.path.isfile(path): self.pushStatus("Writing solver input completed.") else: self.pushStatus("Writing solver input failed.") self.fail() _inputFileName = os.path.splitext(os.path.basename(path))[0]
def run(self): self.pushStatus("Preparing input files...\n") w = writer.FemInputWriterZ88( self.analysis, self.solver, membertools.get_mesh_to_solve(self.analysis)[0], # pre check has been done already membertools.AnalysisMember(self.analysis), self.directory ) path = w.write_z88_input() # report to user if task succeeded if path is not None: self.pushStatus("Write completed!") else: self.pushStatus("Writing Z88 input files failed!")
def update_objects(self): ## @var mesh # mesh of the analysis. Used to generate .inp file and to show results self.mesh = None mesh, message = membertools.get_mesh_to_solve(self.analysis) if mesh is not None: self.mesh = mesh else: if FreeCAD.GuiUp: QtGui.QMessageBox.critical(None, "Missing prerequisite", message) raise Exception(message + "\n") ## @var members # members of the analysis. All except solvers and the mesh self.member = membertools.AnalysisMember(self.analysis)
def run(self): self.pushStatus("Checking analysis member...\n") self.check_mesh_exists() # workaround use Calculix ccxtools pre checks from femtools.checksanalysis import check_member_for_solver_calculix message = check_member_for_solver_calculix( self.analysis, self.solver, membertools.get_mesh_to_solve(self.analysis)[0], membertools.AnalysisMember(self.analysis)) if message: text = "CalculiX can not be started...\n" self.report.error("{}{}".format(text, message)) self.fail() return
def update_objects(self): ## @var mesh # mesh for the analysis self.mesh = None mesh, message = membertools.get_mesh_to_solve(self.analysis) if mesh is not None: self.mesh = mesh else: # the prerequisites will run anyway and they will print a message box anyway # thus do not print one here, but print a console warning FreeCAD.Console.PrintWarning( "{} The prerequisite check will fail.\n".format(message)) ## @var members # members of the analysis. All except the solver and the mesh self.member = membertools.AnalysisMember(self.analysis)
def run(self): global _inputFileName self.pushStatus("Preparing input files...\n") w = writer.FemInputWriterCcx( self.analysis, self.solver, membertools.get_mesh_to_solve( self.analysis)[0], # pre check has been done already membertools.AnalysisMember(self.analysis), self.directory) path = w.write_calculix_input_file() # report to user if task succeeded if path != "": self.pushStatus("Write completed!") else: self.pushStatus("Writing CalculiX input file failed!") _inputFileName = os.path.splitext(os.path.basename(path))[0]