FEM: source code typos, issue 0002914

This commit is contained in:
Kunda
2017-02-28 11:51:07 +01:00
committed by wmayer
parent 35e66aca8e
commit 90aeb372f5
19 changed files with 43 additions and 43 deletions

View File

@@ -93,7 +93,7 @@ TYPESYSTEM_SOURCE(Fem::FemMesh , Base::Persistence);
FemMesh::FemMesh()
{
//Base::Console().Log("FemMesh::FemMesh():%p (id=%i)\n",this,StatCount);
// create a mesh allways with new StudyId to avoid overlapping destruction
// create a mesh always with new StudyId to avoid overlapping destruction
myMesh = getGenerator()->CreateMesh(StatCount++,false);
}
@@ -1126,7 +1126,7 @@ void FemMesh::writeABAQUS(const std::string &Filename) const
//
// tetras
// master 0.14 release
// changed to this in August 2013, commited by juergen (jriedel)
// changed to this in August 2013, committed by juergen (jriedel)
// https://github.com/FreeCAD/FreeCAD/commit/af56b324b9566b20f3b6e7880c29354c1dbe7a99
//std::vector<int> c3d4 = boost::assign::list_of(0)(3)(1)(2);
//std::vector<int> c3d10 = boost::assign::list_of(0)(2)(1)(3)(6)(5)(4)(7)(9)(8);

View File

@@ -989,7 +989,7 @@ PyObject* FemMeshPy::getGroupElements(PyObject *args)
return Py::new_reference_to(tuple);
}
// ===== Atributes ============================================================
// ===== Attributes ============================================================
Py::Dict FemMeshPy::getNodes(void) const
{

View File

@@ -60,7 +60,7 @@ FemPostPipeline::FemPostPipeline()
ADD_PROPERTY_TYPE(Filter, (0), "Pipeline", App::Prop_None, "The filter used in in this pipeline");
ADD_PROPERTY_TYPE(Functions, (0), "Pipeline", App::Prop_Hidden, "The function provider which groups all pipeline functions");
ADD_PROPERTY_TYPE(Mode,(long(0)), "Pipeline", App::Prop_None, "Selects the pipeline data transition mode. In serial every filter"
"gets the output of the previous one as input, in parrallel every"
"gets the output of the previous one as input, in parallel every"
"filter gets the pipelien source as input.");
Mode.setEnums(ModeEnums);
}

View File

@@ -129,7 +129,7 @@ class FemGmshTools():
def get_dimension(self):
# Dimension
# known_element_dimensions = ['From Shape', '1D', '2D', '3D']
# if not given, GMSH uses the hightest availabe.
# if not given, GMSH uses the hightest available.
# A use case for not "From Shape" would be a surface (2D) mesh of a solid
if self.dimension == 'From Shape':
shty = self.part_obj.Shape.ShapeType

View File

@@ -200,7 +200,7 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter):
inpfileMain.write('** written by femmesh.writeABAQUS\n')
inpfileMain.write('*INCLUDE,INPUT=' + include_name + "_Node_Elem_sets.inp \n")
# create seperate inputfiles for each node set or constraint
# create separate inputfiles for each node set or constraint
if self.fixed_objects or self.displacement_objects or self.planerotation_objects:
inpfileNodes = open(name + "_Node_sets.inp", 'w')
if self.analysis_type == "thermomech" and self.temperature_objects:
@@ -253,7 +253,7 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter):
if self.analysis_type == "thermomech" and self.temperature_objects:
self.write_node_sets_constraints_temperature(inpfileNodeTemp)
# include seperately written temperature constraint in input file
# include separately written temperature constraint in input file
if self.analysis_type == "thermomech":
inpfileMain.write('\n***********************************************************\n')
inpfileMain.write('**Node sets for temperature constraint\n')
@@ -321,7 +321,7 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter):
if self.fluidsection_objects:
self.write_constraints_fluidsection(inpfileMain)
# include seperately written constraints in input file
# include separately written constraints in input file
inpfileMain.write('\n***********************************************************\n')
inpfileMain.write('** Node loads\n')
inpfileMain.write('** written by write_constraints_force\n')
@@ -725,7 +725,7 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter):
self.solver_obj.TimeEnd = 1.0
elif self.analysis_type == 'static' or self.analysis_type == 'frequency':
pass # not supported for static and frequency!
# ANALYSIS paramter line
# ANALYSIS parameter line
analysis_parameter = ''
if self.analysis_type == 'static':
if self.solver_obj.IterationsUserDefinedIncrementations:
@@ -827,7 +827,7 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter):
def write_constraints_transform(self, f):
f.write('\n***********************************************************\n')
f.write('** Transform Constaints\n')
f.write('** Transform Constraints\n')
f.write('** written by {} function\n'.format(sys._getframe().f_code.co_name))
for trans_object in self.transform_objects:
trans_obj = trans_object['Object']
@@ -853,7 +853,7 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter):
f.write('\n')
# grav (erdbeschleunigung) is equal for all elements
# should be only one constraint
# different elment sets for different density are written in the material element sets allready
# different elment sets for different density are written in the material element sets already
def write_constraints_force(self, f):
# check shape type of reference shape and get node loads
@@ -1275,7 +1275,7 @@ def get_ccx_elset_beam_name(mat_name, beamsec_name, mat_short_name=None, beamsec
mat_short_name = 'Mat0'
if not beamsec_short_name:
beamsec_short_name = 'Beam0'
if len(mat_name + beamsec_name) > 20: # max identifier lenght in CalculiX for beam elsets
if len(mat_name + beamsec_name) > 20: # max identifier length in CalculiX for beam elsets
return mat_short_name + beamsec_short_name
else:
return mat_name + beamsec_name
@@ -1297,7 +1297,7 @@ def get_ccx_elset_shell_name(mat_name, shellth_name, mat_short_name=None, shellt
mat_short_name = 'Mat0'
if not shellth_short_name:
shellth_short_name = 'Shell0'
if len(mat_name + shellth_name) > 80: # standard max identifier lenght in CalculiX
if len(mat_name + shellth_name) > 80: # standard max identifier length in CalculiX
return mat_short_name + shellth_short_name
else:
return mat_name + shellth_name
@@ -1308,7 +1308,7 @@ def get_ccx_elset_solid_name(mat_name, solid_name=None, mat_short_name=None):
solid_name = 'Solid'
if not mat_short_name:
mat_short_name = 'Mat0'
if len(mat_name + solid_name) > 80: # standard max identifier lenght in CalculiX
if len(mat_name + solid_name) > 80: # standard max identifier length in CalculiX
return mat_short_name + solid_name
else:
return mat_name + solid_name

View File

@@ -51,7 +51,7 @@ def get_femelements_by_references(femmesh, femelement_table, references, femnode
# blind fast binary search, works for volumes only
references_femelements += get_femelements_by_femnodes_bin(femelement_table, femnodes_ele_table, ref_femnodes) # femelements for all references
else:
# standars search
# standard search
references_femelements += get_femelements_by_femnodes_std(femelement_table, ref_femnodes) # femelements for all references
return references_femelements
@@ -652,7 +652,7 @@ def get_ref_edgenodes_table(femmesh, femelement_table, refedge):
def get_ref_edgenodes_lengths(femnodes_mesh, edge_table):
# calulate the appropriate node_length for every node of every mesh edge (me)
# calculate the appropriate node_length for every node of every mesh edge (me)
# G. Lakshmi Narasaiah, Finite Element Analysis, p206ff
# [ (nodeID, length), ... , (nodeID, length) ] some nodes will have more than one entry
@@ -848,7 +848,7 @@ def build_mesh_faces_of_volume_elements(face_table, femelement_table):
def get_ref_facenodes_areas(femnodes_mesh, face_table):
# calulate the appropriate node_areas for every node of every mesh face (mf)
# calculate the appropriate node_areas for every node of every mesh face (mf)
# G. Lakshmi Narasaiah, Finite Element Analysis, p206ff
# FIXME only gives exact results in case of a real triangle. If for S6 or C3D10 elements
# the midnodes are not on the line between the end nodes the area will not be a triangle
@@ -985,7 +985,7 @@ def get_ref_facenodes_areas(femnodes_mesh, face_table):
def get_ref_shape_node_sum_geom_table(node_geom_table):
# shape could be Edge or Face, geom could be lenght or area
# shape could be Edge or Face, geom could be length or area
# summ of legth or area for each node of the ref_shape
node_sum_geom_table = {}
for n, A in node_geom_table:
@@ -1076,7 +1076,7 @@ def get_reference_group_elements(obj, aPart):
def get_anlysis_empty_references_group_elements(group_elements, aAnalysis, aShape):
'''get the elementIDs if the Reference shape is empty
see get_analysis_group_elements() for more informatations
on solid meshes only material objects could have an empty reference without beeing something wrong!
on solid meshes only material objects could have an empty reference without being something wrong!
face meshes could have empty ShellThickness and edge meshes could have empty BeamSection/FluidSection
'''
# print(group_elements)

View File

@@ -42,7 +42,7 @@ class FemToolsCcx(FemTools.FemTools):
## The constructor
# @param analysis - analysis object to be used as the core object.
# @param test_mode - True indicates that no real calculations will take place, so ccx bianry is not required. Used by test module.
# @param test_mode - True indicates that no real calculations will take place, so ccx binary is not required. Used by test module.
# "__init__" tries to use current active analysis in analysis is left empty.
# Rises exception if analysis is not set and there is no active analysis
def __init__(self, analysis=None, solver=None, test_mode=False):

View File

@@ -856,7 +856,7 @@ void CmdFemConstraintInitialTemperature::activated(int)
std::string FeatName = getUniqueObjectName("FemConstraintInitialTemperature");
openCommand("Make FEM constraint intial temperature on body");
openCommand("Make FEM constraint initial temperature on body");
doCommand(Doc,"App.activeDocument().addObject(\"Fem::ConstraintInitialTemperature\",\"%s\")",FeatName.c_str());
doCommand(Doc,"App.activeDocument().%s.Scale = 1",FeatName.c_str()); //OvG: set initial scale to 1
doCommand(Doc,"App.activeDocument().%s.Member = App.activeDocument().%s.Member + [App.activeDocument().%s]",
@@ -1446,7 +1446,7 @@ void CmdFemPostFunctions::languageChange()
QAction* cmd = a[0];
cmd->setText(QApplication::translate("CmdFemPostFunctions","Plane"));
cmd->setToolTip(QApplication::translate("Fem_PostCreateFunctions","Create a plane function, defined by its orgin and normal"));
cmd->setToolTip(QApplication::translate("Fem_PostCreateFunctions","Create a plane function, defined by its origin and normal"));
cmd->setStatusTip(cmd->toolTip());
cmd = a[1];

View File

@@ -376,7 +376,7 @@ void TaskFemConstraintFluidBoundary::updateSubtypeUI()
}
/// hide/disable UI only happend in constructor, update helptext and valuetext here
/// hide/disable UI only happened in constructor, update helptext and valuetext here
void TaskFemConstraintFluidBoundary::updateTurbulenceUI()
{
ui->labelHelpText->setText(tr(TurbulenceSpecificationHelpTexts[ui->comboTurbulenceSpecification->currentIndex()]));

View File

@@ -131,7 +131,7 @@ void ViewProviderFemConstraintContact::updateData(const App::Property* prop)
//define separator
SoSeparator* sep = new SoSeparator();
//first move to correct postion
//first move to correct position
SoTranslation* trans = new SoTranslation();
SbVec3f newPos=base+scaledheight*dir*0.12f;
trans->translation.setValue(newPos);
@@ -154,7 +154,7 @@ void ViewProviderFemConstraintContact::updateData(const App::Property* prop)
cbe->height.setValue(scaledheight*0.25);
cbe->width.setValue(scaledwidth*0.75);
sep->addChild(cbe);
//translate postion
//translate position
SoTranslation* trans2 = new SoTranslation();
trans2->translation.setValue(SbVec3f(0,0,0));
sep->addChild(trans2);

View File

@@ -131,7 +131,7 @@ void ViewProviderFemConstraintHeatflux::updateData(const App::Property* prop)
SoSeparator* sep = new SoSeparator();
///draw a temp gauge,with sphere and a cylinder
//first move to correct postion
//first move to correct position
SoTranslation* trans = new SoTranslation();
SbVec3f newPos=base+scaledradius*dir*0.7f;
trans->translation.setValue(newPos);
@@ -152,7 +152,7 @@ void ViewProviderFemConstraintHeatflux::updateData(const App::Property* prop)
SoSphere* sph = new SoSphere();
sph->radius.setValue(scaledradius*0.75);
sep->addChild(sph);
//translate postion
//translate position
SoTranslation* trans2 = new SoTranslation();
trans2->translation.setValue(SbVec3f(0,scaledheight*0.375,0));
sep->addChild(trans2);
@@ -161,7 +161,7 @@ void ViewProviderFemConstraintHeatflux::updateData(const App::Property* prop)
cyl->height.setValue(scaledheight*0.5);
cyl->radius.setValue(scaledradius*0.375);
sep->addChild(cyl);
//translate postion
//translate position
SoTranslation* trans3 = new SoTranslation();
trans3->translation.setValue(SbVec3f(0,scaledheight*0.375,0));
sep->addChild(trans3);
@@ -174,7 +174,7 @@ void ViewProviderFemConstraintHeatflux::updateData(const App::Property* prop)
cyl2->height.setValue(scaledheight*0.25);
cyl2->radius.setValue(scaledradius*0.375);
sep->addChild(cyl2);
//translate postion
//translate position
SoTranslation* trans4 = new SoTranslation();
trans4->translation.setValue(SbVec3f(0,-scaledheight*0.375,0));
sep->addChild(trans4);

View File

@@ -137,7 +137,7 @@ void ViewProviderFemConstraintPlaneRotation::updateData(const App::Property* pro
SoSeparator* sep = new SoSeparator();
///draw a temp gauge,with sphere and a cylinder
//first move to correct postion
//first move to correct position
SoTranslation* trans = new SoTranslation();
SbVec3f newPos=base+scaledradius*dir*0.08f;
trans->translation.setValue(newPos);
@@ -158,7 +158,7 @@ void ViewProviderFemConstraintPlaneRotation::updateData(const App::Property* pro
//SoSphere* sph = new SoSphere();
//sph->radius.setValue(scaledradius*0.75);
//sep->addChild(sph);
//translate postion
//translate position
//SoTranslation* trans2 = new SoTranslation();
//trans2->translation.setValue(SbVec3f(0,scaledheight*0.375,0));
//sep->addChild(trans2);
@@ -167,7 +167,7 @@ void ViewProviderFemConstraintPlaneRotation::updateData(const App::Property* pro
cyl->height.setValue(scaledheight*0.5);
cyl->radius.setValue(scaledradius*0.375);
sep->addChild(cyl);
//translate postion
//translate position
//SoTranslation* trans3 = new SoTranslation();
//trans3->translation.setValue(SbVec3f(0,scaledheight*0.05,0));
//sep->addChild(trans3);

View File

@@ -130,7 +130,7 @@ void ViewProviderFemConstraintTemperature::updateData(const App::Property* prop)
SoSeparator* sep = new SoSeparator();
///draw a temp gauge,with sphere and a cylinder
//first move to correct postion
//first move to correct position
SoTranslation* trans = new SoTranslation();
SbVec3f newPos=base+scaledradius*dir*0.7f;
trans->translation.setValue(newPos);
@@ -151,7 +151,7 @@ void ViewProviderFemConstraintTemperature::updateData(const App::Property* prop)
SoSphere* sph = new SoSphere();
sph->radius.setValue(scaledradius*0.75);
sep->addChild(sph);
//translate postion
//translate position
SoTranslation* trans2 = new SoTranslation();
trans2->translation.setValue(SbVec3f(0,scaledheight*0.375,0));
sep->addChild(trans2);
@@ -160,7 +160,7 @@ void ViewProviderFemConstraintTemperature::updateData(const App::Property* prop)
cyl->height.setValue(scaledheight*0.5);
cyl->radius.setValue(scaledradius*0.375);
sep->addChild(cyl);
//translate postion
//translate position
SoTranslation* trans3 = new SoTranslation();
trans3->translation.setValue(SbVec3f(0,scaledheight*0.375,0));
sep->addChild(trans3);

View File

@@ -1099,7 +1099,7 @@ void ViewProviderFEMMeshBuilder::createMesh(const App::Property* prop,
vFaceElementIdx.resize(triangleCount);
int index=0,indexIdx=0;
int32_t* indices = faces->coordIndex.startEditing();
// iterate all not hided element faces, allways assure CLOCKWISE triangle ordering to allow backface culling
// iterate all not hided element faces, always assure CLOCKWISE triangle ordering to allow backface culling
for(int l=0; l< FaceSize;l++){
if(! facesHelper[l].hide){
switch( facesHelper[l].Element->NbNodes()){

View File

@@ -243,7 +243,7 @@ Py::List ViewProviderFemMeshPy::getVisibleElementFaces(void) const
const std::vector<unsigned long> & visElmFc = this->getViewProviderFemMeshPtr()->getVisibleElementFaces();
std::vector<unsigned long> trans;
// sorting out double faces through higer order elements and null entries
// sorting out double faces through higher order elements and null entries
long elementOld =0, faceOld=0;
for (std::vector<unsigned long>::const_iterator it = visElmFc.begin();it!=visElmFc.end();++it){
if(*it == 0)

View File

@@ -305,7 +305,7 @@
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-size:11pt;&quot;&gt;P1-P3 # Stress intensity stress equation. Available values are numpy array format. Calculation np.funtion can be used on available values. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-size:11pt;&quot;&gt;P1-P3 # Stress intensity stress equation. Available values are numpy array format. Calculation np.function can be used on available values. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>

View File

@@ -466,10 +466,10 @@ class _TaskPanelFemMaterial:
material_name = os.path.basename(saveName[:-len('.FCMat')])
if material_name not in knownMaterials:
self.export_FCMat(saveName, self.obj.Material)
FreeCAD.Console.PrintMessage("Sucessfully save the Material property file: " + saveName + "\n")
FreeCAD.Console.PrintMessage("Successfully save the Material property file: " + saveName + "\n")
else:
self.export_FCMat(saveName, self.obj.Material)
FreeCAD.Console.PrintMessage("Sucessfully overwritren the Material property file: " + saveName + "\n")
FreeCAD.Console.PrintMessage("Successfully overwritren the Material property file: " + saveName + "\n")
"""
msgBox = QMessageBox()
msgBox.setText("FcMat file name {} has existed in {} or system folder, overwriting?\n".format(saveName, TargetDir))
@@ -479,7 +479,7 @@ class _TaskPanelFemMaterial:
ret = msgBox.exec_()
if ret == QMessageBox.Yes:
self.export_FCMat(saveName, self.obj.Material)
FreeCAD.Console.PrintMessage("Sucessfully overwritren the Material property file: "+ saveName + "\n")
FreeCAD.Console.PrintMessage("Successfully overwritren the Material property file: "+ saveName + "\n")
"""
###################geometry reference selection #################

View File

@@ -663,7 +663,7 @@ def readResult(frd_input):
mode_results['stressv'] = mode_stressv
mode_results['strainv'] = mode_strain
mode_results['peeq'] = mode_peeq
mode_results['time'] = 0 # Dont return time if static
mode_results['time'] = 0 # Don't return time if static
results.append(mode_results)
mode_disp = {}
mode_stress = {}

View File

@@ -146,7 +146,7 @@ def read_z88_disp(z88_disp_input):
disp_file = '/pathtofile/z88o2.txt'
importZ88O2Results.import_z88_disp(disp_file , fea.analysis)
The FreeCAD file needs to have an Analysis and an appropiate FEM Mesh
The FreeCAD file needs to have an Analysis and an appropriate FEM Mesh
'''
nodes = {}
mode_disp = {}