modify documents
This commit is contained in:
@@ -0,0 +1,445 @@
|
||||
<!-- source-page: 171 -->
|
||||
|
||||
incremental values of the temperature and field variables. The first entry (for example, predef(1,1) or predef(2,1)) contains the temperature; the subsequent entries (for example, predef(1,2) or predef(2,2) onward) contain the field variables.
|
||||
|
||||
coords(nBlock,\*)
|
||||
|
||||
An array containing the coordinates of the load integration points.
|
||||
|
||||
nBlock
|
||||
|
||||
Number of load integration points in this block. Currently equal to 1.
|
||||
|
||||
i\_array(i\_udecurr\_kstep)
|
||||
|
||||
Step number.
|
||||
|
||||
i\_array(i\_udecurr\_kinc)
|
||||
|
||||
Increment number.
|
||||
|
||||
i\_array(i\_udecurr\_noel)
|
||||
|
||||
Element number.
|
||||
|
||||
i\_array(i\_udecurr\_npt)
|
||||
|
||||
Load integration point number.
|
||||
|
||||
i\_array(i\_udecurr\_jltyp)
|
||||
|
||||
Currently equal to 1.
|
||||
|
||||
i\_array(i\_udecurr\_phase)
|
||||
|
||||
This value is relevant only for a time-harmonic eddy current analysis and is either 1 (i\_udecurr\_phase\_real) or 2 (i\_udecurr\_phase\_imag), depending on whether the current call to the user subroutine defines the real (in-phase) or the imaginary (out-of-phase) part of the volume current density vector.
|
||||
|
||||
i\_array(i\_udecurr\_proc)
|
||||
|
||||
Equal to 1 for a time-harmonic eddy current procedure, 2 for a transient eddy current procedure, and 3 for a magnetostatic procedure.
|
||||
|
||||
i\_array(i\_udecurr\_nfld)
|
||||
|
||||
Total number of predefined field variables.
|
||||
|
||||
niarray
|
||||
|
||||
Size of array i\_array. Currently equal to 8.
|
||||
|
||||
r\_array(ir\_udecurr\_time\_1)
|
||||
|
||||
Excitation frequency in cycles/time for a time-harmonic eddy current analysis; alternatively, the value of step time at the beginning of the current increment for a transient eddy current or magnetostatic analysis.
|
||||
|
||||
<!-- source-page: 172 -->
|
||||
|
||||
r\_array(ir\_udecurr\_time\_2)
|
||||
|
||||
Excitation frequency in radians/time for a time-harmonic eddy current analysis; alternatively, the value of total time at the beginning of the current increment for a transient eddy current or magnetostatic analysis.
|
||||
|
||||
r\_array(ir\_udecurr\_time\_3)
|
||||
|
||||
Time increment for a transient eddy current or magnetostatic analysis.
|
||||
|
||||
nrarray
|
||||
|
||||
Size of array r\_array. Currently equal to 3.
|
||||
|
||||
c\_array(1)
|
||||
|
||||
Not used.
|
||||
|
||||
ncarray
|
||||
|
||||
Size of array c\_array(1). Currently equal to 1.
|
||||
|
||||
<!-- source-page: 173 -->
|
||||
|
||||
# 1.1.25 UDEMPOTENTIAL: User subroutine to define nonuniform magnetic vector potential on a surface in an eddy current or magnetostatic analysis.
|
||||
|
||||
Product: Abaqus/Standard
|
||||
|
||||
# References
|
||||
|
||||
• “Eddy current analysis,” Section 6.7.5 of the Abaqus Analysis User’s Guide
|
||||
• “Magnetostatic analysis,” Section 6.7.6 of the Abaqus Analysis User’s Guide
|
||||
• \*D EM POTENTIAL
|
||||
|
||||
# Overview
|
||||
|
||||
User subroutine UDEMPOTENTIAL:
|
||||
|
||||
• can be used to define the variation of the magnetic vector potential as a function of position, time, element number, etc. for a transient eddy current or magnetostatic analysis or as a function of position, excitation frequency, phase, element number, etc. for a time-harmonic eddy current analysis;
|
||||
• will be called for each surface-based nonuniform electromagnetic potential definition during eddy current or magnetostatic analysis; and
|
||||
• ignores any amplitude references that may appear with the associated step definition or nonuniform distributed electromagnetic potential definition.
|
||||
|
||||
# User subroutine interface
|
||||
|
||||
```txt
|
||||
subroutine udempotential (
|
||||
C Write only -
|
||||
* vecPot,
|
||||
C Read only -
|
||||
* coords, nBlock,
|
||||
* i_array, niarray,
|
||||
* r_array, nrarray,
|
||||
* c_array, ncarray )
|
||||
C
|
||||
include 'aba_param.inc'
|
||||
C
|
||||
dimension vecPot(nBlock,*),
|
||||
* coords(nBlock,*),
|
||||
* i_array(*),
|
||||
* r_array(*)
|
||||
C
|
||||
```
|
||||
|
||||
<!-- source-page: 174 -->
|
||||
|
||||
```lua
|
||||
character*80 c_array(*)
|
||||
|
||||
parameter(i_udempot_kstep = 1,
|
||||
* i_udempot_kinc = 2,
|
||||
* i_udempot_noel = 3,
|
||||
* i_udempot_currtyp = 4,
|
||||
* i_udempot_phase = 5,
|
||||
* i_udempot_proc = 6)
|
||||
|
||||
parameter(ir_udempot_time_1 = 1,
|
||||
* ir_udempot_time_2 = 2,
|
||||
* ir_udempot_time_3 = 3)
|
||||
|
||||
parameter(ic_udempot_surf = 1)
|
||||
|
||||
parameter(i_pottyp_mvp = 1)
|
||||
|
||||
parameter(i_proc_lf_th = 1,
|
||||
* i_proc_lf_td = 2,
|
||||
* i_proc_ms = 3)
|
||||
|
||||
parameter(i_udempot_phase_real = 1,
|
||||
* i_udempot_phase_imag = 2)
|
||||
|
||||
user coding to define vecPot
|
||||
|
||||
return
|
||||
end
|
||||
```
|
||||
|
||||
# Variable to be defined
|
||||
|
||||
vecPot(nBlock,\*)
|
||||
|
||||
Components of the magnetic vector potential at a block of surface points. vecPot will be passed into the routine as the vector specified as part of the surface-based nonuniform magnetic vector potential definition. If the vector is not defined, vecPot will be passed in as zero.
|
||||
|
||||
# Variables passed in for information
|
||||
|
||||
coords(nBlock,\*)
|
||||
|
||||
An array containing the coordinates of a block of surface points.
|
||||
|
||||
nBlock
|
||||
|
||||
Number of surface points in this block. Currently equal to 1.
|
||||
|
||||
<!-- source-page: 175 -->
|
||||
|
||||
```txt
|
||||
i_array(i_udempot_kstep)
|
||||
Step number.
|
||||
```
|
||||
|
||||
```txt
|
||||
i_array(i_udempot_kinc)
|
||||
Increment number.
|
||||
```
|
||||
|
||||
```pickle
|
||||
i_array(i_udempot_noel)
|
||||
Element number.
|
||||
```
|
||||
|
||||
```txt
|
||||
i_array(i_udempot_pottyp)
|
||||
Currently equal to 1.
|
||||
```
|
||||
|
||||
```python
|
||||
i_array(i_udempot_phase)
|
||||
```
|
||||
|
||||
This value is relevant only for a time-harmonic eddy current analysis and is either 1 (i\_udempot\_phase\_real) or 2 (i\_udempot\_phase\_imag), depending on whether the current call to the user subroutine defines the real (in-phase) or the imaginary (out-of-phase) part of the magnetic vector potential.
|
||||
|
||||
```txt
|
||||
i_array(i_udempot_proc)
|
||||
```
|
||||
|
||||
Equal to 1 for a time-harmonic eddy current procedure, 2 for a transient eddy current procedure, and 3 for a magnetostatic procedure.
|
||||
|
||||
```txt
|
||||
niarray
|
||||
```
|
||||
|
||||
Size of array i\_array. Currently equal to 6.
|
||||
|
||||
```txt
|
||||
r_array(ir_udempot_time_1)
|
||||
```
|
||||
|
||||
Excitation frequency in cycles/time for a time-harmonic eddy current analysis; alternatively, the value of step time at the beginning of the current increment for a transient eddy current or magnetostatic analysis.
|
||||
|
||||
```txt
|
||||
r_array(ir_udempot_time_2)
|
||||
```
|
||||
|
||||
Excitation frequency in radians/time for a time-harmonic eddy current analysis; alternatively, the value of total time at the beginning of the current increment for a transient eddy current or magnetostatic analysis.
|
||||
|
||||
```txt
|
||||
r_array(ir_udempot_time_3)
|
||||
```
|
||||
|
||||
Time increment for a transient eddy current or magnetostatic analysis.
|
||||
|
||||
```txt
|
||||
nrarray
|
||||
```
|
||||
|
||||
Size of array r\_array. Currently equal to 3.
|
||||
|
||||
```python
|
||||
c_array(ic_udempot_surf)
|
||||
```
|
||||
|
||||
Surface name.
|
||||
|
||||
<!-- source-page: 176 -->
|
||||
|
||||
# ncarray
|
||||
|
||||
Size of array c\_array. Currently equal to 1.
|
||||
|
||||
<!-- source-page: 177 -->
|
||||
|
||||
# 1.1.26 UDMGINI: User subroutine to define the damage initiation criterion.
|
||||
|
||||
# Product: Abaqus/Standard
|
||||
|
||||
# References
|
||||
|
||||
• “Progressive damage and failure,” Section 24.1.1 of the Abaqus Analysis User’s Guide
|
||||
• “Modeling discontinuities as an enriched feature using the extended finite element method,” Section 10.7.1 of the Abaqus Analysis User’s Guide
|
||||
• \*DAMAGE INITIATION
|
||||
|
||||
# Overview
|
||||
|
||||
User subroutine UDMGINI:
|
||||
|
||||
• can be used to specify a user-defined damage initiation criterion;
|
||||
• allows the specification of more than one failure mechanism in an element, with the most severe one governing the actual failure;
|
||||
• can be used in combination with several Abaqus built-in damage evolution models, with each model corresponding to a particular failure mechanism;
|
||||
• will be called at all integration points of elements for which the material definition contains userdefined damage initiation criterion;
|
||||
• can call utility routine GETVRM to access material point data; and
|
||||
• is currently available only for enriched elements.
|
||||
|
||||
# User subroutine interface
|
||||
|
||||
```txt
|
||||
SUBROUTINE UDMGINI (FINDEX, NFINDEX, FNORMAL, NDI, NSHR, NTENS, PROPS,
|
||||
1 NPROPS, STATEV, NSTATEV, STRESS, STRAIN, STRAINEE, LXFEM, TIME,
|
||||
2 DTIME, TEMP, DTEMP, PREDEF, DPRED, NFIELD, COORDS, NOEL, NPT, LAYER,
|
||||
3 KSPT, KSTEP, KINC, KDIRCYC, KCYCLELCF, TIMECYC, SSE, SPD, SCD, SVD,
|
||||
4 SMD, JMAC, JMATYP, MATLAYO, LACCFLA, CELENT, DROT, ORI)
|
||||
C
|
||||
INCLUDE 'ABA_PARAM.INC'
|
||||
C
|
||||
DIMENSION FINDEX (NFINDEX), FNORMAL (NDI, NFINDEX), COORDS (*),
|
||||
1 STRESS (NTENS), STRAIN (NTENS), STRAINEE (NTENS), PROPS (NPROPS),
|
||||
2 STATEV (NSTATV), PREDEF (NFIELD), DPRED (NFIELD), TIME (2), JMAC (*),
|
||||
3 JMATYP (*), DROT (3, 3), ORI (3, 3)
|
||||
```
|
||||
|
||||
<!-- source-page: 178 -->
|
||||
|
||||
user coding to define FINDEX, and FNORMAL
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
|
||||
# Variables to be defined
|
||||
|
||||
# FINDEX(NFINDEX)
|
||||
|
||||
A Vector defining the indices for all the failure mechanisms.
|
||||
|
||||
# FNORMAL(NDI, NFINDEX)
|
||||
|
||||
An Array defining the normal direction to the fracture plane (three dimensions) or line (two dimensions) for each failure mechanism.
|
||||
|
||||
# Variables that can be updated
|
||||
|
||||
# STATEV
|
||||
|
||||
An array containing the user-defined solution-dependent state variables at this point. This array will be passed in containing the values of these variables at the start of the increment unless the values are updated in user subroutine USDFLD. They can be updated in this subroutine to their values at the end of the increment. You define the size of this array by allocating space for it (see “Allocating space” in “User subroutines: overview,” Section 18.1.1 of the Abaqus Analysis User’s Guide, for more information).
|
||||
|
||||
# SSE,SPD,SCD,SVD,SMD
|
||||
|
||||
Specific elastic strain energy, plastic dissipation, “creep” dissipation, viscous, and damage energy, respectively, passed in as the values at the start of the increment and should be updated to the corresponding specific energy values at the end of the increment. They have no effect on the solution, except that they are used for energy output.
|
||||
|
||||
# Variables passed in for information
|
||||
|
||||
# NFINDEX
|
||||
|
||||
Number of indices for all failure mechanisms.
|
||||
|
||||
# NDI
|
||||
|
||||
Number of direct stress components at this point.
|
||||
|
||||
# NSHR
|
||||
|
||||
Number of engineering shear stress components at this point.
|
||||
|
||||
# NTENS
|
||||
|
||||
Size of the stress or strain component array (NRI + NSHR).
|
||||
|
||||
# PROPS(NPROPS)
|
||||
|
||||
User-specified array of material constants associated with this user-defined failure criterion.
|
||||
|
||||
<!-- source-page: 179 -->
|
||||
|
||||
# NPROPS
|
||||
|
||||
User-defined number of material constants associated with this user-defined failure criterion.
|
||||
|
||||
# NSTATV
|
||||
|
||||
Number of solution-dependent state variables associated with this material (specified when space is allocated for the array; see “Allocating space” in “User subroutines: overview,” Section 18.1.1 of the Abaqus Analysis User’s Guide).
|
||||
|
||||
# STRESS(NTENS)
|
||||
|
||||
An Array passed in as the current stress tensor. If a local orientation is used at the same point as user subroutine UDMGINI, the stress components will be in the local orientation; in the case of finite-strain analysis, the basis system in which stress components are stored rotates with the material.
|
||||
|
||||
# STRAIN(NTENS)
|
||||
|
||||
An Array containing the current total strains. If a local orientation is used at the same point as user subroutine UDMGINI, the strain components will be in the local orientation; in the case of finite-strain analysis, the basis system in which strain components are stored rotates with the material.
|
||||
|
||||
# STRAINEE(NTENS)
|
||||
|
||||
An Array containing the current elastic strains. If a local orientation is used at the same point as user subroutine UDMGINI, the elastic strain components will be in the local orientation; in the case of finitestrain analysis, the basis system in which elastic strain components are stored rotates with the material.
|
||||
|
||||
# LXFEM
|
||||
|
||||
An integer flag to indicate an enriched element.
|
||||
|
||||
# TIME(1)
|
||||
|
||||
Value of step time at the beginning of the current increment.
|
||||
|
||||
# TIME(2)
|
||||
|
||||
Value of total time at the beginning of the current increment.
|
||||
|
||||
# DTIME
|
||||
|
||||
Time increment.
|
||||
|
||||
# TEMP
|
||||
|
||||
Temperature at the start of the increment.
|
||||
|
||||
# DTEMP
|
||||
|
||||
Increment of temperature during the time increment.
|
||||
|
||||
# PREDEF
|
||||
|
||||
An array containing the values of all of the user-specified predefined variables at this point at the start of the increment.
|
||||
|
||||
<!-- source-page: 180 -->
|
||||
|
||||
# DPRED
|
||||
|
||||
An array containing the increments of all of the predefined variables during the time increment.
|
||||
|
||||
# NFIELD
|
||||
|
||||
Number of user-specified predefined variables.
|
||||
|
||||
# COORDS
|
||||
|
||||
An array containing the current coordinates of this point.
|
||||
|
||||
# NOEL
|
||||
|
||||
Element number.
|
||||
|
||||
# NPT
|
||||
|
||||
Integration point number.
|
||||
|
||||
# LAYER
|
||||
|
||||
Layer number (for composite shells and layered solids).
|
||||
|
||||
# KSPT
|
||||
|
||||
Section point number within the current layer.
|
||||
|
||||
# KSTEP
|
||||
|
||||
Step number.
|
||||
|
||||
# KINC
|
||||
|
||||
Increment number.
|
||||
|
||||
# KDIRCYC
|
||||
|
||||
Iteration number in a direct cyclic analysis.
|
||||
|
||||
# KCYCLELCF
|
||||
|
||||
Cycle number in a direct cyclic low-cycle fatigue analysis.
|
||||
|
||||
# TIMECYC
|
||||
|
||||
Time period in one loading cycle in a direct cyclic analysis.
|
||||
|
||||
# JMAC
|
||||
|
||||
Variable that must be passed into the GETVRM utility routine to access a material point variable.
|
||||
|
||||
# JMATYP
|
||||
|
||||
Variable that must be passed into the GETVRM utility routine to access a material point variable.
|
||||
|
||||
# MATLAYO
|
||||
|
||||
Variable that must be passed into the GETVRM utility routine to access a material point variable.
|
||||
|
||||
# LACCFLA
|
||||
|
||||
Variable that must be passed into the GETVRM utility routine to access a material point variable.
|
||||
Reference in New Issue
Block a user