Skip to content

0.9.22 (2025-12-19)

  • UI changes:
  • fix validation error on default data in flat lifting by using onMount it makes anchors or anchorOnEdges null,
  • set default rigging for edge lifting to D-E-EL2-N,
  • after reset, make rigging as default value.

0.9.21 (2025-12-18)

  • Updating Python dependencies:
  • urllib3: 1.26.20 => 2.6.0
  • pymdown-extensions => 10.16.1
  • jupyterlab: 4.2.5 => 4.4.8
  • deepdiff: 8.4.2 => 8.6.1
  • Updating JS dependencies:
  • vite: 5.4.8 => 5.4.21
  • nanoid: 3.3.7 => 3.3.11

0.9.20 (2025-12-17)

  • add geometrical functions to help with shear cones clashes and test them:
  • extended_line_intersection,
  • angle_bisector,
  • clipped_triangle,
  • lines_overlap,
  • correct wll if wll_shear is the lowest,
  • change logic of resolving shear cones clashes according to Ali's comments,
  • add properties to visualize side shear anchor for edge anchors (internally),
  • add and correct test with shear anchors.

0.9.19 (2025-12-16)

  • allow shear cones to overlap the openings,
  • add percentage of load taken by line support,
  • correct G calculation for in_plane_stress_with_eccentricity.

0.9.18 (2025-11-20)

  • add BendingMomentResults,
  • add bending_results to FemResult,
  • extract interpolate_bending_data from plot_bending_diagram_from_points,
  • add svg_simplify_plot to generate top rigging svg figure,
  • add "top rigging" figure to all lifting scenarios precalc,
  • add new endpoint for anchor cone figures returning svgs /api/v1/fem/get-cone-svg-figure,
  • rename /api/v1/fem/get-cone-figure -> /api/v1/fem/get-cone-png-figure
  • add function get_tension_and_shear_cones to simplify endpoints code,
  • always return 2 rigging figures in precalc.

0.9.17 (2025-11-12)

  • assure that anchors has id: add Anchor & AnchorId to data model, add id to AnchorOnEdge & AnchorResult (by inheriting from AnchorId),
  • removed anchor_loads from FemResult, now everything is stored in anchor_results.loads,
  • update lifting scenario models Vertex -> Anchors,
  • update UI after removing anchor_loads from results,
  • update clean_result to keep track of the anchor_loads even though, they are not in the results directly,
  • check if anchor ids are uniquely defined,
  • correct tests to pass by adding ids for anchors or using _anchor_loads method.

0.9.16 (2025-11-11)

  • add endpoint returning just version.

0.9.15 (2025-11-10)

  • do not use moment equilibrium in equations_for_sling_lengths_4x2_3d_flat.

0.9.14 (2025-10-31)

  • add function project_nodes_onto_polygon and test it,
  • speed up function find_indices_with_tolerance,
  • correct abs figures and test it,
  • improve stress results for panels with features.

0.9.13 (2025-10-28)

  • anchor CA10170 is not available in Australia,
  • do NOT limit shear capacity by tension capacity,
  • assert warning is done, when edge anchors are too close to edge and to each other.

0.9.12 (2025-10-24)

  • add function average_duplicates & test it,
  • correct line adding to the mesh - if mid-point of the line is not in the main geometry, do not add it,
  • correct stress calculations, now we average the results of nodes with multiple stress values,
  • assure that shear capacity is limited to tensile capacity.

0.9.11 (2025-10-17)

  • refactor group -> cluster in UI.
  • add h_ef_0 & c1_0 to data model to store initial h_ef & c1,
  • add h_ef_0 & c1_0 in anchor calculation,
  • show additional data in anchor calculation UI:
  • A_ratio,
  • psi values,
  • initial c1 and h_ef.

0.9.10 (2025-10-16)

  • correct bending moment sign for tilt-up,
  • correct applicable_load_factor for tilt-up case,
  • assure there is always current_iteration,
  • test applicable_load_factor.

0.9.9 (2025-10-13)

  • speed up csr matrices coupling by 5-10 times by function couple_csr_matrices vectorization.

0.9.8 (2025-10-09)

  • add safety factor/factor of safety to UI,
  • change combined utilization calculation according to Ali's comments,
  • update tests as combined utilization raises warning not error,
  • I left combined utilization for EdjPro, even though Ali said it is unnecessary as it is only warning, no an error now.

0.9.7 (2025-10-09)

  • add is_rectangle_with_center and test it,
  • add method double_loads for AnchorLoadResult,
  • adapt calculations for special case D-F-FL-2x2-N,
  • adapt tests for special case D-F-FL-2x2-N.

0.9.6 (2025-10-07)

  • correct envelope of stresses in tilt-up,
  • delete error for edge anchors as they are now implemented,
  • refactor group -> cluster,
  • update result jsons for all lifting scenarios.

0.9.5 (2025-10-07)

  • update the database based on the excel from 7th October (Ali's changes from 30th September + Maciej's changes to unify naming convention),
  • delete unnecessary code in check_anchor_validity as now all face anchors have shaft diameter in database.

0.9.4 (2025-10-06)

  • incorporate distance to the line as tolerance for points_on_line. From now the CoG can be within 0.5mm tolerance from the line between the crane CoLs,
  • add tolerance in error message,
  • correct tolerance for force calculation using points_on_line to 0.5mm.

0.9.3 (2025-10-06)

  • fix Internal Server Error caused by Nan in response. Nan was in utilization_combined because tension_load took negative values for numerical zeros (e.g. -1e-12).

0.9.2 (2025-09-19)

  • raise error when panel polygons are self-intersecting in get_center_of_gravity_and_total_volume,

0.9.1 (2025-09-18)

  • always return selected anchor for anchor calculations (if no solution it is the last checked anchor),
  • if shear load == 0.0, do not return shear calculations,
  • add anchor ids to mesh, cone shear & cone tension figures,
  • UI changes - anchor table:
  • do not return c1, c2, etc if not valid for both tension and shear,
  • correct combined utilization calculation,
  • correct shear utilization calculation (now we take capacity of shear, not tension if it was lower),
  • warning if tensile capacity lower than shear capacity,
  • assign d_i to 20mm for EdjPro Face according to Ali's comment (TODO: update database),
  • correct stress_y_abs for all fem liftings (flat, erection & tilt-up),
  • correct colorbar colors and set unit to MPa,

0.9.0 (2025-09-17)

  • change shape function to quadratic,
  • change cell type to basix & quadratic for all calculations (fem, thickness, stresses),
  • improve stress interpolation by switching discontinuous to True,
  • add quadratic_mesh attribute to FenicsxFem,
  • apply point boundary conditions to main nodes (not to the intermediate one),
  • apply line boundary conditions between main nodes,
  • return reaction intensities only to main nodes calculate_reactions_in_line_bc,
  • correct CoG calculations,

0.8.36 (2025-09-12)

  • add anchor id (number) to rigging figures,
  • correct shear cone generation in call_figure_cone_generation,
  • do not use warnings in get_anchor_shear_resistance,

0.8.35 (2025-09-11)

  • add attributes to ValidAnchor:, - utilizations (tension/shear/combined), - wll_tension_concrete, - wll_shear_steel, - wll_shear_concrete, - wll_concrete_shear_table, - rename wll_concrete_shear -> wll_concrete_shear_CCD, - move warnings from WorkingLoadLimitTension/Shear attributes , add attributes to AnchorDB:,
  • rename wll_steel -> wll_tension_steel,
  • wll_shear_steel,
  • move edge anchor distance calculations from mesh.py/check_if_anchors_are_correctly_defined -> anchor-calculation.py/get_valid_anchors_for_panel,
  • simplify anchor calculation code plus check if edge anchor shear cone is inside panel,
  • in UI anchor calculation table has 5 columns:,
  • /Group,

  • Anchors,
  • Tension results,
  • Shear results,
  • Combined results,
  • visualize shear failure cone anchors for EdjPro anchors,
  • change No results to ---,
  • calculate shear resistance even if shear load is 0.0,

0.8.34 (2025-09-08)

  • add check of edge anchor distance and test it.

0.8.33 (2025-09-06)

  • update tensile capacities for database,
  • update interpolation for extrapolation in Ali's sense,
  • add InvalidAnchor class,
  • make decisive_method & decisive_concrete_method as potential None,
  • add invalid anchors to checked_anchors,
  • correct edge cones for tension and shear,
  • change unit in error message to tonnes,
  • always display concrete tension and concrete shear results,
  • add tick or cross next to UI dropdown if anchor is valid,

0.8.32 (2025-09-06)

  • correct rigging names D-F-FL2x2-S_FL2x2-2S -> D-F-FL2x2-2S_FL2x2-2S,
  • catch calculation errors and return CoL for precalc,

0.8.31 (2025-09-01)

  • add class EdgeSupportReactions,
  • add edge_support_reactions to FemResults,
  • update edge rotations and tilt-up calculations.

0.8.30 (2025-09-01)

  • make relative_start & relative_end as private attributes:
  • add setter and getter (not sure if necessary),
  • delete duplicated function update_supporting_lines,
  • delete functions validating relative_start & relative_end.

0.8.29 (2025-08-29)

  • add Literals for family, hanger_bar and shear_reinforcement_options,
  • correct suspicious hanger_bar values,
  • add shear_reinforcement_option to AnchorProperties,
  • add function interpolate_2d_data to get shear tabled results,
  • add tabular files (.csv) storing shear capacities of edge anchors,
  • make FAMILIES, HANGER_BAR_OPTIONS & SHEAR_REINFORCEMENT_OPTIONS` as constants,
  • change json database so that shear_reinforcement_options are not list,
  • change shear anchor capacities into single json file,
  • add cone anchors shear calculations,
  • add arrows to cone figures to show c1 & acting shear load,
  • add arrow, wll_shear & long_nametoValidAnchor` properties,
  • add default anchor_properties to defaultData jsons,
  • add faceAnchorOptions, edgeAnchorsOptions & marketOptions to utils.js,
  • add anchor properties selection to edge rotation, vertical lifting and mid-air rotation,
  • correct it for tilt-up,
  • add anchor calculations for problems with edge anchors,
  • add material properties to default data,
  • use MaterialInput in all endpoints,
  • move load_tension and load_shear to AnchorResults,
  • add edge_shear_polygon to ShearRestrictedArea,
  • update database based on new excel file,
  • add inward_normal,
  • correct perpendicular_bisector_intersections by checking distance to polygon not to the centroid,
  • delete unused csv files,
  • for VerticalLifting return loads in panel coordinate system,
  • hide columns in UI when all nulls,

0.8.28 (2025-08-22)

  • always add areas (initial_area & restricted_area) for Haeussler results,
  • change storing shear area (initial_area & restricted_area) unit to m2,
  • add decisive_concrete_mehtod to ValidAnchor,
  • add angle check between shear cones in get_all_cs_shear,
  • first check if anchor cones overlap then if h_ef needs to be modified,
  • return png figure and plot color panel, opening and features to plot_cone_areas_tension and plot_cone_areas_shear,
  • rename FigureGeneratorInput -> StressFigureGeneratorInput,
  • add new endpoint to generate cone figures /api/v1/fem/get-cone-figure,
  • add ConeFigureGeneratorInput,
  • update cone figure functions (plot_cone_areas_tension & plot_cone_areas_shear) in utils_figures,
  • update App.vue to generate cone figures of selectedAnchors changes,
  • add test for checking cone figure generation in api and without api,
  • add new material selector for tilt-up,
  • add new anchor selector for tilt-up,

0.8.27 (2025-08-29)

  • improve SVG export (generate_stress_figure_as_svg) by setting figure size according to panel bounding box proportionality,

0.8.26 (2025-08-19)

  • Anchor calculation results are shown in output. It works for face anchors so far.
  • Anchor input for flat lifting with face anchors is fixed.
  • Added new material selector for flat lifting.
  • Added new anchor selector for flat lifting.

0.8.25 (2025-08-17)

  • Docker logs now correctly shows output from API, including errors, making debugging easier.

0.8.24 (2025-08-17)

  • All precalc endpoints can now be called without anchors or anchors_on_edges. In that case, center of lift (CoL) and the rigging figure will not be returned.

0.8.23 (2025-08-15)

  • add anchor_calculations for face anchors (both for shear and tension),
  • add anchor_results to FemResult,
  • change generate_figures to False in fixtures,
  • add error for edge anchors, as they are not yet calculated,
  • new data model for AnchorResult including:
  • WorkingLoadLimit,
  • WorkingLoadLimitTension,
  • WorkingLoadLimitShear,
  • ShearRestrictedArea,
  • move AnchorLoadResult to new file to avoid circular import,
  • add functions plot_cone_areas_tension and plot_cone_areas_shear for visualizing anchor cone areas,
  • add geometrical functions for shear and tension acnhor calculations.

0.8.22 (2025-08-13)

  • Separated FemResultStresses from FemResult so that endpoint api/v1/fem/get-stress-figure only needs FemResultStresses
  • api/v1/fem/get-stress-figure now returns SVG directly, not any more encoded as base64

0.8.21 (2025-08-11)

  • add absolute as stress_side option for FigureGeneratorInput,
  • add proper types (not just List) for FemResults,
  • add functions to calculate absolute stresses FemResult,
  • add alis_colorbar as parameter to generate_stress_figure_as_svg so that we can use different colorbar.
  • WIP line_support_bc_points and line_support_bc_values to FemResult to store line reactions for edge rotation and tilt-up,
  • WIP update results json with line_support_bc_points and line_support_bc_values,

0.8.20 (2025-08-08)

  • add validators for supporting_edges and anchors_on_edges,
  • add max_spread_angle to RIGGING_OPTIONS,
  • add validator for spread_angle,
  • assign spread_angle for second part of mid-air rotation (vertical lifting).

0.8.19 (2025-08-07)

  • correct ali's colorbar,
  • add function generate_stress_figure_as_svg,
  • add colorbar_dict to FemImageApi,
  • add constant for Literals stress_direction and stress_side,
  • return colorbar_dict for stress figure endpoint,
  • raise ValueError if stress_value is correct in stress figure endpoint,

0.8.18 (2025-08-06)

  • delete unused DUMMY_IMAGE,
  • try to get rid of white spaces in 3d figures for svg,
  • add svg as argument for plot_3d_to_base64,
  • set generate_figures default as True,
  • add generate_figures as valid argument and test it for all lifting scenarios.

0.8.17 (2025-07-31)

  • generate json results for all lifting cases and store them in correct folder,
  • add generate_figure property for CommonLiftingProblem as toggle for pre-calculation,
  • add rigging for vertical lifting fixture,
  • add update_col_based_on_sheaves to correctly assign center of lift,
  • correct precalc for edge rotation,
  • write precalc functions for:
  • tilt-up,
  • vertical lifting,
  • mid-air,
  • apply precalc functions in api,
  • test precalc functions.

0.8.16 (2025-07-28)

  • add VertexOnGeometry, that has bulge property for circular lines,
  • update geometry, openings and features for CommonLiftingProblem to use VertexOnGeometry,
  • add Circle as new basic class,
  • add functions:
  • interpolate_arc,
  • linearize_circle,
  • get_perimeter,
  • add ZERO-BULGE to constants
  • add properties for CommonLiftingProblem:
  • perimeter,
  • feature_perimeters,
  • opening_perimeters;
  • allow Circle as feature or opening
  • update interpolate_arc for negavite bulge

0.8.15 (2025-07-22)

  • add function calculating lift-off angle
  • add lift_off_angle as optional property of PrecalcResultApi
  • test if general get_lift_off_angle function yields the same results as individual functions
  • add lift_off_angle to tilt-up precalc
  • correct sling_length model validator

0.8.14 (2025-07-22)

  • correct the issue with negative values for second principal stress stress_2
  • add models for new endpoint for figure generation:
  • FemImageApi
  • FigureGeneratorInput
  • add new endpoint for stress figure generation "/api/v1/fem/get-stress-figure"
  • add test for new endpoint

0.8.13 (2025-07-21)

  • use get_initial_results instead of get_initial_results_flat_and_vertical and get_initial_results_edge_and_tilt
  • stop using anchors in get_extra_features
  • move get_anchors_on_edges_vertices to CommonLiftingProblem
  • new endpoint to generate stress figures (WiP)
  • rename stress_nodes -> nodes
  • rename stress_elements -> elements
  • limit nodes to be 2D

0.8.12 (2025-07-18)

  • add stress data to FemResults:
  • stress_nodes
  • stress_elements
  • bending_stress
  • normal_stress
  • idx_x
  • idx_y
  • idx_xy
  • thickness_array
  • for each lifting resulting in stress figures (flat, edge, tilt-up), add stress data to results
  • update clean_result in flat_riggings_for_visual_inspection

0.8.11 (2025-07-18)

  • extend Ali's colormap to negative values
  • change argument force_abs to alis_colormap in generate_stress_figure
  • add absolute principal stresses figures for flat lifting, edge rotation and tilt-up
  • change all stress figure colormap to Ali's

0.8.10 (2025-07-17)

  • improve flat lifting load calculation optimization by adapting initial guess z coordinates in get_4x2_forces_3d_flat

0.8.9 (2025-07-17)

  • update n_levels for riggings options for all liftings

0.8.8 (2025-07-16)

  • Validate data model:
  • check rigging and number of anchors/anchors_on_edges
  • check sling_lengths - if enough values are not None in the list.
  • check if mesh_size_min is smaller or equal to mesh_size_max
  • for strongback check if composite_section is True then every strongback has eccentricity and if thick_beam is True, every strongback has kappa
  • delete strongback default properties, except for Optional
  • add strongback factory
  • correct returning appropriate number of sling_lengths in calculate_min_sling_lengths for all liftings

0.8.7 (2025-07-11)

  • Added CORS middleware to allow localhost and LDS connection.

0.8.6 (2025-07-11)

  • clean data model for rigging:
  • Rigging now has only two properties type and spread_angle,
  • the rest are private properties (_n_anchors, _n_CoLs, _n_rows, _n_spreader_beams, _n_cranes) read from RIGGING_MAPPING
  • delete in_plane and n_levels properties
  • update json schemas for all lifting scenarios

0.8.5 (2025-07-11)

  • delete unused code from fem and update some test to 3d solver.

0.8.4 (2025-07-11)

  • implement Ali's color map. The color bar is limited to the highest value.

0.8.3 (2025-07-10)

  • move composite_section and thick_beam from StrongBack to StrongBackProperties
  • make new class StrongBackProperties
  • add check by model_validator for CommonLiftingProblem if StrongBackProperties is not None if strongback list is not empty
  • correct fem calculations:
  • when composite_section is False, assure that eccentricity is not used in get_fenics_beam_model_3d
  • adapt UI so strongback properties only appear, when strongbacks are used
  • update all json schemas

0.8.2 (2025-07-09)

  • correct bugs reported by Ali:
  • total load is calculated according to documentation:
    • delete dynamic_factor
    • add method applicable_load_factor
    • change default load_factor to 1.2
  • rigging are improved showing connection between spreader beam and sheaves
  • panel eccentricity is hard-coded if strongback are composite section
    • delete eccentricity from MaterialProperties
  • rigging D-T-EFL-1x2-N has corrected n_cols to 1
  • rigging H-V-EL4-B2B changed to H-E-EL4-B2B and added D-E-EL4-B2B

0.8.1 (2025-07-08)

  • for bending moment cross-sections, check if all points are inside geometry; additional argument geometry in plot_bending_diagram_from_points

0.8.0 (2025-07-08)

  • Anchor calculation implementation for the tension direction
  • Anchor capacities XLSX and script to convert to CSV
  • Added pre-calculation endpoints that returns CoL, CoG, weight and rigging images

0.7.1 (2025-06-30)

  • tilt-up corrections:
  • correct tilt-up sling length calculations including optimization,
  • correct beta angle calculations,
  • update rigging names,
  • remove moments from 2- and 4-row riggings load calculations.

0.7.0 (2025-06-13)

  • add load_x and load_y to AnchorLoadResult as variable to store local in-plane forces
  • in tilt-up:
  • do not use moments in anchor load routine
  • fix the issue of tilting downwards by using flip_angle property
  • clean code for loads finding
  • add vertical lifting:
  • new endpoint /api/v1/fem/vertical-lifting
  • new data model VerticalLiftingProblem
  • add test visualizing riggings
  • add mid-air rotation:
  • new endpoint /api/v1/fem/mid-air-rotation
  • new data model MidAirRotationProblem
  • add test visualizing riggings
  • add side_view and cog to plot_3d_to_base64
  • add rotate_polygon for utils_geometry
  • add None as valid for sling_lengths
  • Correct Ali's request of 0.0 reaction in strongback BC. Fix BC DOFs in get_bc_idx_and_points. Additionally, added 0.0 to diagonal stiffness matrix for Lagrange multipliers (otherwise we got petsc4py error of missing diagonal values for zeroRowsColumns)
  • move constants to constants.py
  • add error message when CoL is lower than CoG with safety margin. Use constant COG_COL_MAX_DIST_FOR_VERTICAL_LIFT
  • rename functions to clearly state that they are connected with lifting type

0.6.8 (2025-05-21)

  • Add principal stresses calculations generate_principal_stresses in Stresses3D.
  • Correct center of gravity (CoG) calculation taking into account local thickness. Function get_center_of_gravity_and_total_volume does not use mesh, just pure geometry (so far we do not use strongbacks as we also need to add them to self-weight calculations in apply_loads_to_fem_model).
  • Correct self-weight calculation considering local thickness:
  • change f_unit -> f_thickness in FenicsxFem3D
  • use normal_thick for L_form in get_fenics_fem_3d_plate_model - initial assembly of F vector
  • get rid of material.thickness from surface_load_factor in apply_loads_to_fem_model
  • Correct eccentricities in get_fenics_fem_3d_plate_model considering eccentricity of panel and the features
  • Add features to rigging figures. Update plot_3d_to_base64 in utils_figures

0.6.7 (2025-05-12)

  • For thin beam change GS from fixed value 1e13 to kappa being assigned as 1e3
  • ! There could be potential problem with POINT_DECIMAL_PRECISION that I have to found !
  • ! Test test_fem_iteration_door is failing when moved to new calculation. Generally there is small negative reaction, which in my opinion should not happened.

0.6.6 (2025-05-05)

  • improve strongback calculation so that they can be skewed
  • strongbacks (beams) has always local coordinates that x values vary but ys and zs are 0.0
  • delete index from strongback properties
  • add length property and calculate_tangent method for StrongBack
  • correct finding/coupling beam nodes on plate
  • correct np.equal to np.close in checking if strongback ends are in the plate in get_beam_mesh
  • add POINT_DECIMAL_PRECISION constant in utils_geometry

0.6.5 (2025-04-25)

  • all FEM calculations are now quasi 3D - there are 5 dofs (in-plane displacements x2, out-of-plane displacement, rotations x2) - this way we can better model recesses and strongback composite action,
  • comment out temporary figures generations - that should speed up calculations,
  • mesh improvements:
  • new logic:
  • collect all nodes (use get_all_model_points),
  • get all intersection points (use find_intersections),
  • add insert all points to polygons perimeters (use insert_points_on_polygon_edge),
  • add points and line using improved pygmsh add_unique_point_to_surface and add_unique_line_to_surface
  • change to data model:
  • add eccentricity to MaterialProperties (to model plate/panel in top/bottom surface)
  • add Feature:
    • perimeter - list of vertices defining a feature
    • offset_bottom - bottom offset of recess/upstand if positive upstand
    • offset_hollow_core - offset between hollow core and midplane of plate
    • offset_top - top offset of recess/upstand if positive upstand
    • thickness_hollow_core - thickness where Youngs modulus is 0.0
  • add get_supporting_line_n_seeds_coordinates method to ProblemWithSupportingEdges
  • new geom functions:
  • get_points_on_line - having line and all model points - returns new points that are on the line,
  • split_line_by_points - having line and all model points - returns new sub lines,
  • insert_points_on_polygon_edge - having polygon and all model points - returns polygon with all points on perimeter,
  • find_intersections - having lines and polygons - returns unique intersection points between lines and polygons,
  • check_if_polygon_inside_other_polygon,
  • GLOBAL_ABS_TOLERANCE set to 1e-4,
  • deleted geom functions:
  • find_if_point_in_array -> find_indices_with_tolerance,
  • get_line_polygon_intersections,
  • add_consecutive_points_to_perimeter,
  • check_if_point_is_on_the_edge,
  • intersection_with_z_plane,
  • get_line_polygon_intersections,
  • check_if_point_inside_recess -> check_if_point_inside_polygon just added include_border
  • UI:
  • add eccentricity to Material section
  • add Features section
  • move Cross-Section, Opening to separate .vue file

0.6.4 (2025-04-07)

  • Add in-plane FEM calculations to better estimate stress
  • for flat lift add recalculation for special case -FL2x2-2T
  • clean code for all lifting scenarios
  • from now, we present tensile stress in both sides in stress abs figures
  • add classes:
  • InitialResults
  • FenicsxInPlaneDOFs
  • FenicsxInPlanePlate
  • add properties normal_forces and points to class FemBeamResult
  • add normal stiffness calculation (EA) to get_ei_gs_and_ea
  • add stress results to FemResult (to discuss)

0.6.3 (2025-03-18)

  • Corrected meshing, force unique point on perimeter (for strongback ends laying on support edges).
  • Correct is_point_on_axis, now it returns False if point on the supporting line (do not add BC).
  • Move panel and openings to z=0 for rigging figures.
  • Update data model for strongbacks.
  • Improve UI for strongbacks:
  • switch between independent/composite beam;
  • Add thick/thin beam model.

0.6.2 (2025-03-12)

  • Corrected meshing, so that strongback can run through openings and outside of the panel.
  • When strongback start/end lies on the supporting axis, it is treated as supporting point:
  • Find DOF where new BC needs to be applied
  • calculate reactions in this point
  • FenicsxBeam has two new properties:
  • bc_dof - idx of BC in global stiffness matrix
  • bc_point - Vertex, where this BC is applied
  • Corrected MoveCoLtoCoGProjection for edge rotation
  • Visualizations tweaks:
  • strongbacks on rigging diagrams,
  • strongbacks thicker on mesh diagrams,
  • add reaction in strongbacks if exits,
  • strongback center axis to panel mid-plane change in UI from c to di

0.6.1 (2025-03-03)

  • Small tweak in UI of strongbacks (added tooltips, removed kappa prop).
  • Rigging drawings are now orthographic because top-down view of rigging should not be distorted by the perspective.

0.6.0 (2025-02-28)

  • Add strongbacks (limitations: strongback only along x or y axis, strongback not outside panel, can be in the openings).
  • Add class StrongBack to common_for_all_liftings.
  • Add class FenicsxBeam to store beam/strongback fem model.
  • Add class FemBeamResult to store max abs M and V for strongbacks.
  • Add strongback to mesh.
  • Add Timoshenko beam FEniCSx model.
  • Modify fem calculation by coupling stiffness matrix of panel (plate) and strongbacks (beams).
  • UI:
  • Add strongback list to default JSONs.
  • Add strongback list to all lifting problems (flat, edge rotation and tilt-up).
  • Add strongback results in App.vue.
  • Move addMx, addMy, addStrongBack to utils.js.
  • Visualizations:
  • Add linewidth to extra_features.
  • Add strongback to mesh figure.
  • Add rigging top view for all lifting problems.

0.5.0 (2025-01-27)

  • Update load calculations for each lifting problem (change calculations to be fully 3D).
  • Issue flat lift rigging 2x2 - sometimes with min sling lengths the optimization fails.
  • Add calculate_min_sling_lengths to the model, if true use the minimum sling lengths in the problem, otherwise take the sling lengths from UI.
  • Add calculate_min_sling_lengths as a toggle in UI
  • Add triangles, spreader_beams to rigging diagrams
  • Change names and types of riggings for all liftings

0.4.2 (2025-01-13)

  • Calculation of sling_lengths for flat lifting and edge rotation
  • so far they are added as info/error
  • Improved load calculations for flat lifting with multiple cranes
  • Error for flat lifting with 4 slings with different length
  • Rigging corresponding to the load calculations

0.4.1 (2025-01-06)

  • Corrected calculation of loads so that there is no reaction in CoG for tilt up
  • Tests for reactions under different angles for all lifting situations
  • Imporved rigging figures for tilt up:
  • apply some rules of Ali's for sling length;
  • draw second layer of rigging lines;
  • draw rigging at the minimum angle
  • Split get_rigging_lines separately for flat lifting and other liftings
  • Correct button Move CoL -> CoG (Projection)

0.4.0 (2024-12-13)

  • Tilt up calculations:

  • new data model

  • FEM iteration for different tilt up angle
  • riggings for tilt up
  • calculation of loads for 2 and 4 rows
  • calculate beta based on tilt up angle

  • all models:

  • change of result.anchor_loads to list of lists

  • move stuff to CommomLiftingProblem and make use of inheriting
  • stresses are now ndarray not dolfinx.Function
  • add n_rows for riggings
  • add dynamic factor for load

  • UI changes:

  • new endpoint for tilt up

  • if multiple result.anchor_loads select table results
  • add sling length
  • show supporting lines in rigging figure
  • improved rigging figure according to beta angle (to be done)

  • FEM speed up

  • line point bc vectorized

  • apply BC in solver (through method zeroRowsColumns)
  • remove K, bc_idx and bc_points from FenicsFem

  • fixtures for default models

0.3.0 (2024-11-24)

  • Erection calculations:

  • new data models

  • error when CoL and CoG are not on the same line perpendicular to support lines
  • line supports
  • reactions of the line supports
  • FEM iteration for line supports so that only positive reactions (compression)
  • error raised if BC only on one side of CoL
  • riggings for erection

  • Flat lifting:

  • anchors on the edges

  • correction of rigging in case of spreader beam

  • FEniCSx update (0.7.3 -> 0.9.0)

  • miniconda update (23.10.0 -> 24.9.2)
  • UI changes:

  • new API for erection

  • anchors on edges (for flat lifting, depends on rigging)
  • support line
  • info added (yellow text when iterations needed)
  • change of DefaultData adding anchors_on_edges
  • new riggings for erection
  • show line BC and reactions for mesh figure

  • refactoring:

  • face lifting -> flat lifting

  • edge lifting -> erection

0.2.8 (2024-10-04)

  • Added cross-sections and bending diagrams to calculation.
  • Added absolute values of sigma_x and sigma_y plots.

0.2.7 (2024-10-03)

  • Changed location of boundary condition to point closest to CoG.
  • Added the reaction check to report uncorrected loads on boundary condition.
  • Added finite result check
  • Added some FEM tests.

0.2.6 (2024-10-03)

  • Backend API is now protected by the Beararer Token authentication.

0.2.5 (2024-10-03)

  • Test-UI updated with rigging diagram and selection of several basic riggings.

0.2.4 (2024-10-03)

  • Implemented FEM stress calculation and outputing SigmaX and SigmaY contour plots

0.2.3 (2024-10-02)

  • Added input boxes to UI.
  • Implemented seamless switching between input and JSON tabs.
  • Errors from calculation are shown in UI.
  • Added "Move CoL to CoG" button in UI.
  • Added "rigging" placeholder options to UI.
  • Added "apply_anchor_loads" placeholder option to UI.

0.2.2 (2024-10-01)

  • Meshing through multiprocess Process and Queue was taking order of magnitude too long for everything but the simplest mesh. We switched to temporary solution, that robustly catches errors and is not too slow. But we still need a robust solution with regards to not blocking the API calls.

0.2.1 (2024-10-01)

  • Fix crashing issue - now generate_mesh run through multiprocess Process and Queue.
  • Adding tests for mesh generation and its failling.

0.2.0 (2024-09-30)

  • Add printing of the mesh.