| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | __title__ = "FreeCAD FEM calculix constraint sectionprint" |
| | __author__ = "Bernd Hahnebach" |
| | __url__ = "https://www.freecad.org" |
| |
|
| |
|
| | def get_analysis_types(): |
| | return "all" |
| |
|
| |
|
| | def get_sets_name(): |
| | return "constraints_sectionprint_surface_sets" |
| |
|
| |
|
| | def get_constraint_title(): |
| | return "SectionPrint Constraints" |
| |
|
| |
|
| | def get_before_write_meshdata_constraint(): |
| | return "" |
| |
|
| |
|
| | def get_after_write_meshdata_constraint(): |
| | return "" |
| |
|
| |
|
| | def get_before_write_constraint(): |
| | return "" |
| |
|
| |
|
| | def get_after_write_constraint(): |
| | return "" |
| |
|
| |
|
| | def write_meshdata_constraint(f, femobj, sectionprint_obj, ccxwriter): |
| | f.write(f"*SURFACE, NAME=SECTIONFACE{sectionprint_obj.Name}\n") |
| |
|
| | for refs, surf, is_sub_el in femobj["SectionPrintFaces"]: |
| | if is_sub_el: |
| | for elem, fno in surf: |
| | f.write(f"{elem},S{fno}\n") |
| | else: |
| | for elem in surf: |
| | f.write(f"{elem},S2\n") |
| |
|
| |
|
| | def write_constraint(f, femobj, sectionprint_obj, ccxwriter): |
| |
|
| | |
| |
|
| | variable = sectionprint_obj.Variable |
| | if variable == "Section Force": |
| | key = "SOF, SOM, SOAREA" |
| | elif variable == "Heat Flux": |
| | key = "FLUX" |
| | elif variable == "Drag Stress": |
| | key = "DRAG" |
| | elif variable == "Electric Flux": |
| | key = "FLUX" |
| |
|
| | f.write( |
| | "*SECTION PRINT, SURFACE=SECTIONFACE{}, NAME=SECTIONPRINT{}\n".format( |
| | sectionprint_obj.Name, sectionprint_obj.Name |
| | ) |
| | ) |
| | f.write(key + "\n") |
| |
|