FEM: solver calculix, use single quotes instead of double ones
This commit is contained in:
@@ -179,47 +179,47 @@ class Proxy(solverbase.Proxy):
|
||||
|
||||
ccx_default_time_incrementation_control_parameter = {
|
||||
# iteration parameter
|
||||
'I_0': 4,
|
||||
'I_R': 8,
|
||||
'I_P': 9,
|
||||
'I_C': 200, # ccx default = 16
|
||||
'I_L': 10,
|
||||
'I_G': 400, # ccx default = 4
|
||||
'I_S': None,
|
||||
'I_A': 200, # ccx default = 5
|
||||
'I_J': None,
|
||||
'I_T': None,
|
||||
"I_0": 4,
|
||||
"I_R": 8,
|
||||
"I_P": 9,
|
||||
"I_C": 200, # ccx default = 16
|
||||
"I_L": 10,
|
||||
"I_G": 400, # ccx default = 4
|
||||
"I_S": None,
|
||||
"I_A": 200, # ccx default = 5
|
||||
"I_J": None,
|
||||
"I_T": None,
|
||||
# cutback parameter
|
||||
'D_f': 0.25,
|
||||
'D_C': 0.5,
|
||||
'D_B': 0.75,
|
||||
'D_A': 0.85,
|
||||
'D_S': None,
|
||||
'D_H': None,
|
||||
'D_D': 1.5,
|
||||
'W_G': None}
|
||||
"D_f": 0.25,
|
||||
"D_C": 0.5,
|
||||
"D_B": 0.75,
|
||||
"D_A": 0.85,
|
||||
"D_S": None,
|
||||
"D_H": None,
|
||||
"D_D": 1.5,
|
||||
"W_G": None}
|
||||
p = ccx_default_time_incrementation_control_parameter
|
||||
p_iter = '{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}'.format(
|
||||
p['I_0'],
|
||||
p['I_R'],
|
||||
p['I_P'],
|
||||
p['I_C'],
|
||||
p['I_L'],
|
||||
p['I_G'],
|
||||
'',
|
||||
p['I_A'],
|
||||
'',
|
||||
''
|
||||
p_iter = "{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}".format(
|
||||
p["I_0"],
|
||||
p["I_R"],
|
||||
p["I_P"],
|
||||
p["I_C"],
|
||||
p["I_L"],
|
||||
p["I_G"],
|
||||
"",
|
||||
p["I_A"],
|
||||
"",
|
||||
""
|
||||
)
|
||||
p_cutb = '{0},{1},{2},{3},{4},{5},{6},{7}'.format(
|
||||
p['D_f'],
|
||||
p['D_C'],
|
||||
p['D_B'],
|
||||
p['D_A'],
|
||||
'',
|
||||
'',
|
||||
p['D_D'],
|
||||
''
|
||||
p_cutb = "{0},{1},{2},{3},{4},{5},{6},{7}".format(
|
||||
p["D_f"],
|
||||
p["D_C"],
|
||||
p["D_B"],
|
||||
p["D_A"],
|
||||
"",
|
||||
"",
|
||||
p["D_D"],
|
||||
""
|
||||
)
|
||||
obj.addProperty(
|
||||
"App::PropertyString",
|
||||
|
||||
@@ -99,7 +99,7 @@ class Solve(run.Solve):
|
||||
if not _inputFileName:
|
||||
# TODO do not run solver
|
||||
# do not try to read results in a smarter way than an Exception
|
||||
raise Exception('Error on writing CalculiX input file.\n')
|
||||
raise Exception("Error on writing CalculiX input file.\n")
|
||||
self.pushStatus("Executing solver...\n")
|
||||
binary = settings.get_binary("Calculix")
|
||||
self._process = subprocess.Popen(
|
||||
@@ -122,7 +122,7 @@ class Results(run.Results):
|
||||
if not _inputFileName:
|
||||
# TODO do not run solver
|
||||
# do not try to read results in a smarter way than an Exception
|
||||
raise Exception('Error on writing CalculiX input file.\n')
|
||||
raise Exception("Error on writing CalculiX input file.\n")
|
||||
prefs = FreeCAD.ParamGet(
|
||||
"User parameter:BaseApp/Preferences/Mod/Fem/General")
|
||||
if not prefs.GetBool("KeepResultsOnReRun", False):
|
||||
@@ -139,30 +139,30 @@ class Results(run.Results):
|
||||
|
||||
def load_results_ccxfrd(self):
|
||||
frd_result_file = os.path.join(
|
||||
self.directory, _inputFileName + '.frd')
|
||||
self.directory, _inputFileName + ".frd")
|
||||
if os.path.isfile(frd_result_file):
|
||||
result_name_prefix = 'CalculiX_' + self.solver.AnalysisType + '_'
|
||||
result_name_prefix = "CalculiX_" + self.solver.AnalysisType + "_"
|
||||
importCcxFrdResults.importFrd(
|
||||
frd_result_file, self.analysis, result_name_prefix)
|
||||
else:
|
||||
raise Exception(
|
||||
'FEM: No results found at {}!'.format(frd_result_file))
|
||||
"FEM: No results found at {}!".format(frd_result_file))
|
||||
|
||||
def load_results_ccxdat(self):
|
||||
dat_result_file = os.path.join(
|
||||
self.directory, _inputFileName + '.dat')
|
||||
self.directory, _inputFileName + ".dat")
|
||||
if os.path.isfile(dat_result_file):
|
||||
mode_frequencies = importCcxDatResults.import_dat(
|
||||
dat_result_file, self.analysis)
|
||||
else:
|
||||
raise Exception(
|
||||
'FEM: No .dat results found at {}!'.format(dat_result_file))
|
||||
"FEM: No .dat results found at {}!".format(dat_result_file))
|
||||
if mode_frequencies:
|
||||
for m in femutils.get_member(self.analysis, "Fem::FemResultObject"):
|
||||
if m.Eigenmode > 0:
|
||||
for mf in mode_frequencies:
|
||||
if m.Eigenmode == mf['eigenmode']:
|
||||
m.EigenmodeFrequency = mf['frequency']
|
||||
if m.Eigenmode == mf["eigenmode"]:
|
||||
m.EigenmodeFrequency = mf["frequency"]
|
||||
|
||||
|
||||
class _Container(object):
|
||||
@@ -181,69 +181,69 @@ class _Container(object):
|
||||
"Missing prerequisite",
|
||||
message
|
||||
)
|
||||
raise Exception(message + '\n')
|
||||
raise Exception(message + "\n")
|
||||
|
||||
# get member
|
||||
# materials
|
||||
std_mats = self.get_several_member(
|
||||
'Fem::Material'
|
||||
"Fem::Material"
|
||||
)
|
||||
rei_mats = self.get_several_member(
|
||||
'Fem::MaterialReinforced'
|
||||
"Fem::MaterialReinforced"
|
||||
)
|
||||
self.materials_linear = std_mats + rei_mats
|
||||
|
||||
self.materials_nonlinear = self.get_several_member(
|
||||
'Fem::MaterialMechanicalNonlinear'
|
||||
"Fem::MaterialMechanicalNonlinear"
|
||||
)
|
||||
|
||||
# geometries
|
||||
self.beam_sections = self.get_several_member(
|
||||
'Fem::FemElementGeometry1D'
|
||||
"Fem::FemElementGeometry1D"
|
||||
)
|
||||
self.beam_rotations = self.get_several_member(
|
||||
'Fem::FemElementRotation1D'
|
||||
"Fem::FemElementRotation1D"
|
||||
)
|
||||
self.fluid_sections = self.get_several_member(
|
||||
'Fem::FemElementFluid1D'
|
||||
"Fem::FemElementFluid1D"
|
||||
)
|
||||
self.shell_thicknesses = self.get_several_member(
|
||||
'Fem::FemElementGeometry2D'
|
||||
"Fem::FemElementGeometry2D"
|
||||
)
|
||||
|
||||
# constraints
|
||||
self.constraints_contact = self.get_several_member(
|
||||
'Fem::ConstraintContact'
|
||||
"Fem::ConstraintContact"
|
||||
)
|
||||
self.constraints_displacement = self.get_several_member(
|
||||
'Fem::ConstraintDisplacement'
|
||||
"Fem::ConstraintDisplacement"
|
||||
)
|
||||
self.constraints_fixed = self.get_several_member(
|
||||
'Fem::ConstraintFixed'
|
||||
"Fem::ConstraintFixed"
|
||||
)
|
||||
self.constraints_force = self.get_several_member(
|
||||
'Fem::ConstraintForce'
|
||||
"Fem::ConstraintForce"
|
||||
)
|
||||
self.constraints_heatflux = self.get_several_member(
|
||||
'Fem::ConstraintHeatflux'
|
||||
"Fem::ConstraintHeatflux"
|
||||
)
|
||||
self.constraints_initialtemperature = self.get_several_member(
|
||||
'Fem::ConstraintInitialTemperature'
|
||||
"Fem::ConstraintInitialTemperature"
|
||||
)
|
||||
self.constraints_planerotation = self.get_several_member(
|
||||
'Fem::ConstraintPlaneRotation'
|
||||
"Fem::ConstraintPlaneRotation"
|
||||
)
|
||||
self.constraints_pressure = self.get_several_member(
|
||||
'Fem::ConstraintPressure'
|
||||
"Fem::ConstraintPressure"
|
||||
)
|
||||
self.constraints_selfweight = self.get_several_member(
|
||||
'Fem::ConstraintSelfWeight'
|
||||
"Fem::ConstraintSelfWeight"
|
||||
)
|
||||
self.constraints_temperature = self.get_several_member(
|
||||
'Fem::ConstraintTemperature'
|
||||
"Fem::ConstraintTemperature"
|
||||
)
|
||||
self.constraints_transform = self.get_several_member(
|
||||
'Fem::ConstraintTransform'
|
||||
"Fem::ConstraintTransform"
|
||||
)
|
||||
|
||||
def get_several_member(self, t):
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user