WARNING SuperLU::solve(void)- Error 1 returned in factorization dgstrf()

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
gookki
Posts: 6
Joined: Thu Aug 27, 2020 8:05 pm

WARNING SuperLU::solve(void)- Error 1 returned in factorization dgstrf()

Post by gookki » Thu Aug 27, 2020 8:09 pm

I just following some examples and I face to error
I've get error like that.
---------------------
WARNING SuperLU::solve(void)- Error 1 returned in factorization dgstrf()
WARNING NewtonRaphson::solveCurrentStep() -the LinearSysOfEqn failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor 0
OpenSees > analyze failed, returned: -3 error flag
WARNING SuperLU::solve(void)- Error 1 returned in factorization dgstrf()
DisplacementControl::newStep(void) - failed in solver
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at load factor 0
OpenSees > analyze failed, returned: -2 error flag

----------------------
Here is main code

Code: Select all

wipe
model BasicBuilder -ndm 2 -ndf 3
#Define materials for nonlinear coulumns
#--------------------------------
#Concrte 			taG	f'c     ec0 f'cu ecu
#Core concrete (confined)
uniaxialMaterial Concrete01 1 -6.0 -0.004 -5.0 -0.014
#Cover concrete(unconfined)
uniaxialMaterial Concrete01 2 -5.0 -0.002 0.0 -0.006
#STEEL
#Reinforcing steel
set fy 60.0; #Yield stess
set E 30000.0; #Young's modulus
#		tag fy E0 b
uniaxialMaterial Steel01 3 $fy $E 0.01
#Define cross-section for nonlinear columns
#--------------------------------
#set some parameters
set colWidth 15
set colDepth 24
set cover 1.5
set As 0.60;	#area of no. 7bars
#some variables derived from the parameters
set y1 [expr $colDepth/2.0]
set z1 [expr $colWidth/2.0]
section Fiber 1 {
	#create the concrete core fibers
	patch rect 1 10 1 [expr $cover-$y1] [expr $cover-$z1] \
	 	[expr $y1-$cover] [expr $z1-$cover]
	#Create the concrete cover fibers(patch rect $mattag $numsubdivy $numsubdivZ $yi $zi $yj $zj)
	patch rect 2 10 1 [expr -$y1] [expr $z1-$cover]\
					   $y1 $z1
	patch rect 2 10 1 [expr -$y1] [expr $z1] $y1 [expr $cover-$z1]
	patch rect 2 2 1 [expr -$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $z1-$cover]
	patch rect 2 2 1 [expr $y1-$cover] [expr $cover-$z1] $y1 [expr $z1-$cover]
	#Create the reinforcing fibers(left, middle, right)
	layer straight 3 3 $As [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
	layer straight 3 2 $As 0.0 [expr $z1-$cover] 0.0 [expr $cover-$z1]
	layer straight 3 3 $As [expr $cover-$y1]				[expr $z1-$cover]			[expr $cover-$y1]		[expr $cover-$z1]
}
#estimate yield curvate
#(Assuming no axial load and only top and bottom steel)
set d [expr $colDepth-$cover]	;	#d--from cover to rebar
set epsy [expr $fy/$E]	;#steel yield strain
set Ky [expr $epsy/(0.7*$d)]
#Print estimate to standard output
puts "Estimated yield curvature: $Ky"
#Set axial load
set P -180
set mu 15; #Target ductility for analysis
set numlncr 100; #number of analysis increments
#call the section analysis procedure
source MomentCurvature.tcl
MomentCurvature 1 $P [expr $Ky*$mu] $numlncr
then Momentcurvature analyze code

Code: Select all

proc MomentCurvature {secTag axialLoad maxK {numlncr 100} } {
	#Define two nodes at (0,0)
	node 1 0.0 0.0
	node 2 0.0 0.0
	#fix all degrees of freedom except axial and bending at node 2
	fix 1 1 1 1
	fix 2 0 1 0
	# Define element 
	#		tag ndi ndJ secTag
	element zeroLengthSection 1 1 2 $secTag
	#Create recorder
	recorder Node -file section$secTag.out -time -node 2 -dof 3 disp
	#Define constant axial load
	pattern Plain 1 "Constant" {
		load 2 $axialLoad 0.0 0.0
	}
	#Define analysis parameters
	integrator LoadControl 0 1 0 0
	system SparseGeneral -piv;
	test NormUnbalance 1.0e-9 10
	numberer Plain
	constraints Plain
	algorithm Newton
	analysis Static
	#Do one analysis for constant axial load
	analyze 1
	#Define reference moment 
	pattern Plain 2 "Linear" {
		load 2 0.0 0.0 1.0
	}
	#compute curvature increment
	set dK [expr $maxK/$numlncr]
	#Use displacement control at node 2 for section analysis
	#integrator DisplacementControl $node $dof $incr <$numIter $<math>\Delta U \text{min} </math> $<math>\Delta U \text{max}</math>>
	integrator DisplacementControl    2     3   $dK     1             $dK                               $dK
	#Do the section analysis
	analyze $numlncr
}

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: WARNING SuperLU::solve(void)- Error 1 returned in factorization dgstrf()

Post by mhscott » Thu Aug 27, 2020 8:48 pm

These two patches are causing problems.

Code: Select all

    patch rect 2 10 1 [expr -$y1] [expr $z1] $y1 [expr $cover-$z1]
    patch rect 2 2 1 [expr -$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $z1-$cover]
    
Draw out the coordinates and see if it makes sense.

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: WARNING SuperLU::solve(void)- Error 1 returned in factorization dgstrf()

Post by mhscott » Fri Aug 28, 2020 8:18 am

Looks like you solved the problem :) https://gkjeong.tistory.com/85

Nice article!

gookki
Posts: 6
Joined: Thu Aug 27, 2020 8:05 pm

Re: WARNING SuperLU::solve(void)- Error 1 returned in factorization dgstrf()

Post by gookki » Sun Aug 30, 2020 12:46 am

mhscott wrote:
Fri Aug 28, 2020 8:18 am
Looks like you solved the problem :) https://gkjeong.tistory.com/85

Nice article!
Thank you very much. I hope you have a good day.
There are many things I don't know while I've encountered OpenSees, but thanks to people like you, I'm getting better little

Post Reply