Is UmfPack unit-dependent?
Moderators: silvia, selimgunay, Moderators
Is UmfPack unit-dependent?
I have a very large model of an RC building that i have been working on converting from SI units to English units (it was not coded very efficiently, so a lot of this is done manually). As I am editing it, I am making it more flexible and consistent with recent examples such that units can easily be changed back and forth later on.
Now that the units of the model have been soft-coded, when I run the analysis with SI units, I am getting good results consistent with my previous analysis. When I switch to English units, however, I am getting an 'LValue too small' error with the UmfPack solver. Is it possible UmfPack is sensitive to the scale of the units in the matrix? I tried increasing the LValue in the system command to very large numbers and it does not appear to help at all.
Now that the units of the model have been soft-coded, when I run the analysis with SI units, I am getting good results consistent with my previous analysis. When I switch to English units, however, I am getting an 'LValue too small' error with the UmfPack solver. Is it possible UmfPack is sensitive to the scale of the units in the matrix? I tried increasing the LValue in the system command to very large numbers and it does not appear to help at all.
Re: Is UmfPack unit-dependent?
i suggest trying another server to make sure the conversion is correct. UMFPACK like most of the general solvers will select which row to use as a pivot in the gaussian elimination based on the size of the entries. what version of OpenSees are you using and command are you using for the LVALUE?
Re: Is UmfPack unit-dependent?
I version I have used with this specific example is version 2.2.2. The command I am using in OS to control the Lvalue is "system UmfPack -lvalueFact ###" The error OS puts to screen says the Lvalue must be larger than 5786294. That seems impossibly high to me.
Also, what do you mean by "trying another server"? I am currently checking into some other abnormalities I have noticed in the model, even when using the original units, which may suggest there is something wrong with the conversion itself. When this is resolved I will see if the issue persists.
Also, what do you mean by "trying another server"? I am currently checking into some other abnormalities I have noticed in the model, even when using the original units, which may suggest there is something wrong with the conversion itself. When this is resolved I will see if the issue persists.
Re: Is UmfPack unit-dependent?
LVALUE is express as a % of fill-in .. the default is 10, 100 should e the max. 60 i think is highest i have ever had to go to.
server should have been solver!
server should have been solver!
Re: Is UmfPack unit-dependent?
Thanks for the response, Frank. I have confirmed that switching to a different solver (in my case I used BandSPD), I was able to run the model without any issues, and it showed agreement with my previous results in metric units. It is only when I use UmfPack that I get the error regarding Lvalue, and the error is telling me the number must be very large (not within the 0-100% range that you had mentioned).
I suppose it is not an issue for me to switch to a different solver permanently, but in my experience UmfPack was running the analysis fastest, which I why I wanted to stick with it if possible.
Any idea what could be causing this? Again, I have mainly been using version 2.2.2.
I suppose it is not an issue for me to switch to a different solver permanently, but in my experience UmfPack was running the analysis fastest, which I why I wanted to stick with it if possible.
Any idea what could be causing this? Again, I have mainly been using version 2.2.2.
Re: Is UmfPack unit-dependent?
given the many changes between the version you are on and the current i wouldn't know .. e.g. i might have changed or even added the lvalue option in the interim
if you ever can manage to come back to the current version, I have always found that for large problems the Mumps solver beats the others by a large margin. It is only avail in SP at the moment, but you can run it only using 1 processor (i have not yet managed to get it into the sequential version).
if you ever can manage to come back to the current version, I have always found that for large problems the Mumps solver beats the others by a large margin. It is only avail in SP at the moment, but you can run it only using 1 processor (i have not yet managed to get it into the sequential version).
Re: Is UmfPack unit-dependent?
I switched over to version 2.4.3, and I was able to run my analysis using UmfPack without getting the LValue error, so it must have been an issue with the older version.
Unfortunately switching to the parallel SP version of OS at this time in our project is a bit too much effort given the custom coding we have put into our versions of OpenSees. Regarding my current choices for solvers, do you think there is a 'better' option between UmfPack and BandSPD, or would they both likely work fine for my purposes? Thanks for all of the help.
Unfortunately switching to the parallel SP version of OS at this time in our project is a bit too much effort given the custom coding we have put into our versions of OpenSees. Regarding my current choices for solvers, do you think there is a 'better' option between UmfPack and BandSPD, or would they both likely work fine for my purposes? Thanks for all of the help.
Re: Is UmfPack unit-dependent?
if you run SP with a single processor the only change for SP will be to change the solver from Umfpack to Mumps. try it if you ever get the time.
as for the choice of solver, you could play with it for a few steps and then choose one. an SPD solver only requires half the calculations of a similar general solver (i.e. BandSPD versus BandGeneral). The Umfpack solver is a general solver but it sets up the gaussian elemination tree in an attempt to minimize the calculations it has to do. so somethimes it will beat the bandSPD solver and sometimes not. it depends on the matrix being solved, and hence your model and choice of numberer. for typical large models it will beat, if model is large but slender probably not.
you can play with different solvers as you build and test the model.
as for the choice of solver, you could play with it for a few steps and then choose one. an SPD solver only requires half the calculations of a similar general solver (i.e. BandSPD versus BandGeneral). The Umfpack solver is a general solver but it sets up the gaussian elemination tree in an attempt to minimize the calculations it has to do. so somethimes it will beat the bandSPD solver and sometimes not. it depends on the matrix being solved, and hence your model and choice of numberer. for typical large models it will beat, if model is large but slender probably not.
you can play with different solvers as you build and test the model.