Files
AbaqusSubroutineDev/docs/AbaqusUserSubroutineManual/AbaqusUserSubroutineManual_004.md
T
2026-08-18 23:24:35 +09:00

12 KiB
Raw Blame History

1.1.2 DFLOW: User subroutine to define nonuniform pore fluid velocity in a consolidation analysis.

Product: Abaqus/Standard

References

• “Pore fluid flow,” Section 34.4.7 of the Abaqus Analysis Users Guide
• *DFLOW
• *DSFLOW

Overview

User subroutine DFLOW:

• can be used to define the variation of the seepage magnitude as a function of position, time, pore pressure, etc. in a soils consolidation analysis;
• will be called at each flow integration point for each element-based or surface-based nonuniform flow definition in the analysis; and
• ignores any amplitude references that may appear with the associated nonuniform flow definition.

User subroutine interface

SUBROUTINE DFLOW(FLOW,U,KSTEP,KINC,TIME,NOEL,NPT,COORDS,1 JLTYP,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION TIME(2),COORDS(3)
CHARACTER*80 SNAME
user coding to define FLOW
RETURN
END 

Variable to be defined

FLOW

Effective velocity of pore fluid crossing the surface at this point from the inside of the region modeled to the outside of the region modeled. Units are LT1 . Effective velocity is the volumetric flow rate per unit area (refer to “Permeability,” Section 26.6.2 of the Abaqus Analysis Users Guide).

FLOW will be passed into the routine as the magnitude of the seepage specified as part of the element-based or surface-based flow definition. If the magnitude is not defined, FLOW will be passed in as zero.

The effective velocity is not available for output purposes.

Variables passed in for information

U

Estimated pore pressure at this time at this point.

KSTEP

Step number.

KINC

Increment number.

TIME(1)

Current value of step time (defined only in transient analysis).

TIME(2)

Current value of total time (defined only in transient analysis).

NOEL

Element number.

NPT

Integration point number on the elements surface.

COORDS

An array containing the coordinates of this point. These are the current coordinates if geometric nonlinearity is accounted for during the step (see “Defining an analysis,” Section 6.1.2 of the Abaqus Analysis Users Guide); otherwise, the array contains the original coordinates of the point.

JLTYP

Identifies the element face for which this call to DFLOW is being made through the element-based flow definition. This information is useful when several different nonuniform distributed flows are being imposed on an element at the same time. See Part VI, “Elements,” of the Abaqus Analysis Users Guide for identification of element faces. The key is as follows:

JLTYPFlow type
0Surface-based load
11S1NU
12S2NU
13S3NU
14S4NU
15S5NU
16S6NU

SNAME

Surface name for which this call to DFLOW is being made through the surface-based flow definition (JLTYP=0). For an element-based flow definition the surface name is passed in as a blank.

1.1.3 DFLUX: User subroutine to define nonuniform distributed flux in a heat transfer or mass diffusion analysis.

Product: Abaqus/Standard

References

• “Thermal loads,” Section 34.4.4 of the Abaqus Analysis Users Guide
• “Mass diffusion analysis,” Section 6.9.1 of the Abaqus Analysis Users Guide
• *DFLUX
• *DSFLUX
• “DFLUX,” Section 4.1.1 of the Abaqus Verification Guide

Overview

User subroutine DFLUX:

• can be used to define a nonuniform distributed flux as a function of position, time, temperature, element number, integration point number, etc. in a heat transfer or mass diffusion analysis;
• will be called at each flux integration point for each element-based or surface-based (heat transfer only) nonuniform distributed flux definition in the analysis;
• ignores any amplitude references that may appear with the associated nonuniform distributed flux definition; and
• uses the nodes as flux integration points for first-order heat transfer, first-order coupled temperaturedisplacement, first-order coupled thermal-electrical-structural, and mass diffusion elements.

User subroutine interface

SUBROUTINE DFLUX (FLUX, SOL, KSTEP, KINC, TIME, NOEL, NPT, COORDS, 1 JLTYP, TEMP, PRESS, SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION FLUX(2), TIME(2), COORDS(3)
CHARACTER*80 SNAME
user coding to define FLUX(1) and FLUX(2)
RETURN
END 

FLUX(1)

Magnitude of flux flowing into the model at this point. In heat transfer cases the units are \mathrm { J } \mathrm { T } ^ { - 1 } \mathrm { L } ^ { - 2 } for surface fluxes and \mathrm { J } \mathrm { T } ^ { - 1 } \mathrm { L } ^ { - 3 } for body flux. In transient heat transfer cases where a non-default amplitude is used to vary the applied fluxes, the time average flux over the time increment must be defined rather than the value at the end of the time increment. In mass diffusion cases the units are \mathrm { P L T ^ { - 1 } } for surface fluxes and \mathrm { P T } ^ { - 1 } for body flux.

FLUX(1) will be passed into the routine as the magnitude of the flux specified as part of the element-based or surface-based flux definition. If the magnitude is not defined, FLUX(1) will be passed in as zero.

This flux is not available for output purposes.

FLUX(2)

In heat transfer cases: d q / d \theta , the rate of change of the flux with respect to the temperature at this point. The units are \mathrm { J } \mathrm { T } ^ { - 1 } \mathrm { L } ^ { - 2 } \theta ^ { - 1 } for surface fluxes and \mathrm { J } \mathrm { T } ^ { - 1 } \mathrm { L } ^ { - 3 } \theta ^ { - 1 } for body flux.

In mass diffusion cases: d q / d c , the rate of change of the flux with respect to the mass concentration at this point. The units are \mathrm { L T ^ { - 1 } } for surface fluxes and \mathrm { T } ^ { - 1 } for body flux.

The convergence rate during the solution of the nonlinear equations in an increment is improved by defining this value, especially when the flux is a strong function of temperature in heat transfer analysis or concentration in mass diffusion analysis.

Variables passed in for information

SOL

Estimated value of the solution variable (temperature in a heat transfer analysis or concentration in a mass diffusion analysis) at this time at this point.

KSTEP

Step number.

KINC

Increment number.

TIME(1)

Current value of step time (defined only in transient analysis).

TIME(2)

Current value of total time (defined only in transient analysis).

NOEL

Element number.

NPT

Integration point number in the element or on the elements surface. The integration scheme depends on whether this is a surface or a body flux.

COORDS

An array containing the coordinates of this point. These are the current coordinates if geometric nonlinearity is accounted for during the step (see “Defining an analysis,” Section 6.1.2 of the Abaqus Analysis Users Guide); otherwise, the array contains the original coordinates of the point.

JLTYP

Identifies the flux type for which this call to DFLUX is being made. The flux type may be a body flux, a surface-based flux, or an element-based surface flux. For element-based surface fluxes, this variable identifies the element face for which this call to DFLUX is being made. This information is useful when several different nonuniform distributed fluxes are being imposed on an element at the same time. See Part VI, “Elements,” of the Abaqus Analysis Users Guide for element face identification. The key is as follows:

JLTYPFlux type
0Surface-based flux
1BFNU
11S1NU (SNEGNU for heat transfer shells)
12S2NU (SPOSNU for heat transfer shells)
13S3NU
14S4NU
15S5NU
16S6NU

TEMP

Current value of temperature at this integration point (defined only for a mass diffusion analysis). Temperature for a heat transfer analysis is passed in as variable SOL.

PRESS

Current value of the equivalent pressure stress at this integration point (defined only for a mass diffusion analysis).

SNAME

Surface name for a surface-based flux definition (JLTYP=0). For a body flux or an element-based surface flux the surface name is passed in as blank.

1.1.4 DISP: User subroutine to specify prescribed boundary conditions.

Product: Abaqus/Standard

References

• “Boundary conditions in Abaqus/Standard and Abaqus/Explicit,” Section 34.3.1 of the Abaqus Analysis Users Guide
• “Connector actuation,” Section 31.1.3 of the Abaqus Analysis Users Guide
• *BOUNDARY
• *CONNECTOR MOTION
• “Riser dynamics,” Section 12.1.2 of the Abaqus Example Problems Guide
• “DISP,” Section 4.1.2 of the Abaqus Verification Guide
• “Boundary conditions,” Section 5.1.5 of the Abaqus Verification Guide

Overview

User subroutine DISP:

• can be used to define the magnitudes of prescribed boundary conditions or connector motions;
• requires incremental values to be defined for prescribed rotation boundary conditions;
• is called for all degrees of freedom listed in a user-subroutine-defined boundary condition or connector motion definition;
• redefines any magnitudes that may be specified (and possibly modified by an amplitude) as part of the associated boundary condition or connector motion definition; and
• ignores the specified type, if any, of the associated boundary condition or connector motion definition.

User subroutine interface

SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)

C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U(3),TIME(3),COORDS(3)
C 

user coding to define U

RETURN END

Variable to be defined

U(1)

All variable types except rotation: the total value of the prescribed variable at this point. The variable may be displacement, pore pressure, temperature, etc., depending on the degree of freedom constrained. U(1) will be passed into the user subroutine as the value defined by any magnitude and/or amplitude specification for the boundary condition or connector motion.

Rotation variable type: the incremental value of the prescribed rotation at this point. The time increment, passed into the user subroutine through TIME(3), should be used to calculate the incremental value. In addition, U(1) will be passed into user subroutine DISP as the value defined by any magnitude or amplitude specification for the boundary condition.

If the analysis procedure requires that the time derivatives of prescribed variables be defined (for example, in a dynamic analysis the velocity and acceleration, as well as the value of the variable, are needed), d u / d t must be given in U(2) and d ^ { 2 } u / d t ^ { 2 } in U(3). The total value of the variable (incremental value in the case of rotation) and its time derivatives must be given in user subroutine DISP, regardless of the type of boundary condition or connector motion.

Variables passed in for information

KSTEP

Step number.

KINC

Increment number.

TIME(1)

Current value of step time.

TIME(2)

Current value of total time.

TIME(3)

Current value of time increment.

NODE

Node number. This variable cannot be used if user subroutine DISP is used to prescribe connector motions.

NOEL

Element number. This variable cannot be used if user subroutine DISP is used to prescribe boundary conditions.