.. Auto-generated by scripts/generate_problem_catalog_docs.py. Do not edit by hand. Planar roof truss grammar (seven-point symmetric variant) ========================================================= A roof-truss grammar aligned to the seven-point symmetric loading formulation reported in the structural essay study. See :doc:`../grammar` for the grammar family index. Quick Facts ----------- .. list-table:: :header-rows: 1 :widths: 20 80 * - Field - Value * - Problem ID - ``planar_roof_truss_seven_point_symmetric`` * - Problem Family - grammar * - Implementation - ``design_research_problems.problems.grammar._planar_truss:PlanarTrussSpanProblem`` * - Capabilities - ``discrete-actions``, ``external-adapter``, ``optional-evaluator``, ``serializable-state``, ``statement-markdown`` * - Study Suitability - none * - Tags - ``grammar``, ``truss``, ``roof``, ``discrete``, ``topology``, ``symmetric`` Taxonomy -------- Formulation discrete_grammar Convexity not_applicable Design Variable Type discrete Is Dynamic no Orientation engineering_practical Feasibility Ratio Hint 0.25 Objective Mode single Constraint Nature hard Bounds Summary symmetric planar roof-truss topology with seven fixed roof load points Tags ``grammar``, ``truss``, ``roof``, ``discrete``, ``topology``, ``symmetric`` Statement --------- This catalog entry approximates the sixth planar roof-truss formulation from the structural essay study: seven uniformly spaced fixed roof load points with left-right symmetry enforced. The state begins with pinned and roller supports plus seven loaded roof joints. Interior joints and members are edited through mirrored actions so the topology remains symmetric about the roof apex. Problem Shape ------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Field - Value * - State Type - PlanarTrussState * - Initial Transition Count - 23 * - Initial Rule Names - ``add_joint``, ``add_joint_pair``, ``add_member`` Manifest Parameters ------------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Key - Value * - candidate_point_fractions - [[0.18, 0.2], [0.34, 0.32], [0.5, 0.2]] * - enforce_symmetry - yes * - load_magnitude - 1000 * - max_height - 2.5 * - roof_load_x_fractions - [0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875] * - span - 10 Initial Transition Summary -------------------------- .. list-table:: :header-rows: 1 :widths: 70 30 * - Rule Name - Transition Count * - add_joint - 1 * - add_joint_pair - 2 * - add_member - 20 Library Interface ----------------- - ``initial_state()`` - ``enumerate_transitions(state)`` - ``enumerate_next_states(state)`` - ``evaluate(state)``