I went through some tests.
First, I used the output commands to print out the non-symmetric tangent (in my problem, the matrix is non-symmetric).
Investigated cases:
FEAP STANDARD - FACTORED: (UTANG,,1 -> OUTP UTAN)
FEAP STANDARD - UNFACTORED: (UTANG,,-1 -> OUTP UTAN)
PARDISO - FACTORED: (PARD -> UTANG,,1 -> PARD OUTP)
PARDISO - UNFACTORED: (PARD -> UTANG,,-1 -> PARD OUTP)
The outputs were not in a same order, so I tried to sort them. Here are the results (only some of the components are shown here, kindly look at the attachments for complete data):
For diagonal components:
FEAP_FACT FEAP_UNFACT PARD_FACT PARD_UNFACT
10 10 5.997241E+05 1.667433E-06 1.667433E-06 1.667433E-06
11 11 5.997145E+05 1.667460E-06 1.667460E-06 1.667460E-06
12 12 5.993929E+05 1.668355E-06 1.668355E-06 1.668355E-06
13 13 7.098908E+05 1.667433E-06 1.667433E-06 1.667433E-06
14 14 7.098772E+05 1.667460E-06 1.667460E-06 1.667460E-06
...
4664 4664 1.377801E+06 1.389541E-06 1.389541E-06 1.389541E-06
4665 4665 1.376438E+06 1.390057E-06 1.390057E-06 1.390057E-06
4725 4725 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
for non-diagonal components:
FEAP_FACT FEAP_UNFACT PARD_FACT PARD_UNFACT
Example of symmetric components:
11 14 3.939360E-01 6.568726E-07 6.568726E-07 6.568726E-07
14 11 3.939360E-01 6.568726E-07 6.568726E-07 6.568726E-07
Examples of non-symmetric components:
3836 3985 -8.093324E-08 -1.317032E-13 -1.317032E-13 -1.317032E-13
3985 3836 1.204221E-09 0.000000E+00 -1.317032E-13 -1.317032E-13
...
3910 3986 -5.151798E-10 0.000000E+00 -2.712450E-13 -2.712450E-13
3986 3910 -1.045583E-07 -2.712450E-13 -2.712450E-13 -2.712450E-13
My observations are:
1) In all the cases, there is no difference between Pardiso Factored and Unfactored tangents.
I enabled the debugger, Here are the outputs:
Pardiso -> UTANG
>>>>> PARDISO for non-symmetric indefinite matrices activated.
Compressed Storage = 335223 t= 0.18 0.00
Reordering completed ...
Number of nonzeros in factors = 1
Number of factorization MFLOPS = 1
Factorization completed ...
Number of zero pivots 4311
Pardiso -> UTANG,,-1
>>>>> PARDISO for non-symmetric indefinite matrices activated.
Compressed Storage = 335223 t= 0.16 0.00
*WARNING* Unfactored tangent produced do not try normal solution.
Everything looks fine in the output, so I think there is a problem in Factorization step of Pardiso.
2) in all the cases, tangent components of Pardiso are same as unfactored components of FEAP standard solver (just as I was suspecting).
3) obviously, UTANG command in Pardiso is not creating an unsymmetric tangent matrix (kindly have a look at the examples of non-symmetric components)
4) UTANG,,-1 just calculates the lower triangle of the non-symmetric tangent matrix.
Then, I tried to find if it is a problem with NURBFEAP or it happens even by FEAP itself.
I tried standard elements (and material models) by FEAP (attached input file) and again printed out the tangent matrices. I can confirm that the problem is with both FEAP and NURBFEAP. In all the cases, Pardiso calculates an unfactored symmetric tangent. The solution converges for simple problems (although the tangent is not exact, it can still lead the newton method to the correct solution. It is just the final residuals in each time step (although converged) are a little larger than the standard feap solver), but for my problem which is not symmetric, it produces a wrong tangent.
I hope this information helps to find the problem. (My element needs many modifications in feap (umacro, header files, user arrays, ...), I can send it to you, if necessary)
P.S: another thing which is interesting is that the size of output tangent are different, in the sense that there are components in UTANG (standard) that does not have any counterpart in Pardiso tangent. Kindly have a look at the last rows of attached data.rar->compare.txt