====== Appendix 9: Printing files *.ipn, *.ipe, *.ipr, *.ipc, *.ips ====== In addition to the printing of particular nodal values using subroutine PRISUM or values at integration points using PRISIG (which both require to modify the code), it is possible to add printing options in a *.pri file to obtain the printing of: * Particular nodal values for specified nodes, in a *.ipn file; * Particular values at integration points for specified elements, in a *.ipe file; * Reaction values at specified nodes, in a *.ipr file; * Nodal values, values of stresses or state variables at points specified by their coordinates, in a *.ipc file; * Deformation at integration points, in a *.ips file. The reading of *.pri file is controlled by the value of NPRIT on the 3rd line of the [[:lagamex|execution file]]. \\ \\ The nodal values to print are taken from the CONEC table described in [[appendices:a22|appendix 22]]. To define the elements that must be printed from this table, the user must indicate the node number and a number IPCON, which is calculated from the values of ISPAC (DOF number) and ICONE (nodal value to print): ipcon=(icone-1)*nspac+ispac \\ For the temporal strategy, there are two options: - Printing is done every converged step - Printing is done only for times specified by the user The default option is the first one; in this case, it is not necessary to define time steps in the TIME section (see below). \\ In order to activate the second option: * Times must be specified in the TIMES section, * The simulation must pass by these defined time steps (ALSAV in the execution file), * The values IPCON (.ipn), IPSIG (.ipe), IPDDL (.ipr), IPVAR (.ipc), IPNUM (.ips) must be negative The *.pri file is formatted; every type of output is optional and the order in which they are indicated can vary, except for the TIMES menu that must be indicated last. shows the example of a PRI file for a simulation with 5 DOF. {{ :appendices:pri_file_exemple.png?nolink&600 |}} The IPCON number, is function of the number of DOF in the simulation. displays in red the IPCON number to enter for each variable if the DOF of the simulation is 5. displays in red the IPCON number to enter for each variable if the DOF of the simulation is 3 (Hydro-mechanical behaviour). {{:appendices:indic1_5dof.png?nolink&390|}} {{:appendices:indic1_3dof.png?nolink&240|}} The IPSIG number is function of the Heat or/and Fluid flow constitutive law and of the mechanical constitutive law. **For a purely mechanical behaviour** (IP = Integration Point):\\ |$IP_{1}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$| IPSIG: 1 to 4| |$IP_{2}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$| IPSIG: 5 to 8| |$IP_{3}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$| IPSIG: 9 to12| |$IP_{4}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$| IPSIG: 13 to 16| It means that for printing a State Variable, IPSIG = 16 + N(state variable). For example, if it is a 2D simulation, using EP-PLASOL as mechanical constitutive law, in order to print the deformation in Y, IPSIG = 16 + 9 = 25. **For a Hydro-mechanical behaviour**, the stresses link to the fluid flow law must be added (for example: with ECOUS-S in 2D, 4 stresses have to be added ): |$IP_{1}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$, +4| IPSIG: 1 to 8| |$IP_{2}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$, +4| IPSIG: 9 to 16| |$IP_{3}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$, +4| IPSIG: 17 to 24| |$IP_{4}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$, +4| IPSIG: 25 to 32| In this case, IPSIG = 32 + N(state variable). **For a Thermo-hydro-mechanical behaviour**, the stresses link to the heat and fluid flow law must be added (for example: with WAVAT, 24 stresses have to be added): |$IP_{1}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$, +24| IPSIG: 1 to 28| |$IP_{2}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$, +24| IPSIG: 29 to 56| |$IP_{3}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$, +24| IPSIG: 57 to 84| |$IP_{4}$|$\sigma_x$,$\sigma_y$,$\sigma_{xy}$,$\sigma_z$, +24| IPSIG: 85 to 112| In this case, IPSIG = 112 + N(state variable). ===== Printing of nodal values in a *.ipn file ===== ^Line 1 (A5)^^ |TITLE| "NODES" in the 5 first columns| ^Line 2 and seq. (14I5)^^ |IPCON| Position in [[appendices:a22|CONEC]] of the nodal variable to print \\ If negative, savings at STIME| |NODEP(13)|List of nodes for which printing is wanted. \\ If NODEP(I)<0, the nodal variable is printed for all nodes between NODEP(I-1) and NODEP(I)| ^One blank line^^ **Results:** \\ ALACUM, ALAMF, TIME, Node n°, Variable 1, Variable 2 , ..., Variable N \\ The number of printed variable can be different from one node to the other. \\ The printing of variables is done in the order defined in the *.pri file. ===== Printing of values at integration points in a *.ipe file ===== ^Line 1 (A5)^^ |TITLE| "ELEMT" in the 5 first columns| ^Line 2 and seq. (14I5)^^ |IPSIG| Position in [[appendices:a22#SIGVA|SIGVA]] of the variable to print \\ If negative, savings at STIME| |NELEP(13)|List of elements for which printing is wanted. \\ If NELEP(I)<0, the variable is printed for all elements between NELEP(I-1) and NELEP(I)| ^One blank line^^ **Results:** \\ ALACUM, ALAMF, TIME, Element n°, Xpivar1, Ypivar1, (Zpivar1), Variable 1, ..., XpivarN, YpivarN, (ZpivarN), Variable N \\ The number of printed variable can be different from one element to the other. \\ The printing of variables is done in the order defined in the *.pri file. \\ The position of the integration points (Xpi, Ypi, Zpi) is associated with the printed variable every time. ===== Printing of reactions at nodes in a *.ipr file ===== ^Line 1 (A5)^^ |TITLE| "REACT" in the 5 first columns| ^Line 2 and seq. (14I5)^^ |IPDDL| DOF for which the reaction has to be printed \\ If negative, savings at STIME| |NREAP(13)|List of nodes for which printing is wanted. \\ If NREAP(I)<0, the variable is printed for all nodes between NREAP(I-1) and NREAP(I)| ^One blank line^^ **Results:** \\ ALACUM, ALAMF, TIME, Node n°, Xnode, Ynode, Reaction 1, ..., Reaction N \\ The number of printed reaction can be different from one node to the other. \\ The printing of reactions is done in the order defined in the *.pri file. \\ ===== Printing of nodal values, stresses, or state variables at specific points in a *.ipc file ===== ^Line 1 (A5)^^ |TITLE| "COORD" in the 5 first columns| ^Line 2 and seq. (3I5, 3G10.0)^^ |IPVAR| Position in CONEC (IPCON) of the nodal variable, or number of the stress or state variable to print \\ If negative, savings at STIME| |ITYVAR| Type of variable \\ 1 = nodal \\ 2 = stress \\ 3 = state variable| |ITYCOR| Type of input coordinates \\ 0 = The point is fix and the mesh deforms \\ 1 = The point moves with the mesh deformation (in this case IMDIS in the second line of the [[:prepro|*.lag file]] must be initiated to 1 to know the displacements)| |COORD(1)|X coordinate of the point for which the variable must be printed| |COORD(2)|Y coordinate of the point for which the variable must be printed| |COORD(3)|Z coordinate of the point for which the variable must be printed| ^One blank line^^ **Results:** \\ ALACUM, ALAMF, TIME, Element n°, Xcoord, Ycoord, Zcoord, Index, Variable \\ The element number represents the element in which the point is situated at each saving. \\ The index represents a code to identify the printed variable (N=nodal, S=stress, Q=state variable) followed by the number of this variable (IPVAR). ===== Printing of deformation at integration points in *.ips file ===== ^Line 1 (A5)^^ |TITLE| "STRAI" in the 5 first columns| ^Line 2 and seq. (14I5)^^ |IPNUM| Number of the integration point for which the displacement has to be printed \\ If negative, savings at STIME| |NELEM(13)|List of elements for which printing is wanted. \\ If NELEM(I)<0, the variable is printed for all elements between NELEM(I-1) and NELEM(I)| ^One blank line^^ **Results:** \\ ALACUM, ALAMF, TIME, Element n°, (ε11, ε22, ε33, ε12, ε13, ε23) for IP1, ..., (ε11, ε22, ε33, ε12, ε13, ε23) for IPN \\ The calculated deformation is the true strain. This works for elements [[elements:blz2d|BLZ2D]], [[elements:blz2t|BLZ2T]], [[elements:plxls|PLXLS]], and [[elements:cpl2d|CPL2D]] in plane strain state, and for elements [[elements:blz3d|BLZ3D]], [[elements:blz3t|BWD3D]], [[elements:ssh3d|SSH3D]], and [[elements:blz3t|BLZ3T]] in 3D. ===== Definition of time steps for printing ===== ^Line 1 (A5)^^ |TITLE| "TIMES" in the 5 first columns| ^Line 2 and seq. (1G10.0)^^ |STIME| Time for which a saving is required|