In a multi-step analysis the user may specify for the dat file output for every individual step NODE PRINT or EL PRINT commands.
According to the manual this needs to be done step specific.
However ccx does not ignore the NODE PRINT or EL PRINT cards from previous steps why earlier output variables are included in subsequent steps as well although the user did not specify them in subsequent steps.
Example job files from the calculix standard tests showing this behaviour are:
beamptrans.inp
contact13.inp
contact14.inp
modelchel2.inp
modelchel3.inp
spring3.inp
Solution:
Initializing variable nprint=0 at the beginning of the subroutine calinput() in file calinput.f will solve the problem.
Example: Comparison of the dat file for standard ccx test job contact13.inp :
The job file has 2 steps for which only the first step has dat file output request through *NODE PRINT card:
STEP,NLGEOM
STATIC
1.,1.
MODEL CHANGE,TYPE=CONTACT PAIR,REMOVE
Sslav,Smast
NODE PRINT,NSET=N1
U
END STEP
STEP,NLGEOM
STATIC
.5,1.
MODEL CHANGE,TYPE=CONTACT PAIR,ADD
Sslav,Smast
*END STEP
The 2nd step of the same contact13.inp file does not have any dat file output request, but with ccx2.21.exe the dat file is:
_S T E P 1
INCREMENT 1
displacements (vx,vy,vz) for set N1 and time 0.1000000E+01
21 0.000000E+00 0.000000E+00 0.000000E+00
S T E P 2
INCREMENT 1
displacements (vx,vy,vz) for set N1 and time 0.1500000E+01
In a multi-step analysis the user may specify for the dat file output for every individual step NODE PRINT or EL PRINT commands. According to the manual this needs to be done step specific. However ccx does not ignore the NODE PRINT or EL PRINT cards from previous steps why earlier output variables are included in subsequent steps as well although the user did not specify them in subsequent steps.
Example job files from the calculix standard tests showing this behaviour are: beamptrans.inp contact13.inp contact14.inp modelchel2.inp modelchel3.inp spring3.inp
Solution: Initializing variable nprint=0 at the beginning of the subroutine calinput() in file calinput.f will solve the problem.
Example: Comparison of the dat file for standard ccx test job contact13.inp : The job file has 2 steps for which only the first step has dat file output request through *NODE PRINT card:
STEP,NLGEOM STATIC 1.,1. MODEL CHANGE,TYPE=CONTACT PAIR,REMOVE Sslav,Smast NODE PRINT,NSET=N1 U END STEP STEP,NLGEOM STATIC .5,1. MODEL CHANGE,TYPE=CONTACT PAIR,ADD Sslav,Smast *END STEP
The 2nd step of the same contact13.inp file does not have any dat file output request, but with ccx2.21.exe the dat file is:
displacements (vx,vy,vz) for set N1 and time 0.1000000E+01
displacements (vx,vy,vz) for set N1 and time 0.1500000E+01
displacements (vx,vy,vz) for set N1 and time 0.2000000E+01
The output for STEP 2 above is unwanted and was not requested by the job file.
With the source code correction the dat file content is:
displacements (vx,vy,vz) for set N1 and time 0.1000000E+01
Attached in the zip file:
nprint_initialization.zip