The Abaqus manual for HYPERELASTIC, REDUCED POLYNOMIAL material states that for a given N, a total of 2*N+1 constants are required (the last being the temperature). Thus, for N=4, the user should specify 9 constants.
This is currently not possible, because our check of the number of constants does not include the temperature. We should fix that, not only for REDUCED POYNOMIAL, but for other HYPERELASTIC materials as well.
Users will then be forced to add the temperature to their data.
For compatibility reasons with older code, we might think about adding a default constant 0.0 (temperature) if the number of specified constants is one less than the expected.

I found a small bug in fe_abq.py:
HYPERELASTIC, REDUCED POLYNOMIAL with N=4 (8 constants)
When writing a HYPERELASTIC, REDUCED POLYNOMIAL material you need to have after the coefficients also the temperature, or omit it if not relevant.
If N=4, the first line is filled with 8 coefficients, so the temperature coefficient will go to the second line (max of 8 coefficients per line). If the temperature coefficient is omitted, an empty line should be left.
But in the current pyFormex code (or at least what I have on my laptop) the temperature is not written. Usually, this is not a problem (if N=1,2,3,5,6,7) but it is a problem if you have N = 4, because the temperature would require a new (empty) line.
This is the example on fe_abq.py:
>>> intima = {
... 'name': 'intima',
... 'density': 0.1,
... 'elasticity':'hyperelastic',
... 'model':'reduced polynomial',
... 'constants': [6.79E03, 5.40E01, 1.11, 10.65, 7.27, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
... }
>>> print(fmtMaterial(Attributes(intima)))
*MATERIAL, NAME=intima
*HYPERELASTIC, REDUCED POLYNOMIAL, N=6
0.00679, 0.54, 1.11, 10.65, 7.27, 1.63, 0.0, 0.0
0.0, 0.0, 0.0, 0.0
*DENSITY
0.1
This is correct because N=6 (temperature is omitted), but would fail with N=4, because the 8 constants would fill the entire line: [6.79E03, 5.40E01, 1.11, 10.65, 7.27, 1.63, 0.0, 0.0]
