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

315 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- source-page: 641 -->
# 2.1.17 ACCESSING Abaqus MATERIALS
Product: Abaqus/Standard
# References
• “UELMAT,” Section 1.1.29
• “UELMAT,” Section 4.1.15 of the Abaqus Verification Guide
# Overview
Utility routine MATERIAL\_LIB\_MECH returns the stress and the material Jacobian at the element material point.
The routine can be called only from Abaqus/Standard user subroutine UELMAT.
# Interface
```matlab
dimension stress(*),ddsdde(ntens,*,stran(*),dstran(*), * defGrad(3,3),predef(npredf),dpredef(npredf),coords(3) ... call material_lib_mech(materialllib,stress,ddsdde,stran,dstran, * npt,dvdv0,dvmat,dfgrd,predef,dpredef,npredf,celent,coords) ...
```
# Variables to be provided to the utility routine
materiallib
Variable containing information about the Abaqus material. This variable is passed into user subroutine UELMAT.
stran
Strain at the beginning of the increment.
dstran
Strain increment.
npt
Integration point number.
dvdv0
Ratio of the current volume to the reference volume at the integration point.
<!-- source-page: 642 -->
# dvmat
Volume at the integration point.
# dfgrd
Array containing the deformation gradient at the end of the increment.
# predef
Array of interpolated values of predefined field variables at the integration point at the start of the increment.
# dpredef
Array of increments of predefined field variables.
# npredf
Number of predefined field variables, including temperature.
# celent
Characteristic element length.
# coords
An array containing the coordinates of this point. These are the current coordinates if geometric nonlinearities are 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.
# Variables returned from the utility routine
# stress
Stress tensor at the end of the increment.
# ddsdde
Jacobian matrix of the constitutive model, $\partial \Delta \sigma / \partial \Delta \varepsilon$ , where $\Delta \sigma$ are the stress increments and $\Delta \varepsilon$ are the strain increments. ddsdde(i,j) defines the change in the ith stress component at the end of the time increment caused by an infinitesimal perturbation of the jth component of the strain increment array.
<!-- source-page: 643 -->
# 2.1.18 ACCESSING Abaqus THERMAL MATERIALS
Product: Abaqus/Standard
# References
• “UELMAT,” Section 1.1.29
• “UELMAT,” Section 4.1.15 of the Abaqus Verification Guide
# Overview
Utility routine MATERIAL\_LIB\_HT returns heat fluxes, internal energy time derivative, volumetric heat generation rate, and their derivatives at the element material point.
The routine can be called only from Abaqus/Standard user subroutine UELMAT.
# Interface
```txt
dimension predef(npredef), dpredef(npredef), dtemdx(*),
* rhodUdg(*), flux(*), dfdt(*), dfdg(ndim, *), drpldt(*),
* coords(3)
...
call material_lib_ht(materialllib, rhoUdot, rhodUdt, rhodUdg,
* flux, dfdt, dfdg, rpl, drpldt, npt, dvmat, predef,
* dpredef, npredf, temp, dtemp, dtemdx, celent, coords)
...
```
# Variables to be provided to the utility routine
materiallib
Variable containing information about the Abaqus material. This variable is passed into user subroutine UELMAT.
npt
Integration point number.
dvmat
Volume at the integration point.
predef
Array of interpolated values of predefined field variables at the integration point at the start of the increment.
<!-- source-page: 644 -->
# dpredef
Array of increments of predefined field variables.
# npredf
Number of predefined field variables, including temperature.
# temp
Temperature at the integration point at the start of the increment, .
# dtemp
Increment of temperature.
# dtemdx
Spatial gradients of temperature, , at the end of the increment.
# celent
Characteristic element length.
# coords
The array containing the original coordinates of this point.
# Variables returned from the utility routine
# rhoUdot
Time derivative of the internal thermal energy per unit mass, U, multiplied by density at the end of increment.
# rhodUdt
Variation of internal thermal energy per unit mass with respect to temperature multiplied by density evaluated at the end of the increment.
# rhodUdg
Variation of internal thermal energy per unit mass with respect to the spatial gradients of temperature, , multiplied by density at the end of the increment.
# flux
Heat flux vector, , at the end of the increment.
# dfdt
Variation of the heat flux vector with respect to temperature, , evaluated at the end of the increment.
# dfdg
Variation of the heat flux vector with respect to the spatial gradients of temperature, , at the end of the increment
<!-- source-page: 645 -->
rpl
Volumetric heat generation per unit time at the end of the increment.
drpldt
Variation of rpl with respect to temperature.
<!-- source-page: 646 -->
<!-- source-page: 647 -->
# 2.1.19 OBTAINING SCALAR STATE INFORMATION IN AN Abaqus/CFD ANALYSIS
# Product: Abaqus/CFD
# References
• “SMACfdUserPressureBC,” Section 1.3.1
• “SMACfdUserVelocityBC,” Section 1.3.2
# Overview
Utility routine SMACfdUserSubroutineGetScalar can be called from a user subroutine to access selected output variables for elements or surface facets that are part of a boundary condition definition.
# Interface
```txt
#include <SMACfdUserSubroutines.h>
const double* scalars = SMACfdUserSubroutineGetScalar("VAR");
```
# Variable to be provided to the utility routine
# VAR
Output variable key. The available variables are listed in “Available output variable keys.”
# Variable returned from the utility routine
# scalars
Real array containing scalar values of the output variable.
# Available output variable keys
The following output variable keys are supported:
• AREA: Area of the surface facet.
• DENSITY: Element density.
• DIV: Element divergence.
• EVOL: Element volume.
• TEMP: Element temperature.
• TURBEPS: Element energy dissipation rate.
• TURBKE: Element turbulent kinetic energy.
• TURBNU: Element turbulent eddy viscosity.
<!-- source-page: 648 -->
• TURBOMEGA: Element-specific energy dissipation rate.
A requested output variable must be valid for the energy equation setting or turbulence model for the request to be successful.
The returned array scalars corresponds to the real-valued variable that can be associated with the request output variable key VAR. If the surface associated with an output variable does not have any facets on the current processor, the pointer returned from the method will be 0. The method will throw an exception and terminate the analysis if an output variable is not available for the current model.
# Analysis time for which values are returned
Utility subroutine SMACfdUserSubroutineGetScalar returns values of the requested variable that correspond to the beginning of the current increment.
<!-- source-page: 649 -->
# 2.1.20 OBTAINING VECTOR STATE INFORMATION IN AN Abaqus/CFD ANALYSIS
# Product: Abaqus/CFD
# References
• “SMACfdUserPressureBC,” Section 1.3.1
• “SMACfdUserVelocityBC,” Section 1.3.2
# Overview
Utility routine SMACfdUserSubroutineGetVector can be called from a user subroutine to access selected output variables for elements and surface facets that are part of a boundary condition definition.
# Interface
```c
#include <SMACfdUserSubroutines.h>
const double* vcomp = SMACfdUserSubroutineGetVector("VAR", comp);
```
# Variables to be provided to the utility routine
# VAR
Output variable key. The available variables are listed in “Available output variable keys.”
# comp
Output variable vector component number; i.e., 1, 2, or 3.
# Variable returned from the utility routine
# vcomp
Real array containing the values of the vector component for the output variable.
# Available output variable keys
The following output variable keys are supported:
• NORMAL: Surface facet normal direction cosines.
• V: Surface facet normal velocity.
The returned array component corresponds to the real-valued variable that can be associated with the request output variable key VARs component. If the surface associated with an output variable does not have any facets on the current processor, the pointer returned from the method will be 0. The method
<!-- source-page: 650 -->
will throw an exception and terminate the analysis if an output request is not available for the current model.
# Analysis time for which values are returned
Utility subroutine SMACfdUserSubroutineGetVector returns values of the requested variable that correspond to the beginning of the current increment.