From 406780335b3d4904f28c31be5bdaa1b6b414398a Mon Sep 17 00:00:00 2001 From: David Kopriva Date: Wed, 12 Aug 2026 10:59:50 -0700 Subject: [PATCH] Update SMModel.f90 Fix the bug where chain optimization parameters were being set multiple times because they were wrongly placed in an inner loop causing an allocation error. --- Source/Project/Model/SMModel.f90 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Source/Project/Model/SMModel.f90 b/Source/Project/Model/SMModel.f90 index 25077e32..8621661c 100644 --- a/Source/Project/Model/SMModel.f90 +++ b/Source/Project/Model/SMModel.f90 @@ -490,7 +490,6 @@ SUBROUTINE ConstructInnerBoundaries( self, blockType, boundariesList ) ALLOCATE(chain) CALL chain % initChainWithNameAndID(chainName,0) CALL ConstructCurve(self, chain, ibDict ) - CALL SetChainOptimizationParameters(chain, ibDict) ELSE chainDict => ibDict !This is just an alias @@ -513,7 +512,6 @@ SUBROUTINE ConstructInnerBoundaries( self, blockType, boundariesList ) curveDict => valueDictionaryFromObject(obj) CALL ConstructCurve(self, chain, curveDict ) - CALL SetChainOptimizationParameters(chain, chainDict) CALL listOfCurvesIterator % moveToNext() END DO @@ -532,6 +530,7 @@ SUBROUTINE ConstructInnerBoundaries( self, blockType, boundariesList ) ! Finalize the chain ! ------------------ ! + CALL SetChainOptimizationParameters(chain, ibDict) CALL chain % complete(innerOrOuterCurve = INNER, chainMustClose = .TRUE.) obj => chain CALL release(obj) @@ -576,7 +575,6 @@ SUBROUTINE SetChainOptimizationParameters(curveChain, curveDict) CHARACTER(LEN=DEFAULT_CHARACTER_LENGTH) :: str INTEGER , PARAMETER :: DONT_SKIP = 0, SKIP = 1 INTEGER :: j - ! curveChain % optimization = NONE IF ( curveDict % containsKey(CHAIN_OPTIMIZATION_KEY) ) THEN