Beispiel #1
0
 def create_new_solver(self):
     self.solver_object = FemSolverCalculix.makeFemSolverCalculix('CalculiX')
     self.solver_object.GeometricalNonlinearity = 'linear'
     self.solver_object.SteadyState = True
     self.solver_object.MatrixSolverType = 'default'
     self.solver_object.IterationsControlParameterTimeUse = False
     self.active_doc.recompute()
Beispiel #2
0
 def create_new_solver(self):
     self.solver_object = FemSolverCalculix.makeFemSolverCalculix('CalculiX')
     self.solver_object.GeometricalNonlinearity = 'linear'
     self.solver_object.ThermoMechSteadyState = True
     self.solver_object.MatrixSolverType = 'default'
     self.solver_object.IterationsThermoMechMaximum = 2000
     self.solver_object.IterationsControlParameterTimeUse = True
     self.active_doc.recompute()
Beispiel #3
0
 def create_new_solver(self):
     self.solver_object = FemSolverCalculix.makeFemSolverCalculix('CalculiX')
     self.solver_object.GeometricalNonlinearity = 'linear'
     self.solver_object.ThermoMechSteadyState = False
     self.solver_object.MatrixSolverType = 'default'
     self.solver_object.IterationsControlParameterTimeUse = False
     self.solver_object.EigenmodesCount = 10
     self.solver_object.EigenmodeHighLimit = 1000000.0
     self.solver_object.EigenmodeLowLimit = 0.0
     self.active_doc.recompute()
Beispiel #4
0
 def create_new_solver(self):
     self.solver_object = FemSolverCalculix.makeFemSolverCalculix('CalculiX')
     self.solver_object.GeometricalNonlinearity = 'linear'
     self.solver_object.ThermoMechSteadyState = False
     self.solver_object.MatrixSolverType = 'default'
     self.solver_object.IterationsControlParameterTimeUse = False
     self.solver_object.EigenmodesCount = 10
     self.solver_object.EigenmodeHighLimit = 1000000.0
     self.solver_object.EigenmodeLowLimit = 0.0
     self.active_doc.recompute()
Beispiel #5
0
 def create_new_solver(self):
     self.solver_object = FemSolverCalculix.makeFemSolverCalculix(
         'CalculiX')
     self.active_doc.recompute()
Beispiel #6
0
def PrintError(message):
    FreeCAD.Console.PrintError("FEM Error: {}".format(message))


doc = FreeCAD.ActiveDocument

box = cq.Workplane("XY").box(10, 10, 10).val().wrapped
newFeature = doc.addObject('Part::Feature', 'Box')
newFeature.Shape = box

FemAnalysis.makeFemAnalysis('Analysis')
FemGui.setActiveAnalysis(FreeCAD.ActiveDocument.Analysis)

# solver
solver_object = FemSolverCalculix.makeFemSolverCalculix('CalculiX')
solver_object.GeometricalNonlinearity = 'linear'
solver_object.SteadyState = True
solver_object.MatrixSolverType = 'default'
solver_object.IterationsControlParameterTimeUse = False
doc.Analysis.Member = doc.Analysis.Member + [solver_object]

# material
material_object = MechanicalMaterial.\
    makeMechanicalMaterial('MechanicalMaterial')
mat = material_object.Material
mat['Name'] = "Steel-Generic"
mat['YoungsModulus'] = "210000 MPa"
mat['PoissonRatio'] = "0.30"
mat['Density'] = "7900 kg/m^3"
material_object.Material = mat
Beispiel #7
0
 def create_new_solver(self):
     self.solver_object = FemSolverCalculix.makeFemSolverCalculix('CalculiX')
     self.active_doc.recompute()