You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Builder: metal–π bonds cannot be made to ring carbons (Metal order still needs nubs) #325
Seen: ECCE 9.1.0. A tetrahedral Fe with three PPh3, then a benzene from the Structure Library. Inserting benzene: "Cannot unambigously connect fragments. Please select the sites that should be bonded." Bond mode with the Metal (metal–π) order, Fe to a ring carbon: "No bond sites are available to create this bond."
Cause: every bond the Builder makes goes between two nubs (Fragment::bondAtoms, BondEditCmd), including the Metal order (0.5). Ring carbons of benzene, Cp⁻ or an alkene have no nub (all valences used), so a metal–π bond to them cannot be made. Elsewhere the Builder already treats Metal bonds as not counting toward valence (shape and hydrogen placement ignore them), so requiring nubs here is inconsistent.
Fix: a Metal bond neither needs nor consumes nubs: in Bond mode with the Metal order, the two picked atoms are bonded directly (addBond), and nubs and hydrogens of both atoms stay as they are. With two molecules, the align question keeps working as now. Test: Fe(PPh3)3 + benzene, six Metal bonds to the ring carbons, no change in atom count; ferrocene from two Cp⁻.
Also: "unambigously" in the first message → "unambiguously".
The "You must have nubs to create this type of bond" message (Bond mode, after answering Yes to aligning the molecules) appears in the Builder's message line at the bottom of the window, as the other Builder messages do.
Design (agreed): a π-ligand attaches at one nub of the metal, the nub being its coordination site. Bond mode, Metal order: pick a metal nub, then an atom of the π-ligand. The bonded atoms are the selected ligand atoms, or automatically the picked atom's planar conjugated ring (η5 Cp, η6 arene, η7) or its C=C/C≡C pair (η2). The ligand's fragment is moved so the centroid of those atoms lies along the nub direction at a typical metal–centroid distance (~1.7 Å arene/Cp, ~2.0 Å alkene midpoint), ring plane or C=C axis perpendicular to it; the nub is consumed, one Metal bond (0.5) to each bonded atom, ligand H and nubs untouched. So tetrahedral Fe(PPh3)3 + benzene on the fourth nub gives a piano stool, and Fe(CO)4 + ethene on an equatorial TBP nub works. A direct Metal bond between two picked atoms (no nubs) stays available.
Clean: the Builder's Clean (UFF) builds an angle term for every pair of bonds at an atom, Metal bonds included (src/tdat/ffield/Angles.C), and torsions and inversions likewise. For an η6 complex that is ~36 angle terms at the metal plus C–C–M terms at 120° on the ring, which pull the metal toward the ring plane. Fix: leave out angle, torsion and inversion terms that contain a bond of order < 1 (Metal, Hydrogen); a Metal bond keeps only its stretch term. Test: Clean a piano stool and check the ring stays planar and the metal–centroid distance stays close to the placed value.
Ligands from the Structure Library's Ligands folder carry a nub on each donor atom (Cp⁻ has five, one per carbon). When a π-ligand is attached at a metal nub, the nubs on the η-bonded ligand atoms are removed too, so Add H does not put hydrogens there. Test case: Fe with one nub + Cyclopentadienyl from the Ligands folder → η5, five Metal bonds, no nubs left on the ring.
Test round (Andy, Linux, deb of wip/321-structlib-mode): η6 benzene via the metal nub works. Not yet: (1) picking the Fe atom (not its nub) + a Cp carbon gives one direct η1 bond and the Cp keeps its five nubs; (2) where η5 formed, the Cp nubs were not removed; (3) Clean distorts the Cp ring; (4) a selected spare nub cannot be deleted. Fix round in progress on the same branch.
Decided: the pick order never matters. Metal order + a metal (atom or nub) + an atom of a π system, in either order → automatic hapticity. η1 is a σ bond and is drawn with the Single order (nub to nub). Partial hapticity (indenyl η3, allyl η1 vs η3) by pre-selecting the ligand atoms that bond.
Fixed in 9.2.0 (0998beb and the commits before it): the Metal order bonds a metal to an atom of a π system in either pick order, with automatic hapticity. Partial hapticity can get its own issue if it is needed.
Activity
ohlincha commentedon Oct 14, 2026
The "You must have nubs to create this type of bond" message (Bond mode, after answering Yes to aligning the molecules) appears in the Builder's message line at the bottom of the window, as the other Builder messages do.
ohlincha commentedon Oct 14, 2026
Design (agreed): a π-ligand attaches at one nub of the metal, the nub being its coordination site. Bond mode, Metal order: pick a metal nub, then an atom of the π-ligand. The bonded atoms are the selected ligand atoms, or automatically the picked atom's planar conjugated ring (η5 Cp, η6 arene, η7) or its C=C/C≡C pair (η2). The ligand's fragment is moved so the centroid of those atoms lies along the nub direction at a typical metal–centroid distance (~1.7 Å arene/Cp, ~2.0 Å alkene midpoint), ring plane or C=C axis perpendicular to it; the nub is consumed, one Metal bond (0.5) to each bonded atom, ligand H and nubs untouched. So tetrahedral Fe(PPh3)3 + benzene on the fourth nub gives a piano stool, and Fe(CO)4 + ethene on an equatorial TBP nub works. A direct Metal bond between two picked atoms (no nubs) stays available.
ohlincha commentedon Oct 14, 2026
Clean: the Builder's Clean (UFF) builds an angle term for every pair of bonds at an atom, Metal bonds included (
src/tdat/ffield/Angles.C), and torsions and inversions likewise. For an η6 complex that is ~36 angle terms at the metal plus C–C–M terms at 120° on the ring, which pull the metal toward the ring plane. Fix: leave out angle, torsion and inversion terms that contain a bond of order < 1 (Metal, Hydrogen); a Metal bond keeps only its stretch term. Test: Clean a piano stool and check the ring stays planar and the metal–centroid distance stays close to the placed value.Builder: Metal bond at a metal nub attaches a pi ligand with hapticit…
Clean: no angle, torsion or inversion terms through Metal/hydrogen bo…
ohlincha commentedon Oct 14, 2026
Ligands from the Structure Library's Ligands folder carry a nub on each donor atom (Cp⁻ has five, one per carbon). When a π-ligand is attached at a metal nub, the nubs on the η-bonded ligand atoms are removed too, so Add H does not put hydrogens there. Test case: Fe with one nub + Cyclopentadienyl from the Ligands folder → η5, five Metal bonds, no nubs left on the ring.
Builder: a pi attachment also removes the nubs on the eta-bonded liga…
ohlincha commentedon Oct 14, 2026
Test round (Andy, Linux, deb of wip/321-structlib-mode): η6 benzene via the metal nub works. Not yet: (1) picking the Fe atom (not its nub) + a Cp carbon gives one direct η1 bond and the Cp keeps its five nubs; (2) where η5 formed, the Cp nubs were not removed; (3) Clean distorts the Cp ring; (4) a selected spare nub cannot be deleted. Fix round in progress on the same branch.
ohlincha commentedon Oct 14, 2026
Decided: the pick order never matters. Metal order + a metal (atom or nub) + an atom of a π system, in either order → automatic hapticity. η1 is a σ bond and is drawn with the Single order (nub to nub). Partial hapticity (indenyl η3, allyl η1 vs η3) by pre-selecting the ligand atoms that bond.
ohlincha commentedon Oct 17, 2026
Fixed in 9.2.0 (0998beb and the commits before it): the Metal order bonds a metal to an atom of a π system in either pick order, with automatic hapticity. Partial hapticity can get its own issue if it is needed.