@@ -1811,9 +1811,10 @@ buildSection(Tcl_Interp *interp, TclModelBuilder *theTclModelBuilder,
18111811
18121812 // SectionForceDeformation *section = new FiberSection(secTag, numFibers, fiber);
18131813
1814- // Delete fibers created for patches and layers
1815- for (i = numSectionRepresFibers; i < numFibers; i++)
1816- delete fiber[i];
1814+ // Delete temporary fibers created from patches/layers. Fibers added
1815+ // explicitly via the `fiber` command are owned by FiberSectionRepr.
1816+ for (i = numSectionRepresFibers; i < numFibers; i++)
1817+ delete fiber[i];
18171818
18181819 if (section == 0 )
18191820 {
@@ -1869,9 +1870,10 @@ buildSection(Tcl_Interp *interp, TclModelBuilder *theTclModelBuilder,
18691870 else
18701871 section = new FiberSection3d (secTag, numFibers, fiber, theTorsion, currentSectionComputeCentroid);
18711872
1872- // Delete fibers
1873- for (i = numSectionRepresFibers; i < numFibers; i++)
1874- delete fiber[i];
1873+ // Delete temporary fibers created from patches/layers. Fibers added
1874+ // explicitly via the `fiber` command are owned by FiberSectionRepr.
1875+ for (i = numSectionRepresFibers; i < numFibers; i++)
1876+ delete fiber[i];
18751877
18761878 if (section == 0 )
18771879 {
@@ -2070,11 +2072,11 @@ buildSectionInt(Tcl_Interp *interp, TclModelBuilder *theTclModelBuilder,
20702072
20712073 SectionForceDeformation *section = new FiberSection2dInt (secTag, numFibers, fiber, numHFibers, Hfiber, NStrip1, t1, NStrip2, t2, NStrip3, t3);
20722074
2073- // Delete fibers
2074- for (i = 0 ; i < numFibers; i++)
2075+ // Delete temporary fibers created from patches/layers only.
2076+ for (i = numSectionRepresFibers ; i < numFibers; i++)
20752077 delete fiber[i];
20762078
2077- for (i = 0 ; i < numHFibers; i++)
2079+ for (i = numSectionRepresHFibers ; i < numHFibers; i++)
20782080 delete Hfiber[i];
20792081
20802082 if (section == 0 )
@@ -2120,8 +2122,8 @@ buildSectionInt(Tcl_Interp *interp, TclModelBuilder *theTclModelBuilder,
21202122 SectionForceDeformation *section = 0 ;
21212123 section = new FiberSection3d (secTag, numFibers, fiber, theTorsion, currentSectionComputeCentroid);
21222124
2123- // Delete fibers
2124- for (i = 0 ; i < numFibers; i++)
2125+ // Delete temporary fibers created from patches/layers only.
2126+ for (i = numSectionRepresFibers ; i < numFibers; i++)
21252127 delete fiber[i];
21262128
21272129 if (section == 0 )
0 commit comments