Finite Elements Analysis workbench. More...

Classes

class  femmesh.gmshtools.GmshError
 
class  femmesh.gmshtools.GmshTools
 
class  femmesh.meshsetsgetter.MeshSetsGetter
 
class  femsolver.calculix.tasks.Check
 
class  femsolver.calculix.tasks.Prepare
 
class  femsolver.calculix.tasks.Results
 
class  femsolver.calculix.tasks.Solve
 
class  femsolver.calculix.writer.FemInputWriterCcx
 
class  femsolver.elmer.equations.elasticity.Proxy
 
class  femsolver.elmer.equations.elasticity.ViewProxy
 
class  femsolver.elmer.equations.electricforce.Proxy
 
class  femsolver.elmer.equations.electricforce.ViewProxy
 
class  femsolver.elmer.equations.electrostatic.Proxy
 
class  femsolver.elmer.equations.electrostatic.ViewProxy
 
class  femsolver.elmer.equations.equation.Proxy
 
class  femsolver.elmer.equations.equation.ViewProxy
 
class  femsolver.elmer.equations.flow.Proxy
 
class  femsolver.elmer.equations.flow.ViewProxy
 
class  femsolver.elmer.equations.flux.Proxy
 
class  femsolver.elmer.equations.flux.ViewProxy
 
class  femsolver.elmer.equations.heat.Proxy
 
class  femsolver.elmer.equations.heat.ViewProxy
 
class  femsolver.elmer.equations.linear.Proxy
 
class  femsolver.elmer.equations.linear.ViewProxy
 
class  femsolver.elmer.equations.nonlinear.Proxy
 
class  femsolver.elmer.equations.nonlinear.ViewProxy
 
class  femsolver.elmer.sifio.Builder
 
class  femsolver.elmer.sifio.FileAttr
 
class  femsolver.elmer.sifio.Section
 
class  femsolver.elmer.sifio.Sif
 
class  femsolver.elmer.solver.Proxy
 
class  femsolver.elmer.solver.ViewProxy
 
class  femsolver.elmer.tasks.Check
 
class  femsolver.elmer.tasks.Prepare
 
class  femsolver.elmer.tasks.Results
 
class  femsolver.elmer.tasks.Solve
 
class  femsolver.elmer.writer.WriteError
 
class  femsolver.elmer.writer.Writer
 
class  femsolver.equationbase.BaseProxy
 
class  femsolver.equationbase.BaseViewProxy
 
class  femsolver.equationbase.ElasticityProxy
 
class  femsolver.equationbase.ElasticityViewProxy
 
class  femsolver.equationbase.ElectricforceProxy
 
class  femsolver.equationbase.ElectricforceViewProxy
 
class  femsolver.equationbase.ElectrostaticProxy
 
class  femsolver.equationbase.ElectrostaticViewProxy
 
class  femsolver.equationbase.FlowProxy
 
class  femsolver.equationbase.FlowViewProxy
 
class  femsolver.equationbase.FluxProxy
 
class  femsolver.equationbase.FluxViewProxy
 
class  femsolver.equationbase.HeatProxy
 
class  femsolver.equationbase.HeatViewProxy
 
class  femsolver.mystran.tasks.Check
 
class  femsolver.mystran.tasks.Prepare
 
class  femsolver.mystran.tasks.Results
 
class  femsolver.mystran.tasks.Solve
 
class  femsolver.mystran.writer.FemInputWriterMystran
 
class  femsolver.report.Report
 
class  femsolver.reportdialog.ReportDialog
 
class  femsolver.solver_taskpanel.ControlTaskPanel
 
class  femsolver.solver_taskpanel.ControlWidget
 
class  femsolver.solverbase.Proxy
 
class  femsolver.solverbase.ViewProxy
 
class  femsolver.task.Task
 
class  femsolver.task.Thread
 
class  femsolver.writerbase.FemInputWriter
 
class  femsolver.z88.tasks.Check
 
class  femsolver.z88.tasks.Prepare
 
class  femsolver.z88.tasks.Results
 
class  femsolver.z88.tasks.Solve
 
class  femsolver.z88.writer.FemInputWriterZ88
 
class  femtools.ccxtools.CcxTools
 
class  femtools.ccxtools.FemToolsCcx
 

Namespaces

namespace  base_fempythonobject
 base object for FEM Python Features
 
namespace  commands
 FreeCAD FEM command definitions.
 
namespace  constant_vacuumpermittivity
 FreeCAD FEM constant vacuum permittivity object.
 
namespace  constraint_bodyheatsource
 constraint body heat source object
 
namespace  constraint_centrif
 constraint centrif object
 
namespace  constraint_electrostaticpotential
 constraint electrostatic potential object
 
namespace  constraint_flowvelocity
 constraint flow velocity object
 
namespace  constraint_initialflowvelocity
 constraint initial flow velocity object
 
namespace  constraint_sectionprint
 constraint section print object
 
namespace  constraint_selfweight
 constraint self weight object
 
namespace  constraint_tie
 constraint tie object
 
namespace  element_fluid1D
 element fluid 1D object
 
namespace  element_geometry1D
 element geometry 1D object
 
namespace  element_geometry2D
 element geometry 2D object
 
namespace  element_rotation1D
 element rotation 1D object
 
namespace  exportFenicsXDMF
 FreeCAD Fenics Mesh XDMF writer for FEM workbench.
 
namespace  exportFenicsXML
 FreeCAD Fenics Mesh XML writer for FEM workbench.
 
namespace  exportPyNastranMesh
 FreeCAD pyNastran Mesh writer for FEM workbench.
 
namespace  FemSelectWidget
 FreeCAD FEM FemSelectWidget.
 
namespace  Fenics
 
namespace  FwmMesh2Mesh
 
namespace  importCcxDatResults
 FreeCAD Calculix DAT reader for FEM workbench.
 
namespace  importCcxFrdResults
 FreeCAD Calculix FRD Reader for FEM workbench.
 
namespace  importFenicsMesh
 FreeCAD Fenics Mesh reader and writer for FEM workbench.
 
namespace  importFenicsXDMF
 FreeCAD Fenics Mesh XDMF reader for FEM workbench.
 
namespace  importFenicsXML
 FreeCAD Fenics Mesh XML reader for FEM workbench.
 
namespace  importInpMesh
 FreeCAD INP file reader for FEM workbench.
 
namespace  importPyMesh
 FreeCAD Python Mesh reader and writer for FEM workbench.
 
namespace  importToolsFem
 FreeCAD FEM import tools.
 
namespace  importVTKResults
 FreeCAD Result import and export VTK file library.
 
namespace  importYAMLJSONMesh
 FreeCAD YAML and JSON Mesh reader and writer for FEM workbench.
 
namespace  importZ88Mesh
 FreeCAD Z88 Mesh reader and writer for FEM workbench.
 
namespace  importZ88O2Results
 FreeCAD Z88 Disp Reader for FEM workbench.
 
namespace  manager
 FreeCAD FEM command base class.
 
namespace  material_common
 material common object
 
namespace  material_mechanicalnonlinear
 nonlinear mechanical material object
 
namespace  material_reinforced
 reinforced object
 
namespace  mesh_boundarylayer
 mesh boundary layer object
 
namespace  mesh_gmsh
 mesh gmsh object
 
namespace  mesh_group
 mesh group object
 
namespace  mesh_region
 mesh region object
 
namespace  mesh_result
 mesh result object
 
namespace  result_mechanical
 mechanical result object
 
namespace  solver_ccxtools
 solver calculix ccx tools object
 
namespace  SolverCalculix
 
namespace  SolverMystran
 
namespace  SolverZ88
 
namespace  task_constraint_centrif
 task panel for constraint centrif object
 
namespace  task_constraint_electrostaticpotential
 task panel for constraint electrostatic potential object
 
namespace  task_constraint_flowvelocity
 task panel for constraint flow velocity object
 
namespace  task_constraint_initialflowvelocity
 task panel for constraint initial flow velocity object
 
namespace  task_constraint_sectionprint
 task panel for constraint section print object
 
namespace  task_constraint_tie
 task panel for constraint tie object
 
namespace  task_element_fluid1D
 task panel for element fluid 1D object
 
namespace  task_element_geometry1D
 task panel for element geometry 1D object
 
namespace  task_element_geometry2D
 task panel for element geometry 2D object
 
namespace  task_element_rotation1D
 task panel for element rotation 1D object
 
namespace  task_material_common
 FreeCAD FEM _ViewProviderFemMaterial.
 
namespace  task_material_reinforced
 task panel for reinforced material object
 
namespace  task_mesh_boundarylayer
 task panel for mesh boundary object
 
namespace  task_mesh_gmsh
 task panel for mesh gmsh object
 
namespace  task_mesh_group
 task panel for mesh group object
 
namespace  task_mesh_region
 task panel for mesh region object
 
namespace  task_solver_ccxtools
 task panel for solver ccx tools object
 
namespace  view_base_femconstraint
 view provider for Python base constraint object
 
namespace  view_base_femobject
 view provider as base for all FEM objects
 
namespace  view_constant_vacuumpermittivity
 FreeCAD FEM Constant VacuumPermittivity ViewProvider.
 
namespace  view_constraint_bodyheatsource
 view provider for the constraint body heat source object
 
namespace  view_constraint_centrif
 view provider for constraint centrif object
 
namespace  view_constraint_electrostaticpotential
 view provider for constraint electrostatic potential object
 
namespace  view_constraint_flowvelocity
 view provider for constraint flow velocity object
 
namespace  view_constraint_initialflowvelocity
 view provider for constraint initial flow velocity object
 
namespace  view_constraint_sectionprint
 view provider for constraint section print object
 
namespace  view_constraint_selfweight
 view provider for constraint self weight object
 
namespace  view_constraint_tie
 view provider for constraint tie object
 
namespace  view_element_fluid1D
 view provider for element fluid 1D object
 
namespace  view_element_geometry1D
 view provider for element geometry 1D object
 
namespace  view_element_geometry2D
 view provider for element geometry 2D object
 
namespace  view_element_rotation1D
 view provider for element rotation 1D object
 
namespace  view_material_common
 FreeCAD FEM _ViewProviderFemMaterial.
 
namespace  view_material_mechanicalnonlinear
 view provider for material mechanical nonlinear object
 
namespace  view_material_reinforced
 view provider for reinforced material object
 
namespace  view_mesh_boundarylayer
 view provider for mesh boundary object
 
namespace  view_mesh_gmsh
 view provider for mesh gmsh object
 
namespace  view_mesh_group
 view provider for mesh group object
 
namespace  view_mesh_region
 view provider for mesh region object
 
namespace  view_mesh_result
 view provider for mesh result object
 
namespace  view_result_mechanical
 task panel for mechanical ResultObjectPython
 
namespace  view_solver_ccxtools
 view provider for solver ccx tools object
 

Functions

def femsolver.mystran.add_con_fixed.add_con_fixed (f, model, mystran_writer)
 
def femsolver.mystran.add_con_force.add_con_force (f, model, mystran_writer)
 
def femresult.resulttools.add_disp_apps (res_obj)
 
def femsolver.mystran.add_femelement_geometry.add_femelement_geometry (f, model, mystran_writer)
 
def femsolver.mystran.add_femelement_material.add_femelement_material (f, model, mystran_writer)
 
def femsolver.mystran.add_mesh.add_mesh (f, model, mystran_writer)
 
def femresult.resulttools.add_principal_stress_reinforced (res_obj)
 
def femresult.resulttools.add_principal_stress_std (res_obj)
 
def femsolver.mystran.add_solver_control.add_solver_control (f, model, mystran_writer)
 
def femresult.resulttools.add_von_mises (res_obj)
 
def femmesh.meshtools.build_mesh_faces_of_volume_elements (face_table, femelement_table)
 
def femresult.resulttools.calculate_disp_abs (displacements)
 
def femresult.resulttools.calculate_mohr_coulomb (prin1, prin3, phi, fck)
 
def femresult.resulttools.calculate_principal_stress_reinforced (stress_tensor)
 
def femresult.resulttools.calculate_principal_stress_std (stress_tensor)
 
def femresult.resulttools.calculate_rho (stress_tensor, fy)
 
def femresult.resulttools.calculate_von_mises (stress_tensor)
 
def femtools.checksanalysis.check_member_for_solver_calculix (analysis, solver, mesh, member)
 
def femmesh.meshtools.compact_mesh (old_femmesh)
 
def femresult.resulttools.compact_result (res_obj)
 
def femsolver.elmer.equations.elasticity.create (doc, name="Elasticity")
 
def femsolver.elmer.equations.electricforce.create (doc, name="Electricforce")
 
def femsolver.elmer.equations.electrostatic.create (doc, name="Electrostatic")
 
def femsolver.elmer.solver.create (doc, name="ElmerSolver")
 
def femsolver.elmer.equations.flow.create (doc, name="Flow")
 
def femsolver.elmer.equations.flux.create (doc, name="Flux")
 
def femsolver.elmer.equations.heat.create (doc, name="Heat")
 
def feminout.convert2TetGen.createMesh ()
 
def femsolver.elmer.sifio.createSection (name)
 
def femmesh.meshtools.delete_duplicate_mesh_elements (refelement_table)
 
def femsolver.report.display (report, title=None, text=None)
 
def femsolver.report.displayGui (report, title=None, text=None)
 
def femsolver.report.displayLog (report)
 
def feminout.convert2TetGen.export (objectslist, filename)
 
def feminout.convert2TetGen.exportMeshToTetGenPoly (meshToExport, filePath, beVerbose=1)
 
def femmesh.meshtools.femelements_count_ok (len_femelement_table, count_femelements)
 
def femresult.resulttools.fill_femresult_stats (res_obj)
 
def femresult.resulttools.get_all_stats (res_obj)
 
def femmesh.meshtools.get_analysis_group_elements (aAnalysis, aPart)
 
def femmesh.meshtools.get_anlysis_empty_references_group_elements (group_elements, aAnalysis, aShape)
 
def femmesh.meshtools.get_beam_main_axis_m (beam_direction, defined_angle)
 
def femmesh.meshtools.get_bit_pattern_dict (femelement_table, femnodes_ele_table, node_set)
 
def femmesh.meshtools.get_ccxelement_faces_from_binary_search (bit_pattern_dict)
 
def femresult.resulttools.get_concrete_nodes (res_obj)
 
def femmesh.meshtools.get_contact_obj_faces (femmesh, femelement_table, femnodes_ele_table, femobj)
 
def femmesh.meshtools.get_copy_of_empty_femelement_table (femelement_table)
 
def femmesh.meshsetsgetter.get_elset_name_short (names)
 
def femmesh.meshsetsgetter.get_elset_name_standard (names)
 
def femmesh.meshtools.get_elset_short_name (obj, i)
 
def femmesh.meshtools.get_femelement_direction1D_set (femmesh, femelement_table, beamrotation_objects, theshape=None)
 
def femmesh.meshtools.get_femelement_directions_theshape (femmesh, femelement_table, theshape)
 
def femmesh.meshtools.get_femelement_edges_table (femmesh, edges_only=None)
 
def femmesh.meshtools.get_femelement_faces_table (femmesh, faces_only=None)
 
def femmesh.meshtools.get_femelement_sets (femmesh, femelement_table, fem_objects, femnodes_ele_table=None)
 
def femmesh.meshtools.get_femelement_sets_from_group_data (femmesh, fem_objects)
 
def femmesh.meshtools.get_femelement_table (femmesh)
 
def femmesh.meshtools.get_femelement_volumes_table (femmesh)
 
def femmesh.meshtools.get_femelements_by_femnodes_bin (femelement_table, femnodes_ele_table, node_list)
 
def femmesh.meshtools.get_femelements_by_femnodes_std (femelement_table, node_list)
 
def femmesh.meshtools.get_femelements_by_references (femmesh, femelement_table, references, femnodes_ele_table=None)
 
def femmesh.meshtools.get_femmesh_eletype (femmesh, femelement_table=None)
 
def femmesh.meshtools.get_femmesh_groupdata_sets_by_name (femmesh, fem_object, group_data_type)
 
def femmesh.meshtools.get_femnodes_by_femobj_with_references (femmesh, femobj)
 
def femmesh.meshtools.get_femnodes_by_references (femmesh, references)
 
def femmesh.meshtools.get_femnodes_by_refshape (femmesh, ref)
 
def femmesh.meshtools.get_femnodes_ele_table (femnodes_mesh, femelement_table)
 
def femmesh.meshtools.get_femvolumeelements_by_femfacenodes (femelement_table, node_list)
 
def femmesh.meshtools.get_force_obj_edge_nodeload_table (femmesh, femelement_table, femnodes_mesh, frc_obj)
 
def femmesh.meshtools.get_force_obj_face_nodeload_table (femmesh, femelement_table, femnodes_mesh, frc_obj)
 
def femmesh.meshtools.get_force_obj_vertex_nodeload_table (femmesh, frc_obj)
 
def femmesh.meshtools.get_mesh_group_elements (mesh_group_obj, aPart)
 
def femmesh.meshtools.get_pressure_obj_faces (femmesh, femelement_table, femnodes_ele_table, femobj)
 
def femmesh.meshtools.get_pressure_obj_faces_depreciated (femmesh, femobj)
 
def femmesh.meshtools.get_ref_edgenodes_lengths (femnodes_mesh, edge_table)
 
def femmesh.meshtools.get_ref_edgenodes_table (femmesh, femelement_table, refedge)
 
def femmesh.meshtools.get_ref_facenodes_areas (femnodes_mesh, face_table)
 
def femmesh.meshtools.get_ref_facenodes_table (femmesh, femelement_table, ref_face)
 
def femmesh.meshtools.get_ref_shape_node_sum_geom_table (node_geom_table)
 
def femmesh.meshtools.get_reference_group_elements (obj, aPart)
 
def femresult.resulttools.get_stats (res_obj, result_type)
 
def femmesh.meshtools.get_three_non_colinear_nodes (nodes_coords)
 
def femmesh.meshtools.get_tie_obj_faces (femmesh, femelement_table, femnodes_ele_table, femobj)
 
def femmesh.meshtools.get_triangle_area (P1, P2, P3)
 
def femmesh.meshtools.has_no_face_data (femmesh)
 
def femmesh.meshtools.is_edge_femmesh (femmesh)
 
def femmesh.meshtools.is_face_femmesh (femmesh)
 
def femmesh.meshtools.is_solid_femmesh (femmesh)
 
def femmesh.meshtools.is_zplane_2D_mesh (femmesh)
 
def femsolver.elmer.sifio.isNumbered (section)
 
def femsolver.elmer.sifio.isValid (section)
 
def ObjectsFem.makeAnalysis (doc, name="Analysis")
 
def ObjectsFem.makeConstantVacuumPermittivity (doc, name="ConstantVacuumPermittivity")
 
def ObjectsFem.makeConstraintBearing (doc, name="ConstraintBearing")
 
def ObjectsFem.makeConstraintBodyHeatSource (doc, name="ConstraintBodyHeatSource")
 
def ObjectsFem.makeConstraintCentrif (doc, name="ConstraintCentrif")
 
def ObjectsFem.makeConstraintContact (doc, name="ConstraintContact")
 
def ObjectsFem.makeConstraintDisplacement (doc, name="ConstraintDisplacement")
 
def ObjectsFem.makeConstraintElectrostaticPotential (doc, name="ConstraintElectrostaticPotential")
 
def ObjectsFem.makeConstraintFixed (doc, name="ConstraintFixed")
 
def ObjectsFem.makeConstraintFlowVelocity (doc, name="ConstraintFlowVelocity")
 
def ObjectsFem.makeConstraintFluidBoundary (doc, name="ConstraintFluidBoundary")
 
def ObjectsFem.makeConstraintForce (doc, name="ConstraintForce")
 
def ObjectsFem.makeConstraintGear (doc, name="ConstraintGear")
 
def ObjectsFem.makeConstraintHeatflux (doc, name="ConstraintHeatflux")
 
def ObjectsFem.makeConstraintInitialFlowVelocity (doc, name="ConstraintInitialFlowVelocity")
 
def ObjectsFem.makeConstraintInitialTemperature (doc, name="ConstraintInitialTemperature")
 
def ObjectsFem.makeConstraintPlaneRotation (doc, name="ConstraintPlaneRotation")
 
def ObjectsFem.makeConstraintPressure (doc, name="ConstraintPressure")
 
def ObjectsFem.makeConstraintPulley (doc, name="ConstraintPulley")
 
def ObjectsFem.makeConstraintSectionPrint (doc, name="ConstraintSectionPrint")
 
def ObjectsFem.makeConstraintSelfWeight (doc, name="ConstraintSelfWeight")
 
def ObjectsFem.makeConstraintSpring (doc, name="ConstraintSpring")
 
def ObjectsFem.makeConstraintTemperature (doc, name="ConstraintTemperature")
 
def ObjectsFem.makeConstraintTie (doc, name="ConstraintTie")
 
def ObjectsFem.makeConstraintTransform (doc, name="ConstraintTransform")
 
def ObjectsFem.makeElementFluid1D (doc, name="ElementFluid1D")
 
def ObjectsFem.makeElementGeometry1D (doc, sectiontype="Rectangular", width=10.0, height=25.0, name="ElementGeometry1D")
 
def ObjectsFem.makeElementGeometry2D (doc, thickness=20.0, name="ElementGeometry2D")
 
def ObjectsFem.makeElementRotation1D (doc, name="ElementRotation1D")
 
def ObjectsFem.makeEquationElasticity (doc, base_solver=None, name="Elasticity")
 
def ObjectsFem.makeEquationElectricforce (doc, base_solver=None, name="Electricforce")
 
def ObjectsFem.makeEquationElectrostatic (doc, base_solver=None, name="Electrostatic")
 
def ObjectsFem.makeEquationFlow (doc, base_solver=None, name="Flow")
 
def ObjectsFem.makeEquationFlux (doc, base_solver=None, name="Flux")
 
def ObjectsFem.makeEquationHeat (doc, base_solver=None, name="Heat")
 
def ObjectsFem.makeMaterialFluid (doc, name="MaterialFluid")
 
def ObjectsFem.makeMaterialMechanicalNonlinear (doc, base_material, name="MaterialMechanicalNonlinear")
 
def ObjectsFem.makeMaterialReinforced (doc, name="MaterialReinforced")
 
def ObjectsFem.makeMaterialSolid (doc, name="MaterialSolid")
 
def ObjectsFem.makeMeshBoundaryLayer (doc, base_mesh, name="MeshBoundaryLayer")
 
def ObjectsFem.makeMeshGmsh (doc, name="MeshGmsh")
 
def ObjectsFem.makeMeshGroup (doc, base_mesh, use_label=False, name="MeshGroup")
 
def ObjectsFem.makeMeshNetgen (doc, name="MeshNetgen")
 
def ObjectsFem.makeMeshRegion (doc, base_mesh, element_length=0.0, name="MeshRegion")
 
def ObjectsFem.makeMeshResult (doc, name="MeshResult")
 
def ObjectsFem.makePostVtkFilterClipRegion (doc, base_vtk_result, name="VtkFilterClipRegion")
 
def ObjectsFem.makePostVtkFilterClipScalar (doc, base_vtk_result, name="VtkFilterClipScalar")
 
def ObjectsFem.makePostVtkFilterCutFunction (doc, base_vtk_result, name="VtkFilterCutFunction")
 
def ObjectsFem.makePostVtkFilterWarp (doc, base_vtk_result, name="VtkFilterWarp")
 
def ObjectsFem.makePostVtkResult (doc, base_result, name="VtkResult")
 
def ObjectsFem.makeResultMechanical (doc, name="ResultMechanical")
 
def ObjectsFem.makeSolverCalculix (doc, name="SolverCalculix")
 
def ObjectsFem.makeSolverCalculixCcxTools (doc, name="SolverCcxTools")
 
def ObjectsFem.makeSolverElmer (doc, name="SolverElmer")
 
def ObjectsFem.makeSolverMystran (doc, name="SolverMystran")
 
def ObjectsFem.makeSolverZ88 (doc, name="SolverZ88")
 
def femsolver.signal.notify (signal, *args)
 
def femmesh.meshsetsgetter.print_obj_info (obj, log=False)
 
def femresult.resulttools.purge_results (analysis)
 
def femresult.resulttools.reset_mesh_color (resultobj)
 
def femresult.resulttools.reset_mesh_deformation (resultobj)
 
def femresult.resulttools.show_color_by_scalar_with_cutoff (resultobj, values, limit=None)
 
def femresult.resulttools.show_displacement (resultobj, displacement_factor=0.0)
 
def femresult.resulttools.show_result (resultobj, result_type="Sabs", limit=None)
 
def femmesh.meshtools.sortlistoflistvalues (listoflists)
 
def femmesh.meshtools.use_correct_fluidinout_ele_def (FluidInletoutlet_ele, fileName, fluid_inout_nodes_file)
 
def femmesh.meshtools.write_D_network_element_to_inputfile (fileName)
 
def femsolver.elmer.sifio.writeSections (sections, stream)
 

Variables

string femsolver.elmer.sifio.ABORT = "Abort"
 
 feminout.convert2TetGen.App = FreeCAD
 
string femsolver.elmer.sifio.BODY = "Body"
 
string femsolver.elmer.sifio.BODY_FORCE = "Body Force"
 
string femsolver.elmer.sifio.BOUNDARY_CONDITION = "Boundary Condition"
 
string femsolver.elmer.sifio.COMPONENT = "Component"
 
string femsolver.elmer.sifio.CONSTANTS = "Constants"
 
string femsolver.elmer.sifio.EQUATION = "Equation"
 
int femsolver.report.ERROR = 30
 
string femsolver.reportdialog.ERROR_COLOR = "red"
 
 feminout.convert2TetGen.Gui = FreeCADGui
 
string femsolver.elmer.sifio.IGNORE = "Ignore"
 
int femsolver.report.INFO = 10
 
string femsolver.reportdialog.INFO_COLOR = "blue"
 
string femsolver.elmer.sifio.INITIAL_CONDITION = "Initial Condition"
 
list femsolver.elmer.equations.linear.LINEAR_DIRECT = ["Banded", "umfpack"]
 
list femsolver.elmer.equations.linear.LINEAR_ITERATIVE
 
list femsolver.elmer.equations.linear.LINEAR_PRECONDITIONING
 
list femsolver.elmer.equations.linear.LINEAR_SOLVER = ["Direct", "Iterative"]
 
string femsolver.elmer.sifio.MATERIAL = "Material"
 
string femsolver.mystran.add_femelement_geometry.pynas_code
 
string femsolver.mystran.add_solver_control.pynas_code
 
bool femsolver.mystran.tasks.result_reading = True
 
string femsolver.elmer.sifio.SILENT = "Silent"
 
string femsolver.elmer.sifio.SIMULATION = "Simulation"
 
string femsolver.elmer.sifio.SOLVER = "Solver"
 
list femsolver.z88.tasks.SOLVER_TYPES = ["sorcg", "siccg", "choly"]
 
string femsolver.calculix.writer.units_information
 
string femsolver.elmer.sifio.WARN = "Warn"
 
int femsolver.report.WARNING = 20
 
string femsolver.reportdialog.WARNING_COLOR = "#ffaa00"
 
string femsolver.z88.writer.z88_dyn_template
 
string femsolver.z88.writer.z88_man_template
 

Detailed Description

Finite Elements Analysis workbench.

See src/Mod/Draft/draft.dox as an example of how to populate this page

Function Documentation

◆ add_con_fixed()

def femsolver.mystran.add_con_fixed.add_con_fixed (   f,
  model,
  mystran_writer 
)

◆ add_con_force()

def femsolver.mystran.add_con_force.add_con_force (   f,
  model,
  mystran_writer 
)

◆ add_disp_apps()

def femresult.resulttools.add_disp_apps (   res_obj)

◆ add_femelement_geometry()

def femsolver.mystran.add_femelement_geometry.add_femelement_geometry (   f,
  model,
  mystran_writer 
)

◆ add_femelement_material()

def femsolver.mystran.add_femelement_material.add_femelement_material (   f,
  model,
  mystran_writer 
)

◆ add_mesh()

def femsolver.mystran.add_mesh.add_mesh (   f,
  model,
  mystran_writer 
)

◆ add_principal_stress_reinforced()

◆ add_principal_stress_std()

def femresult.resulttools.add_principal_stress_std (   res_obj)

◆ add_solver_control()

def femsolver.mystran.add_solver_control.add_solver_control (   f,
  model,
  mystran_writer 
)

◆ add_von_mises()

def femresult.resulttools.add_von_mises (   res_obj)

◆ build_mesh_faces_of_volume_elements()

def femmesh.meshtools.build_mesh_faces_of_volume_elements (   face_table,
  femelement_table 
)

◆ calculate_disp_abs()

def femresult.resulttools.calculate_disp_abs (   displacements)

◆ calculate_mohr_coulomb()

def femresult.resulttools.calculate_mohr_coulomb (   prin1,
  prin3,
  phi,
  fck 
)

◆ calculate_principal_stress_reinforced()

def femresult.resulttools.calculate_principal_stress_reinforced (   stress_tensor)

◆ calculate_principal_stress_std()

def femresult.resulttools.calculate_principal_stress_std (   stress_tensor)

◆ calculate_rho()

def femresult.resulttools.calculate_rho (   stress_tensor,
  fy 
)

◆ calculate_von_mises()

def femresult.resulttools.calculate_von_mises (   stress_tensor)

◆ check_member_for_solver_calculix()

def femtools.checksanalysis.check_member_for_solver_calculix (   analysis,
  solver,
  mesh,
  member 
)

◆ compact_mesh()

def femmesh.meshtools.compact_mesh (   old_femmesh)
removes all gaps in node and element ids, start ids with 1
returns a tuple (FemMesh, node_assignment_map, element_assignment_map)

Referenced by femresult.resulttools.compact_result().

◆ compact_result()

def femresult.resulttools.compact_result (   res_obj)
compacts result.Mesh and appropriate result.NodeNumbers

References femmesh.meshtools.compact_mesh().

◆ create() [1/7]

◆ create() [2/7]

def femsolver.elmer.equations.electricforce.create (   doc,
  name = "Electricforce" 
)

◆ create() [3/7]

def femsolver.elmer.equations.electrostatic.create (   doc,
  name = "Electrostatic" 
)

◆ create() [4/7]

def femsolver.elmer.solver.create (   doc,
  name = "ElmerSolver" 
)

◆ create() [5/7]

def femsolver.elmer.equations.flow.create (   doc,
  name = "Flow" 
)

◆ create() [6/7]

def femsolver.elmer.equations.flux.create (   doc,
  name = "Flux" 
)

◆ create() [7/7]

def femsolver.elmer.equations.heat.create (   doc,
  name = "Heat" 
)

◆ createMesh()

def feminout.convert2TetGen.createMesh ( )

◆ createSection()

def femsolver.elmer.sifio.createSection (   name)

◆ delete_duplicate_mesh_elements()

def femmesh.meshtools.delete_duplicate_mesh_elements (   refelement_table)

◆ display()

◆ displayGui()

def femsolver.report.displayGui (   report,
  title = None,
  text = None 
)

References Gui.getMainWindow().

Referenced by femsolver.report.display().

◆ displayLog()

def femsolver.report.displayLog (   report)

◆ export()

def feminout.convert2TetGen.export (   objectslist,
  filename 
)
Called when freecad exports a mesh to poly format

References feminout.convert2TetGen.exportMeshToTetGenPoly().

◆ exportMeshToTetGenPoly()

def feminout.convert2TetGen.exportMeshToTetGenPoly (   meshToExport,
  filePath,
  beVerbose = 1 
)
Export mesh to TetGen *.poly file format

Referenced by feminout.convert2TetGen.export().

◆ femelements_count_ok()

def femmesh.meshtools.femelements_count_ok (   len_femelement_table,
  count_femelements 
)

◆ fill_femresult_stats()

def femresult.resulttools.fill_femresult_stats (   res_obj)
Fills a FreeCAD FEM mechanical result object with stats data

Parameters
----------
resultobj : Fem::ResultMechanical
    FreeCAD FEM mechanical result object

◆ get_all_stats()

def femresult.resulttools.get_all_stats (   res_obj)
Returns all stats for provided result type

- U1, U2, U3 - deformation
- Uabs - absolute deformation
- Sabs - Von Mises stress
- MaxPrin - Principal stress 1
- MidPrin - Principal stress 2
- MinPrin - Principal stress 3
- MaxShear - maximum shear stress
- Peeq - peeq strain
- Temp - Temperature
- MFlow - MassFlowRate
- NPress - NetworkPressure

for more information on result types and names
see in code file src/Mod/Fem/App/FemVTKTools.cpp
the methods _getFreeCADMechResultVectorProperties()
and _getFreeCADMechResultScalarProperties()
as well as forum topic
https://forum.freecadweb.org/viewtopic.php?f=18&t=33106&start=30#p277434

Parameters
----------
resultobj : Fem::ResultMechanical
    FreeCAD FEM mechanical result object

Referenced by femresult.resulttools.get_stats().

◆ get_analysis_group_elements()

def femmesh.meshtools.get_analysis_group_elements (   aAnalysis,
  aPart 
)
all Reference shapes of all Analysis member are searched in the Shape of aPart.
If found in shape they are added to a dict
{ConstraintName : ["ShapeType of the Elements"], [ElementID, ElementID, ...], ...}

References femmesh.meshtools.get_anlysis_empty_references_group_elements(), and femmesh.meshtools.get_reference_group_elements().

Referenced by femmesh.meshtools.get_anlysis_empty_references_group_elements().

◆ get_anlysis_empty_references_group_elements()

def femmesh.meshtools.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 information

References femmesh.meshtools.get_analysis_group_elements().

Referenced by femmesh.meshtools.get_analysis_group_elements().

◆ get_beam_main_axis_m()

def femmesh.meshtools.get_beam_main_axis_m (   beam_direction,
  defined_angle 
)

◆ get_bit_pattern_dict()

def femmesh.meshtools.get_bit_pattern_dict (   femelement_table,
  femnodes_ele_table,
  node_set 
)
Now we are looking for nodes inside of the Faces = filling the bit_pattern_dict
{eleID : [lenEleNodes, binary_position]}
see forum post for a very good explanation of what"s really happening
https://forum.freecadweb.org/viewtopic.php?f=18&t=17318&start=50#p141108
The bit_pattern_dict holds later an integer (bit array) for each element, which gives us
the information we are searching for:
Is this element part of the node list (searching for elements)
or has this element a face we are searching for?
The number in the ele_dict is organized as a bit array.
The corresponding bit is set, if the node of the node_set is contained in the element.

References femmesh.meshtools.get_copy_of_empty_femelement_table().

Referenced by femmesh.meshtools.get_contact_obj_faces(), femmesh.meshtools.get_femelements_by_femnodes_bin(), femmesh.meshtools.get_pressure_obj_faces(), and femmesh.meshtools.get_tie_obj_faces().

◆ get_ccxelement_faces_from_binary_search()

def femmesh.meshtools.get_ccxelement_faces_from_binary_search (   bit_pattern_dict)

◆ get_concrete_nodes()

def femresult.resulttools.get_concrete_nodes (   res_obj)

◆ get_contact_obj_faces()

◆ get_copy_of_empty_femelement_table()

def femmesh.meshtools.get_copy_of_empty_femelement_table (   femelement_table)
{eleID : 0, eleID : 0, ...}

Referenced by femmesh.meshtools.get_bit_pattern_dict().

◆ get_elset_name_short()

◆ get_elset_name_standard()

◆ get_elset_short_name()

def femmesh.meshtools.get_elset_short_name (   obj,
  i 
)

◆ get_femelement_direction1D_set()

def femmesh.meshtools.get_femelement_direction1D_set (   femmesh,
  femelement_table,
  beamrotation_objects,
  theshape = None 
)
get for each geometry edge direction, the local direction m and the element ids and
# write all into the beamrotation_objects
means no return value, we're going to write into the beamrotation_objects dictionary
FEMRotations1D is a list of dictionaries for every beamdirection of all edges
beamrot_obj["FEMRotations1D"] = [{
    "ids" : [theids],
    "direction" : direction,
    "beam_axis_m" : beam_axis_m
}, ... ]

References femmesh.meshtools.get_beam_main_axis_m(), and femmesh.meshtools.get_femelement_directions_theshape().

◆ get_femelement_directions_theshape()

def femmesh.meshtools.get_femelement_directions_theshape (   femmesh,
  femelement_table,
  theshape 
)

◆ get_femelement_edges_table()

def femmesh.meshtools.get_femelement_edges_table (   femmesh,
  edges_only = None 
)
 get_femelement_edges_table(femmesh): { elementid : [ nodeid, nodeid, ... , nodeid ] }

◆ get_femelement_faces_table()

def femmesh.meshtools.get_femelement_faces_table (   femmesh,
  faces_only = None 
)
 get_femelement_faces_table(femmesh): { elementid : [ nodeid, nodeid, ... , nodeid ] }

◆ get_femelement_sets()

def femmesh.meshtools.get_femelement_sets (   femmesh,
  femelement_table,
  fem_objects,
  femnodes_ele_table = None 
)

◆ get_femelement_sets_from_group_data()

def femmesh.meshtools.get_femelement_sets_from_group_data (   femmesh,
  fem_objects 
)

◆ get_femelement_table()

def femmesh.meshtools.get_femelement_table (   femmesh)

◆ get_femelement_volumes_table()

def femmesh.meshtools.get_femelement_volumes_table (   femmesh)
 get_femelement_volumes_table(femmesh): { elementid : [ nodeid, nodeid, ... , nodeid ] }

◆ get_femelements_by_femnodes_bin()

def femmesh.meshtools.get_femelements_by_femnodes_bin (   femelement_table,
  femnodes_ele_table,
  node_list 
)
for every femelement of femelement_table
if all nodes of the femelement are in node_list,
the femelement is added to the list which is returned
blind fast binary search, but works for volumes only

References femmesh.meshtools.get_bit_pattern_dict().

Referenced by femmesh.meshtools.get_femelements_by_references().

◆ get_femelements_by_femnodes_std()

def femmesh.meshtools.get_femelements_by_femnodes_std (   femelement_table,
  node_list 
)
for every femelement of femelement_table
if all nodes of the femelement are in node_list,
the femelement is added to the list which is returned
e: elementlist
nodes: nodelist 

Referenced by femmesh.meshtools.get_femelement_directions_theshape(), femmesh.meshtools.get_femelements_by_references(), femmesh.meshtools.get_ref_edgenodes_table(), and femmesh.meshtools.get_ref_facenodes_table().

◆ get_femelements_by_references()

def femmesh.meshtools.get_femelements_by_references (   femmesh,
  femelement_table,
  references,
  femnodes_ele_table = None 
)

◆ get_femmesh_eletype()

def femmesh.meshtools.get_femmesh_eletype (   femmesh,
  femelement_table = None 
)

◆ get_femmesh_groupdata_sets_by_name()

def femmesh.meshtools.get_femmesh_groupdata_sets_by_name (   femmesh,
  fem_object,
  group_data_type 
)

◆ get_femnodes_by_femobj_with_references()

def femmesh.meshtools.get_femnodes_by_femobj_with_references (   femmesh,
  femobj 
)

◆ get_femnodes_by_references()

def femmesh.meshtools.get_femnodes_by_references (   femmesh,
  references 
)
get the femnodes for a list of references

References femmesh.meshtools.get_femnodes_by_refshape().

Referenced by femmesh.meshtools.get_femnodes_by_femobj_with_references().

◆ get_femnodes_by_refshape()

◆ get_femnodes_ele_table()

def femmesh.meshtools.get_femnodes_ele_table (   femnodes_mesh,
  femelement_table 
)
the femnodes_ele_table contains for each node its membership in elements
{nodeID : [[eleID, NodePosition], [], ...], nodeID : [[], [], ...], ...}
stored information is:
element number, the number of nodes per element
the position of the node in the element.
The position of the node in the element is coded
as a set bit at that position in a bit array (integer)
FIXME: the number of nodes per element should be
replaced by the type of the element
but I did not know how to get this from the mesh.
Since the femelement_table contains either
volume or face or edgemesh the femnodes_ele_table only
has either volume or face or edge elements
see get_femelement_table()

References femmesh.meshtools.get_femelement_table().

◆ get_femvolumeelements_by_femfacenodes()

def femmesh.meshtools.get_femvolumeelements_by_femfacenodes (   femelement_table,
  node_list 
)
assume femelement_table only has volume elements
for every femvolumeelement of femelement_table
for tetra4 and tetra10 the C++ methods could be used --> test again to be sure
if hexa8 volume element
    --> if exact 4 element nodes are in node_list --> add femelement
if hexa20 volume element
    --> if exact 8 element nodes are in node_list --> add femelement
if penta6 volume element
    --> if exact 3 or 6 element nodes are in node_list --> add femelement
if penta15 volume element
    --> if exact 6 or 8 element nodes are in node_list --> add femelement
e: elementlist
nodes: nodelist 

Referenced by femmesh.meshtools.get_ref_facenodes_table().

◆ get_force_obj_edge_nodeload_table()

def femmesh.meshtools.get_force_obj_edge_nodeload_table (   femmesh,
  femelement_table,
  femnodes_mesh,
  frc_obj 
)

◆ get_force_obj_face_nodeload_table()

def femmesh.meshtools.get_force_obj_face_nodeload_table (   femmesh,
  femelement_table,
  femnodes_mesh,
  frc_obj 
)

◆ get_force_obj_vertex_nodeload_table()

def femmesh.meshtools.get_force_obj_vertex_nodeload_table (   femmesh,
  frc_obj 
)

◆ get_mesh_group_elements()

def femmesh.meshtools.get_mesh_group_elements (   mesh_group_obj,
  aPart 
)
the Reference shapes of the mesh_group_object are searched in the Shape of aPart.
   If found in shape they are added to a dict
   {MeshGroupIdentifier : ["ShapeType of the Elements"], [ElementID, ElementID, ...], ...}

References femmesh.meshtools.get_reference_group_elements().

◆ get_pressure_obj_faces()

◆ get_pressure_obj_faces_depreciated()

def femmesh.meshtools.get_pressure_obj_faces_depreciated (   femmesh,
  femobj 
)

◆ get_ref_edgenodes_lengths()

def femmesh.meshtools.get_ref_edgenodes_lengths (   femnodes_mesh,
  edge_table 
)

◆ get_ref_edgenodes_table()

◆ get_ref_facenodes_areas()

def femmesh.meshtools.get_ref_facenodes_areas (   femnodes_mesh,
  face_table 
)

◆ get_ref_facenodes_table()

◆ get_ref_shape_node_sum_geom_table()

def femmesh.meshtools.get_ref_shape_node_sum_geom_table (   node_geom_table)

◆ get_reference_group_elements()

def femmesh.meshtools.get_reference_group_elements (   obj,
  aPart 
)
 obj is an FEM object which has reference shapes like the group object
the material, most of the constraints
aPart is geometry feature normally CompSolid
the method searches all reference shapes of obj inside aPart even if
the reference shapes are a totally different geometry feature.
a tuple is returned ("Name or Label of the FEMobject", ["Element1", "Element2", ...])
The names in the list are the Elements of the geometry aPart
whereas "Solid1" == aPart.Shape.Solids[0]
!!! It is strongly recommended to use as reference shapes the Solids of a CompSolid
and not the Solids the CompSolid is made of !!!
see https://forum.freecadweb.org/viewtopic.php?f=18&t=12212&p=175777#p175777
and following posts
Occt might change the Solids a CompSolid is made of during
creation of the CompSolid by adding Edges and vertices
Thus the Elements do not have the same geometry anymore

Referenced by femmesh.meshtools.get_analysis_group_elements(), and femmesh.meshtools.get_mesh_group_elements().

◆ get_stats()

def femresult.resulttools.get_stats (   res_obj,
  result_type 
)
Returns minimum and maximum value for provided result type

Parameters
----------
resultobj : Fem::ResultMechanical
    FreeCAD FEM mechanical result object
result_type : str
    type of FEM result
    allowed are: see dict keys in def get_all_stats()
    None - always return (0.0, 0.0)

References femresult.resulttools.get_all_stats().

◆ get_three_non_colinear_nodes()

def femmesh.meshtools.get_three_non_colinear_nodes (   nodes_coords)

◆ get_tie_obj_faces()

◆ get_triangle_area()

def femmesh.meshtools.get_triangle_area (   P1,
  P2,
  P3 
)

◆ has_no_face_data()

def femmesh.meshtools.has_no_face_data (   femmesh)

◆ is_edge_femmesh()

◆ is_face_femmesh()

◆ is_solid_femmesh()

◆ is_zplane_2D_mesh()

def femmesh.meshtools.is_zplane_2D_mesh (   femmesh)

◆ isNumbered()

def femsolver.elmer.sifio.isNumbered (   section)

◆ isValid()

◆ makeAnalysis()

def ObjectsFem.makeAnalysis (   doc,
  name = "Analysis" 
)
makeAnalysis(document, [name]):
makes a Fem Analysis object

Referenced by femtest.app.test_object.create_all_fem_objects_doc(), femexamples.buckling_lateraltorsionalbuckling.setup(), femexamples.buckling_platebuckling.setup(), femexamples.ccx_buckling_flexuralbuckling.setup(), femexamples.constraint_centrif.setup(), femexamples.constraint_contact_shell_shell.setup(), femexamples.constraint_contact_solid_solid.setup(), femexamples.constraint_section_print.setup(), femexamples.constraint_selfweight_cantilever.setup(), femexamples.constraint_tie.setup(), femexamples.constraint_transform_beam_hinged.setup(), femexamples.constraint_transform_torque.setup(), femexamples.frequency_beamsimple.setup(), femexamples.material_multiple_bendingbeam_fiveboxes.setup(), femexamples.material_multiple_bendingbeam_fivefaces.setup(), femexamples.material_multiple_tensionrod_twoboxes.setup(), femexamples.material_nl_platewithhole.setup(), femexamples.mystran_plate.setup(), femexamples.rc_wall_2d.setup(), femexamples.square_pipe_end_twisted_edgeforces.setup(), femexamples.square_pipe_end_twisted_nodeforces.setup(), femexamples.thermomech_bimetall.setup(), femexamples.thermomech_flow1d.setup(), femexamples.thermomech_spine.setup(), femexamples.truss_3d_cs_circle_ele_seg3.setup(), femexamples.elmer_nonguitutorial01_eigenvalue_of_elastic_beam.setup(), femexamples.equation_electrostatics_capacitance_two_balls.setup(), femexamples.equation_electrostatics_electricforce_elmer_nongui6.setup(), femexamples.boxanalysis_base.setup_boxanalysisbase(), femexamples.ccx_cantilever_base_edge.setup_cantilever_base_edge(), femexamples.ccx_cantilever_base_face.setup_cantilever_base_face(), femexamples.ccx_cantilever_base_solid.setup_cantilever_base_solid(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromfem(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromstd(), femtest.app.test_object.TestObjectType.test_femobjects_isoftype(), and femtest.app.test_object.TestObjectType.test_femobjects_type().

◆ makeConstantVacuumPermittivity()

◆ makeConstraintBearing()

◆ makeConstraintBodyHeatSource()

def ObjectsFem.makeConstraintBodyHeatSource (   doc,
  name = "ConstraintBodyHeatSource" 
)

◆ makeConstraintCentrif()

◆ makeConstraintContact()

◆ makeConstraintDisplacement()

◆ makeConstraintElectrostaticPotential()

◆ makeConstraintFixed()

def ObjectsFem.makeConstraintFixed (   doc,
  name = "ConstraintFixed" 
)
makeConstraintFixed(document, [name]):
makes a Fem ConstraintFixed object

Referenced by femtest.app.test_object.create_all_fem_objects_doc(), femexamples.boxanalysis_static.setup(), femexamples.ccx_buckling_flexuralbuckling.setup(), femexamples.constraint_centrif.setup(), femexamples.constraint_contact_shell_shell.setup(), femexamples.constraint_contact_solid_solid.setup(), femexamples.constraint_section_print.setup(), femexamples.constraint_selfweight_cantilever.setup(), femexamples.constraint_tie.setup(), femexamples.constraint_transform_torque.setup(), femexamples.material_multiple_bendingbeam_fiveboxes.setup(), femexamples.material_multiple_bendingbeam_fivefaces.setup(), femexamples.material_multiple_tensionrod_twoboxes.setup(), femexamples.material_nl_platewithhole.setup(), femexamples.mystran_plate.setup(), femexamples.rc_wall_2d.setup(), femexamples.square_pipe_end_twisted_edgeforces.setup(), femexamples.square_pipe_end_twisted_nodeforces.setup(), femexamples.thermomech_bimetall.setup(), femexamples.thermomech_spine.setup(), femexamples.truss_3d_cs_circle_ele_seg3.setup(), femexamples.elmer_nonguitutorial01_eigenvalue_of_elastic_beam.setup(), femexamples.ccx_cantilever_base_edge.setup_cantilever_base_edge(), femexamples.ccx_cantilever_base_face.setup_cantilever_base_face(), femexamples.ccx_cantilever_base_solid.setup_cantilever_base_solid(), femtest.app.test_common.TestFemCommon.test_adding_refshaps(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromfem(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromstd(), femtest.app.test_object.TestObjectType.test_femobjects_isoftype(), and femtest.app.test_object.TestObjectType.test_femobjects_type().

◆ makeConstraintFlowVelocity()

◆ makeConstraintFluidBoundary()

◆ makeConstraintForce()

◆ makeConstraintGear()

◆ makeConstraintHeatflux()

◆ makeConstraintInitialFlowVelocity()

def ObjectsFem.makeConstraintInitialFlowVelocity (   doc,
  name = "ConstraintInitialFlowVelocity" 
)

◆ makeConstraintInitialTemperature()

◆ makeConstraintPlaneRotation()

◆ makeConstraintPressure()

◆ makeConstraintPulley()

◆ makeConstraintSectionPrint()

def ObjectsFem.makeConstraintSectionPrint (   doc,
  name = "ConstraintSectionPrint" 
)

◆ makeConstraintSelfWeight()

◆ makeConstraintSpring()

◆ makeConstraintTemperature()

◆ makeConstraintTie()

◆ makeConstraintTransform()

◆ makeElementFluid1D()

◆ makeElementGeometry1D()

def ObjectsFem.makeElementGeometry1D (   doc,
  sectiontype = "Rectangular",
  width = 10.0,
  height = 25.0,
  name = "ElementGeometry1D" 
)

◆ makeElementGeometry2D()

◆ makeElementRotation1D()

def ObjectsFem.makeElementRotation1D (   doc,
  name = "ElementRotation1D" 
)

◆ makeEquationElasticity()

◆ makeEquationElectricforce()

◆ makeEquationElectrostatic()

◆ makeEquationFlow()

◆ makeEquationFlux()

◆ makeEquationHeat()

◆ makeMaterialFluid()

◆ makeMaterialMechanicalNonlinear()

def ObjectsFem.makeMaterialMechanicalNonlinear (   doc,
  base_material,
  name = "MaterialMechanicalNonlinear" 
)

◆ makeMaterialReinforced()

def ObjectsFem.makeMaterialReinforced (   doc,
  name = "MaterialReinforced" 
)

◆ makeMaterialSolid()

def ObjectsFem.makeMaterialSolid (   doc,
  name = "MaterialSolid" 
)
makeMaterialSolid(document, [name]):
makes a FEM Material for solid

Referenced by femtest.app.test_object.create_all_fem_objects_doc(), femexamples.buckling_lateraltorsionalbuckling.setup(), femexamples.buckling_platebuckling.setup(), femexamples.ccx_buckling_flexuralbuckling.setup(), femexamples.constraint_centrif.setup(), femexamples.constraint_contact_shell_shell.setup(), femexamples.constraint_contact_solid_solid.setup(), femexamples.constraint_section_print.setup(), femexamples.constraint_selfweight_cantilever.setup(), femexamples.constraint_tie.setup(), femexamples.constraint_transform_beam_hinged.setup(), femexamples.constraint_transform_torque.setup(), femexamples.frequency_beamsimple.setup(), femexamples.material_multiple_bendingbeam_fiveboxes.setup(), femexamples.material_multiple_bendingbeam_fivefaces.setup(), femexamples.material_multiple_tensionrod_twoboxes.setup(), femexamples.material_nl_platewithhole.setup(), femexamples.mystran_plate.setup(), femexamples.square_pipe_end_twisted_edgeforces.setup(), femexamples.square_pipe_end_twisted_nodeforces.setup(), femexamples.thermomech_bimetall.setup(), femexamples.thermomech_spine.setup(), femexamples.truss_3d_cs_circle_ele_seg3.setup(), femexamples.elmer_nonguitutorial01_eigenvalue_of_elastic_beam.setup(), femexamples.boxanalysis_base.setup_boxanalysisbase(), femexamples.ccx_cantilever_base_edge.setup_cantilever_base_edge(), femexamples.ccx_cantilever_base_face.setup_cantilever_base_face(), femexamples.ccx_cantilever_base_solid.setup_cantilever_base_solid(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromfem(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromstd(), femtest.app.test_object.TestObjectType.test_femobjects_isoftype(), and femtest.app.test_object.TestObjectType.test_femobjects_type().

◆ makeMeshBoundaryLayer()

def ObjectsFem.makeMeshBoundaryLayer (   doc,
  base_mesh,
  name = "MeshBoundaryLayer" 
)

◆ makeMeshGmsh()

def ObjectsFem.makeMeshGmsh (   doc,
  name = "MeshGmsh" 
)
makeMeshGmsh(document, [name]):
makes a Gmsh FEM mesh object

Referenced by femtest.app.test_object.create_all_fem_objects_doc(), femmesh.gmshtools.GmshTools.read_and_set_new_mesh(), femexamples.buckling_lateraltorsionalbuckling.setup(), femexamples.buckling_platebuckling.setup(), femexamples.ccx_buckling_flexuralbuckling.setup(), femexamples.constraint_centrif.setup(), femexamples.constraint_contact_shell_shell.setup(), femexamples.constraint_contact_solid_solid.setup(), femexamples.constraint_section_print.setup(), femexamples.constraint_selfweight_cantilever.setup(), femexamples.constraint_tie.setup(), femexamples.constraint_transform_beam_hinged.setup(), femexamples.constraint_transform_torque.setup(), femexamples.frequency_beamsimple.setup(), femexamples.material_multiple_bendingbeam_fiveboxes.setup(), femexamples.material_multiple_bendingbeam_fivefaces.setup(), femexamples.material_multiple_tensionrod_twoboxes.setup(), femexamples.material_nl_platewithhole.setup(), femexamples.mystran_plate.setup(), femexamples.rc_wall_2d.setup(), femexamples.square_pipe_end_twisted_edgeforces.setup(), femexamples.square_pipe_end_twisted_nodeforces.setup(), femexamples.thermomech_bimetall.setup(), femexamples.thermomech_flow1d.setup(), femexamples.thermomech_spine.setup(), femexamples.truss_3d_cs_circle_ele_seg3.setup(), femexamples.elmer_nonguitutorial01_eigenvalue_of_elastic_beam.setup(), femexamples.equation_electrostatics_capacitance_two_balls.setup(), femexamples.equation_electrostatics_electricforce_elmer_nongui6.setup(), femexamples.boxanalysis_base.setup_boxanalysisbase(), femexamples.ccx_cantilever_base_edge.setup_cantilever_base_edge(), femexamples.ccx_cantilever_base_face.setup_cantilever_base_face(), femexamples.ccx_cantilever_base_solid.setup_cantilever_base_solid(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromfem(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromstd(), femtest.app.test_object.TestObjectType.test_femobjects_isoftype(), and femtest.app.test_object.TestObjectType.test_femobjects_type().

◆ makeMeshGroup()

def ObjectsFem.makeMeshGroup (   doc,
  base_mesh,
  use_label = False,
  name = "MeshGroup" 
)

◆ makeMeshNetgen()

◆ makeMeshRegion()

◆ makeMeshResult()

◆ makePostVtkFilterClipRegion()

def ObjectsFem.makePostVtkFilterClipRegion (   doc,
  base_vtk_result,
  name = "VtkFilterClipRegion" 
)
makePostVtkFilterClipRegion(document, base_vtk_result, [name]):
creates a FEM post processing region clip filter object (vtk based)

Referenced by femtest.app.test_object.create_all_fem_objects_doc().

◆ makePostVtkFilterClipScalar()

def ObjectsFem.makePostVtkFilterClipScalar (   doc,
  base_vtk_result,
  name = "VtkFilterClipScalar" 
)
makePostVtkFilterClipScalar(document, base_vtk_result, [name]):
creates a FEM post processing scalar clip filter object (vtk based)

Referenced by femtest.app.test_object.create_all_fem_objects_doc().

◆ makePostVtkFilterCutFunction()

def ObjectsFem.makePostVtkFilterCutFunction (   doc,
  base_vtk_result,
  name = "VtkFilterCutFunction" 
)
makePostVtkFilterCutFunction(document, base_vtk_result, [name]):
creates a FEM post processing cut function filter object (vtk based)

Referenced by femtest.app.test_object.create_all_fem_objects_doc().

◆ makePostVtkFilterWarp()

def ObjectsFem.makePostVtkFilterWarp (   doc,
  base_vtk_result,
  name = "VtkFilterWarp" 
)
makePostVtkFilterWarp(document, base_vtk_result, [name]):
creates a FEM post processing warp filter object (vtk based)

Referenced by femtest.app.test_object.create_all_fem_objects_doc().

◆ makePostVtkResult()

def ObjectsFem.makePostVtkResult (   doc,
  base_result,
  name = "VtkResult" 
)
makePostVtkResult(document, base_result, [name]):
creates a FEM post processing result object (vtk based) to hold FEM results

Referenced by femtest.app.test_object.create_all_fem_objects_doc().

◆ makeResultMechanical()

◆ makeSolverCalculix()

def ObjectsFem.makeSolverCalculix (   doc,
  name = "SolverCalculix" 
)
makeSolverCalculix(document, [name]):
makes a Calculix solver object

References femsolver.calculix.solver.create().

Referenced by femtest.app.test_object.create_all_fem_objects_doc(), femexamples.boxanalysis_frequency.setup(), femexamples.boxanalysis_static.setup(), femexamples.buckling_lateraltorsionalbuckling.setup(), femexamples.buckling_platebuckling.setup(), femexamples.ccx_buckling_flexuralbuckling.setup(), femexamples.constraint_centrif.setup(), femexamples.constraint_contact_shell_shell.setup(), femexamples.constraint_contact_solid_solid.setup(), femexamples.constraint_section_print.setup(), femexamples.constraint_selfweight_cantilever.setup(), femexamples.constraint_tie.setup(), femexamples.constraint_transform_beam_hinged.setup(), femexamples.constraint_transform_torque.setup(), femexamples.frequency_beamsimple.setup(), femexamples.material_multiple_bendingbeam_fiveboxes.setup(), femexamples.material_multiple_bendingbeam_fivefaces.setup(), femexamples.material_multiple_tensionrod_twoboxes.setup(), femexamples.material_nl_platewithhole.setup(), femexamples.mystran_plate.setup(), femexamples.rc_wall_2d.setup(), femexamples.square_pipe_end_twisted_edgeforces.setup(), femexamples.square_pipe_end_twisted_nodeforces.setup(), femexamples.thermomech_bimetall.setup(), femexamples.thermomech_flow1d.setup(), femexamples.thermomech_spine.setup(), femexamples.truss_3d_cs_circle_ele_seg3.setup(), femexamples.elmer_nonguitutorial01_eigenvalue_of_elastic_beam.setup(), femexamples.ccx_cantilever_base_edge.setup_cantilever_base_edge(), femexamples.ccx_cantilever_base_face.setup_cantilever_base_face(), femexamples.ccx_cantilever_base_solid.setup_cantilever_base_solid(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromfem(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromstd(), femtest.app.test_object.TestObjectType.test_femobjects_isoftype(), and femtest.app.test_object.TestObjectType.test_femobjects_type().

◆ makeSolverCalculixCcxTools()

def ObjectsFem.makeSolverCalculixCcxTools (   doc,
  name = "SolverCcxTools" 
)
makeSolverCalculixCcxTools(document, [name]):
makes a Calculix solver object for the ccx tools module

Referenced by femtest.app.test_object.create_all_fem_objects_doc(), femexamples.boxanalysis_frequency.setup(), femexamples.boxanalysis_static.setup(), femexamples.buckling_lateraltorsionalbuckling.setup(), femexamples.buckling_platebuckling.setup(), femexamples.ccx_buckling_flexuralbuckling.setup(), femexamples.constraint_centrif.setup(), femexamples.constraint_contact_shell_shell.setup(), femexamples.constraint_contact_solid_solid.setup(), femexamples.constraint_section_print.setup(), femexamples.constraint_selfweight_cantilever.setup(), femexamples.constraint_tie.setup(), femexamples.constraint_transform_beam_hinged.setup(), femexamples.constraint_transform_torque.setup(), femexamples.frequency_beamsimple.setup(), femexamples.material_multiple_bendingbeam_fiveboxes.setup(), femexamples.material_multiple_bendingbeam_fivefaces.setup(), femexamples.material_multiple_tensionrod_twoboxes.setup(), femexamples.material_nl_platewithhole.setup(), femexamples.mystran_plate.setup(), femexamples.rc_wall_2d.setup(), femexamples.square_pipe_end_twisted_edgeforces.setup(), femexamples.square_pipe_end_twisted_nodeforces.setup(), femexamples.thermomech_bimetall.setup(), femexamples.thermomech_flow1d.setup(), femexamples.thermomech_spine.setup(), femexamples.truss_3d_cs_circle_ele_seg3.setup(), femexamples.elmer_nonguitutorial01_eigenvalue_of_elastic_beam.setup(), femexamples.ccx_cantilever_base_edge.setup_cantilever_base_edge(), femexamples.ccx_cantilever_base_face.setup_cantilever_base_face(), femexamples.ccx_cantilever_base_solid.setup_cantilever_base_solid(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromfem(), femtest.app.test_object.TestObjectType.test_femobjects_derivedfromstd(), femtest.app.test_object.TestObjectType.test_femobjects_isoftype(), and femtest.app.test_object.TestObjectType.test_femobjects_type().

◆ makeSolverElmer()

◆ makeSolverMystran()

◆ makeSolverZ88()

◆ notify()

◆ print_obj_info()

◆ purge_results()

def femresult.resulttools.purge_results (   analysis)
Removes all result objects and result meshes from an analysis group

Parameters
----------
analysis : Fem::FemAnalysis
    analysis group as a container for all  objects needed for the analysis

◆ reset_mesh_color()

def femresult.resulttools.reset_mesh_color (   resultobj)
Resets result mesh color

Parameters
----------
resultobj : Fem::ResultMechanical
    FreeCAD FEM mechanical result object

Referenced by femresult.resulttools.show_result().

◆ reset_mesh_deformation()

def femresult.resulttools.reset_mesh_deformation (   resultobj)
Resets result mesh deformation

Parameters
----------
resultobj : Fem::ResultMechanical
    FreeCAD FEM mechanical result object

◆ show_color_by_scalar_with_cutoff()

def femresult.resulttools.show_color_by_scalar_with_cutoff (   resultobj,
  values,
  limit = None 
)
Sets mesh color using list of values. Internally used by show_result function.

Parameters
----------
resultobj : Fem::ResultMechanical
    FreeCAD FEM mechanical result object
values : list of floats
    the values to be colored and cutoff
    has to be the same length as resultobj.NodeNumbers
    resultobj.NodeNumbers has to be present in the resultobj
limit : float
    limit cutoff value. All values over the limit are treated
    as equal to the limit. Useful for filtering out hotspots.

Referenced by femresult.resulttools.show_result().

◆ show_displacement()

def femresult.resulttools.show_displacement (   resultobj,
  displacement_factor = 0.0 
)

◆ show_result()

def femresult.resulttools.show_result (   resultobj,
  result_type = "Sabs",
  limit = None 
)
Sets mesh color using selected type of results

Parameters
----------
resultobj : Fem::ResultMechanical
    FreeCAD FEM mechanical result object
result_type : str, optional
    default is Sabs
    FreeCAD FEM mechanical result object
    - U1, U2, U3 - deformation
    - Uabs - absolute deformation
    - Sabs - Von Mises stress
limit : float
    limit cutoff value. All values over the limit are treated
    as equal to the limit. Useful for filtering out hotspots.

References femresult.resulttools.reset_mesh_color(), and femresult.resulttools.show_color_by_scalar_with_cutoff().

◆ sortlistoflistvalues()

def femmesh.meshtools.sortlistoflistvalues (   listoflists)

◆ use_correct_fluidinout_ele_def()

def femmesh.meshtools.use_correct_fluidinout_ele_def (   FluidInletoutlet_ele,
  fileName,
  fluid_inout_nodes_file 
)

◆ write_D_network_element_to_inputfile()

def femmesh.meshtools.write_D_network_element_to_inputfile (   fileName)

◆ writeSections()

def femsolver.elmer.sifio.writeSections (   sections,
  stream 
)

Variable Documentation

◆ ABORT

string femsolver.elmer.sifio.ABORT = "Abort"

◆ App

feminout.convert2TetGen.App = FreeCAD

Referenced by StdCmdRevert.activated().

◆ BODY

string femsolver.elmer.sifio.BODY = "Body"

◆ BODY_FORCE

string femsolver.elmer.sifio.BODY_FORCE = "Body Force"

◆ BOUNDARY_CONDITION

string femsolver.elmer.sifio.BOUNDARY_CONDITION = "Boundary Condition"

◆ COMPONENT

string femsolver.elmer.sifio.COMPONENT = "Component"

◆ CONSTANTS

string femsolver.elmer.sifio.CONSTANTS = "Constants"

◆ EQUATION

string femsolver.elmer.sifio.EQUATION = "Equation"

◆ ERROR

int femsolver.report.ERROR = 30

◆ ERROR_COLOR

string femsolver.reportdialog.ERROR_COLOR = "red"

◆ Gui

◆ IGNORE

string femsolver.elmer.sifio.IGNORE = "Ignore"

◆ INFO

int femsolver.report.INFO = 10

◆ INFO_COLOR

string femsolver.reportdialog.INFO_COLOR = "blue"

◆ INITIAL_CONDITION

string femsolver.elmer.sifio.INITIAL_CONDITION = "Initial Condition"

◆ LINEAR_DIRECT

list femsolver.elmer.equations.linear.LINEAR_DIRECT = ["Banded", "umfpack"]

◆ LINEAR_ITERATIVE

list femsolver.elmer.equations.linear.LINEAR_ITERATIVE
Initial value:
1= [
2 "CG",
3 "CGS",
4 "BiCGStab",
5 "BiCGStabl",
6 "TFQMR",
7 "GMRES",
8 "GCR",
9]

◆ LINEAR_PRECONDITIONING

list femsolver.elmer.equations.linear.LINEAR_PRECONDITIONING
Initial value:
1= [
2 "None",
3 "Diagonal",
4 "ILU0",
5 "ILU1",
6 "ILU2",
7 "ILU3",
8 "ILU4",
9]

◆ LINEAR_SOLVER

list femsolver.elmer.equations.linear.LINEAR_SOLVER = ["Direct", "Iterative"]

◆ MATERIAL

string femsolver.elmer.sifio.MATERIAL = "Material"

◆ pynas_code [1/2]

string femsolver.mystran.add_femelement_geometry.pynas_code
Initial value:
1= """
2# pshell card, thin shell element properties
3model.add_pshell(1, mid1=1, t=0.3, mid2=1, mid3=1)
4
5
6"""

◆ pynas_code [2/2]

string femsolver.mystran.add_solver_control.pynas_code
Initial value:
1= """
2# executive control
3model.sol = 101
4
5
6# params cards
7model.add_param(key="POST", values=-1)
8# model.add_param(key="PRTMAXIM", values="YES") # not recognized by Mystran
9
10
11# case control
12from pyNastran.bdf.bdf import CaseControlDeck
13cc = CaseControlDeck([
14 "ECHO = NONE",
15 "TITLE = pyNastran for generating solverinput for for Mystran",
16 "SUBCASE 1",
17 " SUBTITLE = Default",
18 " LOAD = 1",
19 " SPC = 1",
20 " SPCFORCES(SORT1,REAL) = ALL",
21 " STRESS(SORT1,REAL,VONMISES,BILIN) = ALL",
22 " DISPLACEMENT(SORT1,REAL) = ALL",
23])
24model.case_control_deck = cc
25# model.validate() # creates an error
26"""

◆ result_reading

bool femsolver.mystran.tasks.result_reading = True

◆ SILENT

string femsolver.elmer.sifio.SILENT = "Silent"

◆ SIMULATION

string femsolver.elmer.sifio.SIMULATION = "Simulation"

◆ SOLVER

string femsolver.elmer.sifio.SOLVER = "Solver"

◆ SOLVER_TYPES

list femsolver.z88.tasks.SOLVER_TYPES = ["sorcg", "siccg", "choly"]

◆ units_information

string femsolver.calculix.writer.units_information
Initial value:
1= """***********************************************************
2** About units:
3** See ccx manual, ccx does not know about any unit.
4** Golden rule: The user must make sure that the numbers they provide have consistent units.
5** The user is the FreeCAD calculix writer module ;-)
6**
7** The unit system which is used at Guido Dhondt's company: mm, N, s, K
8** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N
9** The following units are used to write to inp file:
10**
11** Length: mm (this includes the mesh geometry)
12** Mass: t
13** TimeSpan: s
14** Temperature: K
15**
16** This leads to:
17** Force: N
18** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure)
19** Density: t/mm^3
20** Gravity: mm/s^2
21** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K
22** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K
23"""

◆ WARN

string femsolver.elmer.sifio.WARN = "Warn"

◆ WARNING

int femsolver.report.WARNING = 20

◆ WARNING_COLOR

string femsolver.reportdialog.WARNING_COLOR = "#ffaa00"

◆ z88_dyn_template

string femsolver.z88.writer.z88_dyn_template

◆ z88_man_template

string femsolver.z88.writer.z88_man_template