MAC/GMC 4.0 Example Manual
MAC/GMC 4.0 User’s Manual
Volume 2:
Keywords Manual
Brett A. Bednarcyk
Steven M. Arnold
Table of Contents............................................................................................................................... 1
Introduction....................................................................................................................................... 2
Current Capabilities and What’s New in MAC/GMC 4.0................................................................... 3
Format of this Manual.................................................................................................................. 6
Getting Started................................................................................................................................... 7
Distributed Files.......................................................................................................................... 7
Executing MAC/GMC 4.0 Problems................................................................................................ 7
Using User-Defined Subroutines with MAC/GMC 4.0...................................................................... 9
Format of the MAC/GMC 4.0 Input File........................................................................................ 10
Section 1 : Flag-Type Keywords......................................................................................................... 12
*CHECK: Check input file for errors................................................................................................ 13
*CONDUCTIVITY: Effective thermal conductivities.......................................................................... 14
*ELECTROMAG: Electromagnetic analysis....................................................................................... 16
Section 2 : Material Keywords............................................................................................................ 18
*MDBPATH: External material database file & location..................................................................... 19
*CONSTITUENTS: Constituent (subcell) materials........................................................................... 21
Section 3 : Analysis Type and Architecture Keywords.......................................................................... 45
*RUC: Repeating unit cell analysis and architecture........................................................................ 48
*LAMINATE: Laminate analysis and architecture............................................................................ 60
Section 4 : Loading Keywords............................................................................................................ 64
*MECH: Applied mechanical loading............................................................................................... 66
*THERM: Applied thermal loading................................................................................................... 70
*SOLVER: Time integration........................................................................................................... 72
*SURF: Yield Surface Analysis....................................................................................................... 76
Section 5 : Damage and Failure Keywords.......................................................................................... 79
*ALLOWABLES: Estimated elastic allowables.................................................................................. 80
*FAILURE_SUBCELL: Subcell static failure.................................................................................... 83
*FAILURE_CELL: Repeating unit cell static failure......................................................................... 86
*DAMAGE: Fatigue damage analysis............................................................................................... 88
*DEBOND: Fiber-matrix interfacial debonding.................................................................................. 94
*CURTIN: Curtin effective fiber breakage model............................................................................. 98
Section 6 : Results and Data Output Keywords................................................................................. 100
*PRINT: Overall print output level for output file.......................................................................... 101
*XYPLOT: X-Y plot output........................................................................................................... 102
*PATRAN: PATRAN post-processing data output........................................................................... 108
*MATLAB: MATLAB post-processing data output........................................................................... 110
Section 7 : End of File Keyword....................................................................................................... 112
*END: End of input file................................................................................................................ 113
References..................................................................................................................................... 114
Appendix........................................................................................................................................ 115
User-Defined Constituent Material Constitutive Model File (usrmat.F90)...................................... 116
User-Defined Stiffness Matrix Determination File (usrformde.F90).............................................. 121
User-Defined Material Property Determination File (usrfun.F90)................................................. 123
Sample external material database file.......................................................................................... 129
MATLAB source files for generation of fringe plots (stress.m, strain.m, epsp.m).................. 130
Index............................................................................................................................................. 147
This document is the second volume in the three volume set of User’s Manuals for the Micromechanics Analysis Code with Generalized Method of Cells Version 4.0 (MAC/GMC 4.0). Volume 1 is the Theory Manual, this document is the Keywords Manual, and Volume 3 is the Example Problem Manual.
MAC/GMC 4.0 is a computer code developed at NASA Glenn Research Center that analyzes the thermo-inelastic behavior of composite materials and laminates. The code is based on the micromechanics theory known as the generalized method of cells (GMC). GMC models the response of composite materials using a doubly or triply periodic repeating unit cell (RUC), which is composed of a number of subcells (see Figure 3.1 and Figure 3.2). By placing distinct constituent materials within the subcells, a heterogeneous (composite) material can be modeled, provided an RUC can be identified in the material’s micro scale architecture. The main advantages of GMC over other micromechanics theories and approaches are: 1) its fully multi-axial formulation, 2) the availability of local (constituent level) stress and strain fields, and 3) its computational efficiency. The availability of the local fields makes the method attractive in situations where more detailed composite analysis, beyond simple determination of effective thermo-elastic properties, is necessary. In such situations, when matrix inelasticity, constituent damage or failure, or fiber-matrix debonding is important, the availability of the local fields is critical in order to account for these effects appropriately. It is the purpose of the MAC/GMC 4.0 code to provide a convenient and user-friendly “package” for the GMC theories, in addition to providing significant added value through a library of inelastic constitutive models, repeating unit cells, thermo-mechanical and yield surface loading options, failure and damage analysis capabilities, and results generation options.
The original method of cells (which allowed only four subcells) was developed by Aboudi (1989, 1991), the doubly periodic version of GMC by Paley and Aboudi (1992), and the triply periodic version of GMC by Aboudi (1995). The actual GMC theories implemented within MAC/GMC 4.0 were reformulated for maximum computational efficiency by Pindera and Bednarcyk (1999) and Bednarcyk and Pindera (2000). A recent advancement in the GMC technology has significantly improved the local accuracy of the doubly periodic version of the model. This new micromechanics theory, called the high-fidelity generalized method of cells (HFGMC), developed by Aboudi et al. (2001, 2002), has also been implemented with MAC/GMC 4.0.
As mentioned, MAC/GMC 4.0 is also capable of analyzing composite laminates. The composite laminate analysis capabilities also rely on the GMC composite material model. The doubly and triply periodic versions of GMC function within the context of classical lamination theory (Jones, 1975; Herakovich, 1998) to model the ply level composite material. Thus, the code can analyze the thermo-inelastic behavior of arbitrary laminate configurations.
Finally, a new thermo-electro-magnetic version of GMC that is capable of modeling so-called “smart” composites has been implemented within MAC/GMC 4.0. The implementation also enables the analysis of smart composite laminates. This specific form of the thermo-electro-magnetic GMC was developed by Bednarcyk (2002) based on the work of Aboudi (2000).
Current Capabilities and What’s New in MAC/GMC 4.0
The current capabilities of MAC/GMC are listed below, with new or improved features in this version highlighted in bold blue type. The superscripts refer to the enumerated details regarding these new features given after the list.
Current Capabilities
· Usability
Intuitive
ASCII user
interface1
A
graphical user interface (GUI) for MAC/GMC
4.0 will be available in March 2002
Computer
resource management2
- Dynamic memory allocation
- Static problem size limitations removed
- Improved efficiency of solution for laminate analysis and large problems
43 new
example problems are described in the MAC/GMC 4.0
Example Problem Manual and are distributed with the
code
· Material Constitutive Models5
Elastic: isotropic, transversely
isotropic,
completely
anisotropic
Inelastic:
Bodner-Partom,
Robinson, isotropic
GVIPS,
transversely isotropic GVIPS, multimechanism GVIPS,
SMA, incremental plasticity, Freed-Walker
User-defined:
user-defined constitutive
model subroutine
(usrmat.F90)
· Library of Material Properties
Expanded
internal material property library
Temperature-dependent
or temperature-independent properties specified in
input file
User-defined
subroutine (usrfun.F90)
for calculating material properties as a function of
temperature or other variable
External
material property database file6
· Micromechanics Analysis Models
Doubly periodic
generalized method of cells
Triply periodic
generalized method of cells
Doubly Periodic
High-Fidelity Generalized Method of
Cells (HFGMC)4
· Library of Doubly and Triply Periodic Repeating Unit Cell Architectures
· Laminate Analysis Model (Classical Lamination Theory)
Monolithic
layers
Doubly periodic
composite layers
Triply
periodic composite layers7
Improved
interoperability (doubly and triply periodic layers in the same
laminate)7
· Smart Material Analysis Capabilities
Shape
memory alloy (SMA)
model5
Fully
coupled thermo-electro-magneto-elasto-plastic
analysis3
- Constituent material (arbitrary poling direction)
- Composite
- Laminate
· Library of Applied Loading History Options
Thermal, uniaxial,
biaxial, general (arbitrary) loading, thermo-mechanical
Curvature and moment
loading for
laminate
Electromagnetic
loading
· Time Integration Options
Forward
Euler
Self-Adaptive
Predictor-Corrector
· Yield Surface Analysis8
GMC, HFGMC, laminate
Global
(composite/laminate level),
local (subcell level),
ply level in
laminate
· Failure, Damage, and Lifing Capabilities
Elastic
Allowables Estimation9
Static
Failure Analysis9
- Doubly periodic GMC, triply periodic GMC, laminate
- Subcell level, repeating unit cell level
- Maximum stress, maximum strain, and Tsai-Hill criteria
Weak
Interface Modeling
- Distinct interfacial phase layer
- Interfacial displacement discontinuity modeling (GMC and HFGMC)
Fiber
Breakage Modeling11
- Using internal fiber interface
- Curtin effective fiber breakage model
Fatigue
Damage Analysis10
- Doubly periodic GMC, triply periodic GMC, laminate
- Stiffness reduction, strength reduction
- Improved interoperability – Can be combined with static failure, debonding, and fiber breakage
· Output and Data Visualization12
Unlimited
number of
macro, micro, and laminate x-y plot files
MSC/PATRAN output for
use with the MACPOST software
add-on ® fringe
plots
MATLAB output for
use with distributed MATLAB source files
®
fringe
plots
Details on New Features
1) The format of the MAC/GMC 4.0 input file has been completely overhauled. Unneeded keywords have been eliminated, more logical keyword and specifier names have been utilized, and the placement of specific data has been better organized. The result is a considerably more streamlined and easy to use input file format.
2) The memory allocation of MAC/GMC 4.0 is dynamic. There is no longer a static limit on the size of the problem (i.e., number of subcells and laminate plies) that can be analyzed, the number of constituent materials that can be employed, or the number of x-y plot result files that can be generated. The result is a more robust code that only uses the system resources it needs to execute a given problem.
3) MAC/GMC 4.0 can analyze smart composites and laminates. A major advancement in the generalized method of cells micromechanics models and lamination theory has been implemented within MAC/GMC 4.0: the ability to model fully coupled thermo-electro-magneto-visco-elasto-plastic composite materials and laminates. These so-called “smart” materials and composites react electromagnetically to thermo-mechanical loading and react mechanically to electromagnetic loading. These materials are currently finding a growing number of applications in sensors and actuators and have the potential to enable the next generation of multi-functional structures that can automatically sense and react to various stimuli. See problems 7b and 7c in the MAC/GMC 4.0 Example Manual.
4) A new high-fidelity doubly periodic micromechanics model has been implemented within MAC/GMC 4.0. This new micromechanics model, the high-fidelity generalized method of cells (HFGMC) provides much more accurate local stress and strain field predictions than does the standard method of cells. MAC/GMC 4.0 can therefore perform composite analyses with a variable level of fidelity, maximizing either accuracy or efficiency when appropriate. See problem 3f in the MAC/GMC 4.0 Example Manual.
5) Several new internal material constitutive models have been implemented within MAC/GMC 4.0. These include: a shape memory alloy constitutive model, the classical incremental plasticity model, a new multimechanism visco-elastic-plastic GVIPS model, the Freed-Walker viscoplasticity model, a Robinson isotropic viscoplasticity model for NARloy Z, and a completely anisotropic elastic model. The classical incremental plasticity model is formulated to allow the user to simply input stress-total strain point pairs from a material’s inelastic stress-strain curve. See problems 2c, 2d, 7a, and 7e in the MAC/GMC 4.0 Example Manual.
6) MAC/GMC 4.0 enables the use of an external material database file. User’s can store their own material properties in this external database file, from which the code reads and stores only the material properties specified for use in a specific problem. See problem 2h in the MAC/GMC 4.0 Example Manual.
7) The laminate analysis capabilities have been significantly expanded and computationally enhanced. Discontinuous fiber and particulate reinforced laminate layers can now be analyzed thanks to the ability of triply periodic GMC to represent any particular layer within a laminate. Further, all laminate data is now kept in core memory during execution (previous versions of MAC/GMC performed read/write cycles to disk). This has significantly increased the computational efficiency of MAC/GMC 4.0 laminate analyses. See problem 3i in the MAC/GMC 4.0 Example Manual.
8) The yield surface analysis capabilities of MAC/GMC 4.0 are significantly expanded. Various subcell and repeating unit cell level yield surfaces can be automatically generated for composites using standard or high-fidelity GMC. Further, yield surfaces can now be automatically generated for laminates on the laminate, ply, and micro (subcells within a ply) levels. See problems 4f and 4g the MAC/GMC 4.0 Example Manual.
9) The static failure analysis capabilities of MAC/GMC 4.0 have been significantly enhanced. A simple and quick estimation of composite allowable stress and strain quantities can be performed based on the constituent allowables. Further, true subcell and repeating unit cell level static failure analysis (i.e., checking for failure at various scales during application of simulated thermo-mechanical loading) can be performed using several failure criteria. These failure analyses are available for composites as well as laminates. See problems 5a, 5b, and 5c in the MAC/GMC 4.0 Example Manual.
10) The fatigue damage analysis capabilities of MAC/GMC 4.0 have been significantly enhanced. A new strength reduction fatigue model has been implemented, and the applicability of the stiffness reduction fatigue model has been expanded to include triply periodic repeating unit cells and laminates. Further, both fatigue damage models now work in concert with the MAC/GMC 4.0 static failure and interfacial debonding capabilities to enable mechanistically realistic life predictions for composites and laminates. See problem 5d in the MAC/GMC 4.0 Example Manual.
11) The local fiber failure analysis capabilities of MAC/GMC 4.0 have been improved via inclusion of the Curtin effective fiber breakage model. Based on fiber strength statistical data, the Curtin model is a widely used tool for predicting composite stiffness degradation and failure due to longitudinal fiber fracture. The Curtin model can be used to model fibers within continuous fiber composites and continuous fiber composite layers within laminates. See problem 5f in the MAC/GMC 4.0 Example Manual.
12) The post-processing of MAC/GMC 4.0 results has been significantly improved. The code now automatically generates output for use with the popular MATLAB software package. MATLAB source files are distributed with MAC/GMC 4.0 that generate fringe plots of the stress, strain, and inelastic strain fields predicted by the code. See problem 6c in the MAC/GMC 4.0 Example Manual.
13) MAC/GMC 4.0 has been extensively tested and debugged.
F Note: Attempts have been made to enable a high level of interoperability within MAC/GMC 4.0. However, currently not all of the code’s features can work in concert. For example, the composite layers within a laminate cannot currently be modeled using the new HFGMC micromechanics model. Look for additional improvements in interoperability in future versions of MAC/GMC.
Format of this Manual
This Keywords Manual first presents a “Getting Started” section that details the installation of the MAC/GMC 4.0 software and how the code can be executed. The bulk of this manual presents detailed information on each of the keywords that may appear in the MAC/GMC 4.0 input file. Each keyword is presented with its purpose, and then the usage of and all specifiers associated with the keyword are described. Optional and special case specifiers are shown in blue type. A “Notes” section for each keyword is referenced via superscripts in the list of specifiers and their descriptions. For example, the specifier t(i) is descibed as,
|
Name |
Definition |
|
t(i) 3 |
Time points in time vs. load magnitude profile |
Here, the superscript “3” would refer to note number 3 in the “Notes” section, which would follow the above description.
One or more examples of the usage of each keyword are given along with any additional information needed to use the keyword. Any example problems (appearing in the Example Problem Manual) associated with the particular keyword are listed, with example problems that are most relevant to the keyword typed in bold. Suggested sources of additional information are also provided when appropriate. In some cases, keyword information is broken into subsections in order to facilitate the presentation of the needed information. Note that the abbreviation N/A is employed throughout this manual to indicate that a particular option is not applicable or unavailable. Finally, – AND – and – OR – are used as logical operators.
Distributed Files
The MAC/GMC 4.0 distribution cd includes the following in its root directory:
|
4 mac4.exe |
MAC/GMC 4.0 executable file
|
|
0 library |
File folder containing the MAC/GMC 4.0 library file and user-defined subroutines |
|
0 examples |
File folder containing the MAC/GMC 4.0 Example Problem input files
|
|
0 manuals |
File folder containing the MAC/GMC 4.0 Theory Manual, Keywords Manual, and Example Problem Manual in PDF format |
|
0 documents |
File folder containing many of the technical references cited in the MAC/GMC 4.0 manuals in PDF format |
|
0 macpost |
File folder containing MACPOST files required for MAC/GMC 4.0 results data post-processing using the MSC/PATRAN software package |
|
0 matlab |
File folder containing the MATLAB source files required for MAC/GMC 4.0 results data post-processing using the MATLAB software package |
It is recommended that the user create the directory “mac4” on their personal computer running the Microsoft WindowsÓ operating system and copy the entire contents of the cd to this directory. If disk drive space is at a premium, the contents of the “manuals” and “documents” folders can be omitted and the user can employ the cd when viewing the documentation contained in these folders. Note that, in order to read the documentation files provided in the “manuals” and “documents” folders, the user will need the Adobe AcrobatÓ Reader software installed on his/her computer. This software can be downloaded for free from:
http://www.adobe.com/products/acrobat/readstep.html
Executing MAC/GMC 4.0 Problems
The MAC/GMC 4.0 executable file (mac4.exe) is a DOS executable file intended to be executed through Microsoft WindowsÓ (NT, 2000, XP) at the command prompt. In order to execute a MAC/GMC 4.0 problem, at the command prompt, in the directory containing the executable, type:
mac4 in_name out_name
where,
|
in_name |
MAC/GMC 4.0 input file name |
|
out_name |
MAC/GMC 4.0 output file name (Optional) |
The code will look for the input file with the specified in_name and a “.mac” extension, so the specified in_name should not include an extension. The out_name specification is optional. If out_name is omitted, the code will use the specified input file name and write output to the file in_name.out. If out_name is specified and does not have an extension, the code will write output to the file out_name.out. Finally, if out_name is specified and does have an extension, the code will write output to the file out_name with the specified extension. If the desired input and output file locations are different than the current working directory, the directory path can be added to the specified in_name and out_name.
Example: Execute MAC/GMC 4.0 using the input file “example_1a.mac” located in the “mac4” directory, write output to the file “example_1a.out” located in the “mac4” directory.
C:\mac4>mac4 example_1a
Example: Execute MAC/GMC 4.0 using the input file “example_1a.mac” located in the “mac4” directory, write output to the file “test.out” located in the “mac4” directory.
C:\mac4>mac4 example_1a test
In the two example cases above, the following is written to the screen:
+--------------------------------------------------------------+
+ Micromechanics Analysis Code +
+ with +
+ Generalized Method of Cells +
+ +
+ MAC/GMC +
+ +
+ Version 4.0 +
+ +
+ *** WARNING *** +
+ No warranties are granted regarding the results of this code +
+ This code is export controlled by the U.S. government +
+--------------------------------------------------------------+
**** Checking Input File ****
> Input file name: c:\mac4\example_1a.mac
---> 0 Error(s) Detected <---
*** Determining Effective Properties ***
***************************
*** EXECUTION COMPLETED ***
***************************
Execution Time: 0.016 second(s)
As the above text indicates, MAC/GMC 4.0 performs a self-diagnostic “prescan” step prior to executing a given problem. During this prescan, the input file is checked for errors. If errors are detected, execution of the problem will not be completed, and a description of the detected errors will be written to the output file.
The MAC/GMC 4.0 input, output, and results data files can be viewed and edited with any standard ASCII file editor (such as Microsoft NotePad or Microsoft WordPad). Alternatively, MAC/GMC 4.0 can be set up to execute within a programming environment, such as Microsoft Visual Workspace. The best way to do this is to compile and link the MAC/GMC 4.0 library file and the user-defined subroutines within the programming environment, as described in the next section. The MAC/GMC 4.0 files can then be conveniently manipulated within the utilized programming environment.
Using User-Defined Subroutines with MAC/GMC 4.0
The MAC/GMC 4.0 static library file, along with the three MAC/GMC 4.0 user-defined subroutines, are included on the MAC/GMC 4.0 distribution cd in the “library” file folder. The contents of the “library” folder are:
|
mac4.lib |
MAC/GMC 4.0 static library file
|
|
usrformde.F90 |
MAC/GMC 4.0 user-defined FORTRAN 90 source file for determining constituent material elastic stiffness matrices from user-defined elastic constants (called when usrmat.F90 is employed) |
|
usrfun.F90 |
MAC/GMC 4.0 user-defined FORTRAN 90 source file for determining constituent material properties from a user-defined function of temperature or other variable |
|
usrmat.F90 |
MAC/GMC 4.0 user-defined FORTRAN 90 source file for determining inelastic strain and state variable increments from a user-defined inelastic constitutive model (material properties can be taken from the input file, the external material database, or the usrfun.F90 routine) |
In order to generate a MAC/GMC 4.0 executable file from these four files, the .F90 source files must be compiled and linked with the mac4.lib static library file using an appropriate Microsoft WindowsÓ (NT, 2000, XP) FORTRAN 90 compiler. MAC/GMC 4.0 was developed using the Compaq Visual Fortran product (v. 6.6), and it is thus recommended that this product be used. For information on this product, see: http://www.compaq.com/fortran/
The procedure for creating the MAC/GMC 4.0 executable from the four files above within Compaq Visual Fortran involves:
1) Create new fortran console application project:
a) Click “File” ® “New” ® “Projects” Tab ® select “Fortran Console Application”
® specify Location (directory path) and Project name and click “OK”
b) Select “An empty project” to create, click “Finish” and click “OK”
2) Add files to the project:
a) Click “Project” ® “Add to Project” ® “Files”
b) Select the MAC/GMC 4.0 static library file and the three user defined source files
listed above from the appropriate directory and click “OK”
3) Choose “Release” configuration to maximize execution speed
a) Click “Build” ® “Set Active Configuration …”
b) Select “… Win32 Release” and click “OK”
4) Build (compile and link) the executable
a) Click “Build” ® “Build project_name”
b) Alternatively, just hit F7 on the keyboard
This procedure will build an executable MAC/GMC 4.0 file in the “Release” directory. If a debug version is desired (which will allow the debugging of the user-defined subroutines only), the active configuration can be set to “Debug”.
To execute MAC/GMC 4.0 problems using this executable file from within the Compaq Visual Fortran environment:
1) Click “Project” ® “Settings”
2) Make sure that on the left the “Settings For:” box has the appropriate configuration listed and that the project name (rather than one of the source files or the library file) is highlighted.
3) On the right, choose the “Debug” tab
4) Under “Program arguments:”, type: in_name out_name (as you would after typing “mac4” at for execution via the DOS command prompt) and click “OK”
5) Select “Build” ® “Execute …” to run the code. (Alternatively hit the ! toolbar button)
Note that the MAC/GMC 4.0 input, output, and data results files can be viewed and edited within the Compaq Visual Fortran environment. The user-defined FORTRAN 90 source files can also be edited within this environment. It is important for the user to realize that the three provided user-defined FORTRAN 90 source files contain code that is used to demonstrate the MAC/GMC 4.0 user-defined capabilities. These same three subroutines are complied and linked into the MAC/GMC 4.0 distribution executable file (mac4.exe). If users wish to employ their own code in the user-defined subroutines, this code must be placed in the three user-defined FORTRAN 90 source files, and these files must be compiled and linked to the MAC/GMC 4.0 static library file (see procedure above). It is the user’s responsibility to ensure that his code is functioning properly and that his code is actually being utilized during execution rather than the demonstration code distributed in the three user-defined FORTRAN 90 source files. Note that a message is written to the screen when the distributed (default) versions of the user-defined subroutines are called. It is recommended that the user write a similar message to the screen to serve as notification that the intended subroutine is being called.
Format of the MAC/GMC 4.0 Input File
The remainder of this Keywords Manual deals with the specific input requirements of the MAC/GMC 4.0 input file to execute analyses of composite materials and laminates. This input file is an ASCII file that can be edited with any standard ASCII file editor. The first line of the input file is always interpreted as a title line. The remainder of the input file is divided into a number of keywords, which are placed on their own line in the file and are preceded by the asterisk character (*). A number of input lines follows each keyword, and each line contains specifier words, followed by an “=” sign. The input data read by the code then follows the “=” sign. An example of a MAC/GMC 4.0 input file is:
MAC/GMC 4.0 Example 1a - graphite/epoxy effective properties
*CONDUCTIVITY
NTEMP=1 TEMP=21.
*CONSTITUENTS
NMATS=2
# -- Graphite fiber
M=1 CMOD=6 MATID=U MATDB=1 &
EL=388.2E9,7.6E9,0.41,0.45,14.9E9,-0.68E-6,9.74E-6
K=500.,10.
# -- Epoxy matrix
M=2 CMOD=6 MATID=U MATDB=1 &
EL=3.45E9,3.45E9,0.35,0.35,1.278E9,45.E-6,45.E-6
K=0.19,0.19
*RUC
MOD=2 ARCHID=1 VF=0.65 F=1 M=2
NPL=-1
*END
This MAC/GMC 4.0 input file contains five keywords (highlighted in bold). In addition, the MAC/GMC 4.0 input file recognizes the following two special characters:
|
# |
Placed at the start of a line, makes the line a comment (which is ignored by the code) |
|
& |
Placed at the end of a line, serves as a continuation character and causes the code to treat the next line as part of the same line. |
These two special characters are very important as the the line on which the data specifiers are located within the MAC/GMC 4.0 input file is important. That is, examining a portion of the example input file given above,
# -- Graphite fiber
M=1 CMOD=6 MATID=U MATDB=1 &
EL=388.2E9,7.6E9,0.41,0.45,14.9E9,-0.68E-6,9.74E-6
K=500.,10.
The specifiers MATID=, MATDB=, and EL= are all on the same line (due to the presence of the “ &” continuation character), but the specifier K= is on its own line. If the correct input file format is not followed, the code will not execute and the errors detected within the input file will be described in the output file.
Finally, the order of the keywords in the input file is unimportant. The order of the specifiers on a particular line is also unimportant. As mentioned above, however, the order of the specifiers that are on different lines under a particular keyword is important. Despite the freedom to place the keywords and specifiers on a particular line in any order, this manual presents a logical suggested order for both. It is recommended that the user follow this order for the sake of logic and clarity.
The first section of the MAC/GMC 4.0 keywords involves the flag-type keywords. These three keywords are like switches that tell the code whether or not to perform certain analyses or do certain things. Like all keywords, they may be placed anywhere within the MAC/GMC 4.0 input file, but it is recommended that they be placed at the beginning of the file.
The three MAC/GMC input file keywords covered in this section are:
*CHECK ® Causes code only to check the input file without executing.
*CONDUCTIVITY ® Causes code to calculate effective thermal conductivities.
*ELECTROMAG ® Indicates that code execution will involve electromagnetic (smart) analysis.
It should be noted that if *CONDUCTIVITY is specified, there are additional input requirements for and restrictions on the constituent materials (specified with *CONSTITUENTS). Similarly, if *ELECTROMAG is specified, additional input requirements are associated with the constituent materials (specified with *CONSTITUENTS), the repeating unit cell or laminate (specified with *RUC or *LAMINATE), and the applied mechanical loading (specified with *MECH).
*CHECK: Check input file for errors
Purpose:
Specify that MAC/GMC 4.0 should only check the input file for errors and then stop. The code will not execute an analysis or generate any results.
Usage:
*CHECK
Example:
*CHECK
Associated MAC/GMC 4.0 Example Problem(s):
None
Notes:
1) MAC/GMC 4.0 always performs a “prescan” of the input file in order to check the data for errors and determine array dimensions for dynamic memory allocation. The *CHECK option stops the code after the prescan is complete.
2) There are some input data inconsistencies that cannot be detected during the prescan. Such errors will not be detected using the *CHECK option, but will be detected during analysis execution, causing the code to stop.
*CONDUCTIVITY: Effective thermal conductivities
Purpose:
Specify that MAC/GMC 4.0 should determine effective thermal conductivity components at the specified temperatures.
Usage:
*CONDUCTIVITY
NTEMP=ntemp TEMP=T(1),T(2),…,T(ntemp)
|
Name |
Definition |
|
ntemp |
Number of temperatures at which to calculate effective thermal conductivities |
|
T(i) |
Temperatures at which to calculate effective thermal conductivities |
Example:
*CONDUCTIVITY
NTEMP=3 TEMP=21.,200.,500.
Associated MAC/GMC 4.0 Example Problem(s):
Example 1a
Notes:
1) MAC/GMC 4.0 determines the three effective thermal conductivity components (in the three Cartesian coordinate directions) of a GMC repeating unit cell (RUC) at the specified temperatures as a separate pre-step. This is done prior to determination of the effective thermo-elastic properties and application of the simulated loading. The effective thermal conductivities are printed to the output file and then no longer stored or used by the code.
2) If the *CONDUCTIVITY keyword is specified, two thermal conductivity components (axial and transverse) must be specified for each constituent material read by MAC/GMC 4.0 (see Section 2, *CONSTITUENTS). Further, the material properties of the constituents must be user-defined (MATID=U).
3) The *CONDUCTIVITY keyword is only compatible with repeating unit cell analysis (*RUC), not laminate analysis (*LAMINATE).
4) The effective thermal conductivities are calculated based on the assumption that all constituent materials are (at most) transversely isotropic (in terms of their local thermal conductivities) and that their plane of isotropy is the x2-x3 plane in global RUC coordinates.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 2 (*CONSTITUENTS)
*ELECTROMAG: Electromagnetic analysis
Purpose:
Specify that MAC/GMC 4.0 should perform coupled thermo-electro-magneto-elasto-visco-plastic analysis.
Usage:
*ELECTROMAG
Example:
*ELECTROMAG
Associated MAC/GMC 4.0 Example Problem(s):
Example 7b, Example 7c
Notes:
1) Unlike determination of the effective thermal conductivities, electromagnetic analysis is tightly coupled within the MAC/GMC 4.0 formulation. Field variables associated with the thermo-electro-magnetic effects are stored and tracked during the MAC/GMC 4.0 execution and simulated electro-magnetic loading must be applied.
2) If the *ELECTROMAG keyword is specified, each constituent material read by MAC/GMC 4.0 must include the electromagnetic specifier: EM=1 indicates that the constituent material has electromagnetic material parameters associated with it; EM=0 indicates that the constituent material does not have electromagnetic material parameters associated with it (see Section 2, *CONSTITUENTS). For constituent materials with EM=1, electromagnetic material parameters must be specified, the material’s thermo-mechanical material properties must be user-defined (MATID=U), and the arbitrary transversely isotropic elastic constitutive model must be employed (CMOD=9).
3) Electromagnetic analysis may be performed for both repeating unit cell analysis (*RUC) and laminate analysis (*LAMINATE). However, the electromagnetic materials may only be part of triply periodic GMC RUCs. That is, if RUC analysis is specified, triply periodic GMC must be employed (MOD=3). If laminate analysis is specified, any layer that is electromagnetic (i.e., contains electromagnetic constituent materials) must employ triply periodic GMC (MOD=3).
4) In the case of electromagnetic laminate analysis (*LAMINATE), each layer must include the electromagnetic specifier: EM=1 indicates that the layer is electromagnetic (see Section 3, *LAMINATE).
5) Because electric and magnetic loading terms must be specified in the case of electromagnetic analysis, the arbitrary loading option (LOP=99) must be employed. The electromagnetic loading history is specified as mechanical loading components 7 – 12 (see Section 4, *MECH).
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 2 (*CONSTITUENTS)
MAC/GMC 4.0 Keywords Manual Section 3 (*LAMINATE)
MAC/GMC 4.0 Keywords Manual Section 4 (*MECH)
MAC/GMC 4.0 Theory Manual Section 2.2.2
This section deals with two keywords related to the constituent materials that will form the repeating unit cell or laminate to be analyzed by MAC/GMC 4.0. These keywords are used to provide the code with the constituent material properties that will occupy the subcells in the analyzed repeating unit cell (RUC) or repeating unit cells that represent each ply of the laminate. Then, using keywords described in Section 3, the RUC is constructed using subcells, which contain some or all of the constituent materials. If the MAC/GMC 4.0 problem involves a laminate, the laminate is constructed of layers, each of which is represented by an RUC. The RUC for each layer is then constructed of subcells containing the constituent materials. Because the constituent materials always occupy subcells within an RUC, they can also be thought of as subcell materials. However, the subcell materials are not necessarily elastic or isotropic. MAC/GMC 4.0 handles a wide range of material visco-elasto-plastic material behavior and material anisotropy on the level of the subcell.
The two MAC/GMC 4.0 input file keywords covered in this section are:
*MDBPATH ® Specifies name and location of the external material database file.
*CONSTITUENTS ® Specifies the properties of constituent materials that will occupy subcells.
As one might expect, there are several ways in which MAC/GMC 4.0 can obtain the material properties for the constituent materials. These include:
1) Reading the properties directly from the MAC/GMC 4.0 input file.
2) Obtaining the properties from the internal MAC/GMC 4.0 material database.
3) Reading the properties from a user’s personal external material database file.
4) Obtaining the properties from a user-defined subroutine that calculates them based on a specified function.
In addition, different material properties are required for different analysis types and constitutive models. For example, if the user indicates that effective thermal conductivities should be calculated by the code (by including *CONDUCTIVITY in the input file), the thermal conductivities of the constituent materials must be specified in *CONSTITUENTS. Similarly, if the user chooses an inelastic constitutive model for a particular constituent material rather than a linear elastic constitutive model, material parameters for the particular inelastic constitutive model must be specified in addition to the material elastic constants. Because of this specialization of the constitutive material properties for many of the different problems that MAC/GMC 4.0 can solve, the data specification associated with the *CONSTITUENTS keyword is also quite specific compared to the other input parameters associated with the problem. As such, the part of this section dealing with the *CONSTITUENTS keyword is the longest and most involved component of this manual.
It is important to realize that the employed constituent material property units must be consistent. That is, all constituent materials that comprise an RUC or laminate must employ the same units. The units of the material properties within the MAC/GMC 4.0 internal material database are given in Table 2.2. Both ksi and MPa are used for the material property stress (and stiffness) unit. The time unit for all material properties is seconds, the temperature unit is °C, and the strain values are unitless (as opposed to %). Note also that any applied loading should be specified in units consistent with the material property units.
*MDBPATH: External material database file & location
Purpose:
Specify the name and path to an external material database file.
Usage:
*MDBPATH
PATH=mat_path NAME=mat_name
|
Name |
Definition |
|
mat_path1 |
Computer directory path to the external material database file (Optional) |
|
mat_name |
Name of the external material database file with extension |
Examples:
*MDBPATH
NAME=sample_material_database.mat
*MDBPATH
PATH=c:\mac4\mat_db\ NAME=sample_material_database.mat
Associated MAC/GMC 4.0 Example Problem(s):
Example 2h
Notes:
1) If the optional PATH=mat_path is omitted, the code will look for the external material database file in the same directory as the input file.
2) A sample external material database file, sample_material_database.mat, is distributed with MAC/GMC 4.0. This sample file is used in Example Problem 2h. A print out of this sample file is given in the Appendix of this manual.
3) The format of the external material database file is similar to the user-defined material property input format employed when the properties are specified directly in the input file. The specifics of the external material database file format are discussed under the *CONSTITUENTS keyword in the present section of this manual.
4) To choose a particular material from the external material database file, specific input is required under *CONSTITUENTS in order to specify the name of the material from the external material database file and that the code should look for the particular material in the external database file (see *CONSTITUENTS in the present section of this manual).
5) MAC/GMC 4.0 does not read in and store all constituent materials in the external material database file. The code only reads and stores the materials specified under *CONSTITUENTS. Thus, requirements that apply to all constituent materials only apply to those that are actually read from the external material database file. For example, electromagnetic analysis requires that all constituent materials have the electromagnetic specifier (EM=) included. If using an external material database, this requirement would not apply to every material appearing in the external material database file. It would only apply to those read by MAC/GMC 4.0 as specified under *CONSTITUENTS in the particular input file being employed.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 2 (*CONSTITUENTS)
*CONSTITUENTS: Constituent (subcell) materials
P *CONSTITUENTS is a required keyword P
Purpose:
Specify the constituent material constitutive models and material properties that will be read and stored by MAC/GMC 4.0. The local constitutive models supported by MAC/GMC 4.0 are listed in Table 2.1. Each is described in detail in the MAC/GMC 4.0 Theory Manual Section 4.
Table 2.1 Constituent material constitutive models supported by MAC/GMC 4.0.
|
cmod |
Model |
|
1 |
Bodner-Partom viscoplastic model |
|
2 |
Modified (non-isothermal) Bodner-Partom viscoplastic model |
|
3 |
Robinson transversely isotropic viscoplastic model |
|
4 |
Isotropic GVIPS model |
|
6 |
Standard elastic model (transversely isotropic with RUC x2-x3 plane of isotropy) |
|
7 |
Transversely isotropic GVIPS model |
|
9 |
Transversely isotropic elastic model (arbitrary specified plane of isotropy) |
|
10 |
Freed-Walker viscoplastic model |
|
11 |
Robinson isotropic viscoplastic model for NARloy Z |
|
15 |
Anisotropic elastic model |
|
21 |
Classical incremental (rate-independent) plasticity model |
|
22… |
Multimechanism visco-elasto-plastic GVIPS model |
|
30 |
Graesser - Cozzarelli - Witting shape memory alloy (SMA) model |
|
99 |
User-defined constitutive model (requires compilation of user code in usrmat.F90 and usrformde.F90 and linking with the MAC/GMC 4.0 library file mac4.lib) |
… Non-U.S. government users may require an additional software license to use this constitutive model
The material information specified under *CONSTITUENTS has many special cases based on the options chosen by the user and can become somewhat complicated. As such, the description for this keyword has been written in outline form in order to present the input requirements as simply as possible. Each outline heading has its own Usage description and Examples. The Notes have been consolidated and placed at the end of each capital lettered section. The outline format for the *CONSTITUENTS keyword is:
I. Properties taken from the internal material properties database (matid ¹ U)
II. User-defined material properties (matid = U)
A. Material properties read directly from the input file (matdb = 1)
1. Standard constitutive models (cmod¹15, cmod¹99)
a) Temperature-independent material properties
b) Temperature-dependent material properties
2. Special cases
a) Internal anisotropic constitutive model (cmod=15)
i) Temperature-independent material properties
ii) Temperature-dependent material properties
b) User-defined constitutive model (cmod=99)
i) Temperature-independent material properties
ii) Temperature-dependent material properties
B. Material properties determined from a user-defined function (matdb = 2)
C. Material properties read from external material database file (matdb = 3)
III. Electromagnetic (smart) material properties
A. Temperature-independent material properties
B. Temperature-dependent material properties
I. Internal material properties database (matid ¹ U)
Usage:
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid D=d1,d2,d3
M=matnum CMOD=cmod TREF=tref MATID=matid D=d1,d2,d3
.
.
.
® Repeated nmats times
|
Name |
Definition |
|
nmats |
Number of constituent materials specified |
|
matnum |
Material number (data following M=matnum is associated with material number matnum) numbered sequentially |
|
cmod |
Constitutive model identification number (see Table 2.1) |
|
tref 1,2 |
Reference temperature for material (Special Case) |
|
matid |
Material i.d. letter, which indicates location of material parameters = A-H ® Internal material database (see Table 2.2) = U ® User-defined material properties |
|
d1,d2,d3 3 |
Components of vector normal to the plane of transverse isotropy (Special Case) (see Figure 2.1) |
Example:
*CONSTITUENTS
NMATS=4
M=1 CMOD=1 MATID=C
M=2 CMOD=6 TREF=650. MATID=B
M=3 CMOD=9 MATID=A D=0.,0.,1.
M=4 CMOD=21 MATID=F

Figure 2.1 Definition of the d vector for local transverse isotropy.
Associated MAC/GMC 4.0 Example Problem(s):
Example 1c-d, Example 2a-d, Example 3a-i, Example 4a-d, Example 4f-h, Example 5e-f, Example 6a-c, Example 7a (see Table 2.2)
Notes:
1) TREF=tref is only required in the special case when the code cannot determine at what temperature the material properties should be taken. This special case occurs when:
· Thermal loading is not specified (*THERM omitted)
– AND –
· Material properties are taken from the internal material database (matid ¹ U)
– OR –
Material properties are user-defined (matid = U) – AND – temperature-dependent
2) In all other cases TREF=tref is optional.
Warning: Specifying TREF=tref will override the temperature dependence and cause the code to employ temperature-independent material properties for the material taken at the temperature tref.
3) D=d1,d2,d3 is only required in the special case when the specified material constitutive model is one that admits arbitrary local transverse isotropy. This occurs when:
cmod=3 – OR – cmod=7 – OR – cmod=9
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 4 (*SOLVER)
MAC/GMC 4.0 Theory Manual Section 4
Table 2.2 MAC/GMC 4.0 constitutive models and internal material property database. Numerical values for the material properties can be obtained from the MAC/GMC output file.
|
Model |
matid |
Material |
Stress Units* |
Temperature Dependent? |
Example Problem(s) |
|
|
|
|
|
|
|
|
Bodner-Partom (CMOD=1) |
A |
Aluminum (2024-T4) |
MPa |
Yes |
2a |
|
B |
Aluminum (2024-0) |
MPa |
Yes |
2a |
|
|
C |
Aluminum (6061-0) a |
MPa |
Yes |
2a,3c |
|
|
D |
Aluminum (6061-0) b |
MPa |
Yes |
2a |
|
|
E |
Aluminum (pure) |
MPa |
Yes |
2a |
|
|
F |
Titanium (pure) |
MPa |
No |
2a |
|
|
G |
Copper |
MPa |
No |
2a |
|
|
U |
User-Defined |
– |
– |
2e,2f,2h |
|
|
|
|
|
|
|
|
|
Modified Bodner-Partom (CMOD=2) |
A |
Ti-21S |
MPa |
Yes |
2b |
|
U |
User-Defined |
– |
– |
– |
|
|
|
|
|
|
|
|
|
Robinson Transversely Isotropic Viscoplastic (CMOD=3) |
A |
Kanthal |
ksi |
No (600° C) |
– |
|
B |
FeCrAlY |
ksi |
Yes |
– |
|
|
C |
35% Tungsten/Kanthal Composite |
ksi |
No (600° C) |
– |
|
|
U |
User-Defined |
– |
– |
– |
|
|
|
|
|
|
|
|
|
Isotropic GVIPS (CMOD=4) |
A |
Ti-21S |
ksi |
Yes |
1c,1d,2b,3a,3b,3d-i,4a-d,4f-h,5e, 5f,6a-c,7a |
|
U |
User-Defined |
– |
– |
2e,3b |
|
|
|
|
|
|
|
|
|
Standard Linear Elastic (CMOD=6) |
A |
Boron Fiber |
MPa |
No |
3c |
|
B |
SiC (SCS-6) Fiber |
MPa |
Yes |
– |
|
|
C |
Tungsten Fiber |
MPa |
No |
– |
|
|
D |
Boron Fiber |
ksi |
No |
3a,3b |
|
|
E |
SiC (SCS-6) Fiber |
ksi |
Yes |
1d,3a,3b,3d-i,4a-d,4f-h, 5e,5f,6-c,7a |
|
|
F |
Tungsten Fiber |
ksi |
No |
– |
|
|
U |
User-Defined |
– |
– |
1a,1b,2e,2f,2h,4e,5a-d, 7d,7e |
|
|
|
|
|
|
|
|
|
Transversely Isotropic GVIPS (CMOD=7) |
A |
Ti-6-4 |
ksi |
Yes |
– |
|
U |
User-Defined |
– |
– |
– |
|
|
|
|
|
|
|
|
|
Transversely Isotropic Elastic (CMOD=9) |
A |
T50 Graphite |
MPa |
No |
– |
|
B |
T300 Graphite |
MPa |
No |
– |
|
|
C |
P100 Graphite |
MPa |
Yes |
– |
|
|
D |
T50 Graphite |
ksi |
No |
– |
|
|
E |
T300 Graphite |
ksi |
No |
– |
|
|
F |
P100 Graphite |
ksi |
Yes |
– |
|
|
U |
User-Defined |
– |
– |
7b-e |
Table 2.2 (continued)
|
|
|
|
|
|
|
|
Freed-Walker (CMOD=10) |
A |
Copper |
MPa |
Yes |
– |
|
B |
NARloy Z |
MPa |
Yes |
– |
|
|
U |
User-Defined |
– |
– |
– |
|
|
|
|
|
|
|
|
|
Robinson Isotropic (CMOD=11) |
A |
NARloy Z |
MPa |
Yes |
– |
|
U |
User-Defined |
– |
– |
– |
|
|
|
|
|
|
|
|
|
Anisotropic Elastic (CMOD=15) |
U |
User-Defined |
– |
– |
7e |
|
|
|
|
|
|
|
|
Classical Incremental Plasticity (CMOD=21) |
A |
Copper (bilinear) |
MPa |
Yes |
2c |
|
B |
Ti-24-11 (bilinear) |
MPa |
Yes |
2c |
|
|
C |
Ti-15-3 (point-wise) |
MPa |
Yes |
2c |
|
|
D |
Ti-24-11 (point-wise) |
MPa |
Yes |
2c |
|
|
E |
Copper (bilinear) |
ksi |
Yes |
– |
|
|
F |
Ti-24-11 (bilinear) |
ksi |
Yes |
– |
|
|
G |
Ti-15-3 (point-wise) |
ksi |
Yes |
– |
|
|
H |
Ti-24-11 (point-wise) |
ksi |
Yes |
– |
|
|
U |
User-Defined |
– |
– |
2e,2f |
|
|
|
|
|
|
|
|
|
Multimechanism GVIPS… (CMOD=22) |
A |
Ti-21S |
ksi |
Yes |
7a |
|
|
|
|
|
|
|
|
Shape Memory (CMOD=30) |
A |
NiTi |
MPa |
Yes |
2d |
|
B |
NiTi |
ksi |
Yes |
|
|
|
U |
User-Defined |
– |
– |
|
|
|
|
|
|
|
|
|
|
User-Defined (CMOD=99) |
U |
User-Defined |
– |
– |
2g,2h |
* Time units are all seconds, temperature units are all °C, strain is unitless
… Non-U.S. government users may require an additional software license to use this constitutive model
II. User-defined material properties (matid = U)
A. Material properties read directly from the input file (matdb = 1)
1. Standard constitutive models (cmod¹15, cmod¹99)
Usage:
a) Temperature-independent material properties
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb &
EL=EA,ET,nA,nT,GA,aT,aA NP=np VI=vi(1),vi(2),…,vi(n) D=d1,d2,d3
K=kA,kT
.
.
.
® Repeated nmats times
b) Temperature-dependent material properties
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb
NTP=ntp
TEM=T(1),T(2),…,T(ntp)
EA=EA(1), EA(2),…, EA(ntp)
ET= ET(1), ET(2),…, ET(ntp)
NUA=nA(1),nA(2),…,nA(ntp)
NUT=nT(1),nT(2),…,nT(ntp)
GA=GA(1),GA(2),…,GA(ntp)
ALPA=aA(1),aA(2),…,aA(ntp)
ALPT=aT(1),aT(2),…,aT(ntp)
NP=np
V1=V1(1), V1(2),…, V1(ntp)
V2=V2(1), V2(2),…, V2(ntp)
.
. ® Repeated n times, where n = number of visco-inelastic properties (see Table 2.3)
.
Vn=Vn(1), Vn(2),…, Vn(ntp)
KA=kA(1),kA(2) ,…,kA(ntp)
KT=kT(1),kT(2) ,…,kT(ntp)
D=d1,d2,d3
.
.
.
® Repeated nmats times
|
Name |
Definition |
|
nmats |
Number of constituent materials specified |
|
matnum |
Material number (data following M=matnum is associated with material number matnum) numbered sequentially |
|
cmod |
Constitutive model identification number |
|
tref 1,2 |
Reference temperature for material (Special Case) |
|
matid [=U] |
Material i.d. letter, which indicates location of material parameters = A-H ® Internal material database (see Table 2.2) = U ® User-defined material properties |
|
matdb [=1] |
Material database location: = 1 ® Material properties read from input file = 2 ® Material properties determined from user-defined function (usrfun.F90) = 3 ® Material properties read from external material database file |
|
EA,ET 3 |
Axial and transverse elastic (i.e., “Young’s”) modulus |
|
nA,nT 3 |
Axial and transverse Poisson ratios |
|
GA 3 |
Axial shear modulus |
|
aT,aA 3 |
Axial and transverse coefficients of thermal expansion (CTEs) |
|
np 4 |
Number of stress-strain points employed to characterize post-yield portion of the stress-strain curve for classical plasticity (Special Case) |
|
vi(1-n) 5 |
Visco-inelastic material properties (Special Case) n = number of visco-inelastic material
properties and is cmod dependent ( |
|
d1,d2,d3 6 |
Components of vector normal to the plane of transverse isotropy (Special Case) (see Figure 2.1) |
|
kA,kT 7 |
Axial and transverse thermal conductivities (Special Case) |
|
ntp |
Number of temperatures at which the material properties are specified |
|
T(i) |
Temperatures at which the material properties are specified |
|
EA(i) 3 |
Axial elastic (i.e., “Young’s”) modulus at input temperature number i |
|
ET(i) 3 |
Transverse elastic (i.e., “Young’s”) modulus at input temperature number i |
|
nA(i) 3 |
Axial Poisson ratio at input temperature number i |
|
nT(i) 3 |
Transverse Poisson ratios at input temperature number i |
|
GA(i) 3 |
Axial shear modulus at input temperature number i |
|
aA(i) 3 |
Axial coefficient of thermal expansion (CTEs) at input temperature number i |
|
aT(i) 3 |
Transverse coefficients of thermal expansion (CTEs) at input temperature number i |
|
Vj(i) 5 |
Visco-inelastic material property number j at input temperature number i (Special Case) |
|
kA(i) 6 |
Axial thermal conductivity at input temperature number i (Special Case) |
|
kT(i) 6 |
Transverse thermal conductivity at input temperature number i (Special Case) |
Table 2.3 Temperature-independent user-defined inelastic material property specification. See the MAC/GMC 4.0 Theory manual for details on the constitutive models and their parameters.
|
|
n |
Inelastic material property specification |
Plane of transverse isotropy specification |
|
Bodner-Partom (CMOD=1) |
6 |
VI = D0, Z0, Z1, m, n, q |
N/A |
|
Modified Bodner-Partom (CMOD=2) |
17 |
VI = D0, Z0, Z1, Z2, Z3, m1, m2, n, a1, a2, r1, r2, Dm1, Dm2, Dz1, Dz2, Dz3 |
N/A |
|
Robinson Transversely Isotropic Viscoplastic (CMOD=3) |
10 |
VI =
m, kT, R, H, n, m, b, h, w, |
D=d1,d2,d3 |
|
Isotropic GVIPS (CMOD=4) |
11 |
VI = m, k, Ra, B0, B1, n, p, q, k0, B0’, b |
N/A |
|
Standard Linear Elastic (CMOD=6) |
N/A |
N/A Elastic Only |
N/A |
|
Transversely Isotropic GVIPS (CMOD=7) |
10 |
VI = k, n, m, m, b, R, H, G0, w, h |
D=d1,d2,d3 |
|
Transversely Isotropic Elastic (CMOD=9) |
N/A |
N/A Elastic Only |
D=d1,d2,d3 |
|
Freed-Walker (CMOD=10) |
14 |
VI = A, C, n, Q,
Tm, Tt, d, f, h, l, D0,
|
N/A |
|
Robinson Isotropic (CMOD=11) |
9 |
VI = A, n, m, b, H, R, K2, K0, G0 |
N/A |
|
Anisotropic Elastic (CMOD=15) |
N/A |
N/A Elastic Only, Special Case – see below |
N/A |
|
Classical Plasticity (CMOD=21) |
np+1 |
NP=np VI = sy, s1, s2, … , snp, e1, e2, … , enp (sy is the yield stress and si,ei are stress-total strain pairs that characterize the post-yield response) |
N/A |
|
Multimechanism GVIPS (CMOD=22) |
N/A |
N/A Model not currently supported with user-defined properties |
N/A |
|
Shape Memory (CMOD=30) |
5 |
VI = fT, Y, a, a, n |
N/A |
|
User-Defined (CMOD=99) |
N/A |
N/A Special Case – see below |
N/A |
Examples:
a) Temperature-independent material properties
*CONSTITUENTS
NMATS=2
M=1 CMOD=6 MATID=U MATDB=1 &
EL=388.2E9,7.6E9,0.41,0.45,14.9E9,-0.68E-6,9.74E-6
K=500.,10.
M=2 CMOD=6 MATID=U MATDB=1 &
EL=3.45E9,3.45E9,0.35,0.35,1.278E9,45.E-6,45.E-6
K=0.19,0.19
*CONSTITUENTS
NMATS=5
M=1 CMOD=1 MATID=U MATDB=1 &
EL=9.53E3,9.53E3,0.33,0.33,3.58E3,21.06E-6,21.06E-6 &
VI=1.E4,49.,63.,300.,4.,1.
M=2 CMOD=9 MATID=U MATDB=1 &
EL=253.5E9,6.05E9,0.39,0.47,4.167E9,-0.4724E-6,26.63E-6 D=0.5,1.,0.
M=3 CMOD=4 MATID=U MATDB=1 &
EL=14009.,14009.,0.365,0.365,5131.5,5.862E-6,5.862E-6 &
VI=0.000999275,44.960,1.679E-07,2.494561E-05,0.05, &
3.3,1.8,1.35,0.85,3.0183E-7,0.001
M=4 CMOD=10 MATID=U MATDB=1 &
EL=0.1305E+06,0.1305E+06,0.36,0.36,0.4798E+05,0.165E-04,0.165E-04 &
VI=0.2000E+08,0.1300E+02,0.4500E+01,0.2000E+06,1082.85, &
404.85,0.3500E-01,0.5000E+00,0.4000E+02,0.6500E+01, &
0.1300E+00,0.1000E-01,0.1000E-06,0.7000E+00
M=5 CMOD=21 MATID=U MATDB=1 &
EL=10000.,10000.,0.326,0.326,3770.,12.00E-6,12.00E-6 &
NP=1 VI=5.08,13.1,0.15
b) Temperature-dependent material properties
*CONSTITUENTS
NMATS=2
M=1 CMOD=21 MATID=U MATDB=1
NTP=3
TEM=21.,400.,800.
EA=10000.,9000.,7300.
ET=10000.,9000.,7300.
NUA=0.326,0.351,0.345
NUT=0.326,0.351,0.345
GA=3771.,3331.,2714.
ALPA=12.00E-6,13.50E-6,22.72E-6
ALPT=12.00E-6,13.50E-6,22.72E-6
NP=3
V1=4.20,3.81,3.05
V2=6.13,4.77,3.69
V3=6.60,5.10,3.90
V4=13.1,9.70,5.10
V5=0.004,0.004,0.004
V6=0.01,0.01,0.01
V7=0.15,0.15,0.15
M=2 CMOD=1 MATID=U MATDB=1
NTP=2
TEM=18.,700.
EA=9.53E3,4.12E3
ET=9.53E3,4.12E3
NUA=0.41,0.41
NUT=0.41,0.41
GA=3.58E3,1.46E3
ALPA=21.06E-6,28.92E-6
ALPT=21.06E-6,28.92E-6
V1=1.E4,1.E4
V2=49.,49.
V3=63.,63.
V4=300.,300.
V5=4.,2.5
V6=1.,1.
Associated MAC/GMC 4.0 Example Problem(s):
a) Temperature-independent material properties
Example 1a, Example 1b, Example 2e, Example 3b, Example 7e
b) Temperature-dependent material properties
Example 2e, Example 4e, Example 5a, Example 5b, Example 5c, Example 5d
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 4 (*SOLVER)
MAC/GMC 4.0 Theory Manual Section 4
2. Special cases
a) Internal anisotropic constitutive model (cmod=15)
Usage:
i) Temperature-independent material properties
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb &
EL=C11,C12,C13,C14,C15,C16,C22,C23,C24,C25,C26,C33,C34,C35,C36,C44,C45,C46,C55,C56,C66, &
a11, a22, a33,a23,a13,a12
.
.
.
® Repeated nmats times
ii) Temperature-independent material properties
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb
NTP=ntp
TEM=T(1),T(2),…,T(ntp)
C11=C11(1),C11(2),…,C11(ntp)
C12=C12(1),C12(2),…,C12(ntp)
C13=C13(1),C13(2),…,C12(ntp)
C14=C14(1),C14(2),…,C14(ntp)
C15=C15(1),C15(2),…,C15(ntp)
C16=C16(1),C16(2),…,C16(ntp)
C22=C22(1),C22(2),…,C22(ntp)
C23=C23(1),C23(2),…,C23(ntp)
C24=C24(1),C24(2),…,C24(ntp)
C25=C25(1),C25(2),…,C25(ntp)
C26=C26(1),C26(2),…,C26(ntp)
C33=C33(1),C33(2),…,C33(ntp)
C34=C34(1),C34(2),…,C34(ntp)
C35=C35(1),C35(2),…,C35(ntp)
C36=C36(1),C36(2),…,C36(ntp)
C44=C44(1),C44(2),…,C44(ntp)
C45=C45(1),C45(2),…,C45(ntp)
C46=C46(1),C46(2),…,C46(ntp)
C55=C55(1),C55(2),…,C55(ntp)
C56=C56(1),C56(2),…,C56(ntp)
C66=C66(1),C66(2),…,C66(ntp)
ALF1=a11(1),a11(2),…,a11(ntp)
ALF2=a22(1),a22(2),…,a22(ntp)
ALF3=a33(1),a33(2),…,a33(ntp)
ALF4=a23(1),a23(2),…,a23(ntp)
ALF5=a13(1),a13(2),…,a13(ntp)
ALF6=a12(1),a12(2),…,a12(ntp)
.
.
.
® Repeated nmats times
|
Name |
Definition |
|
nmats |
Number of constituent materials specified |
|
matnum |
Material number (data following M=matnum is associated with material number matnum) numbered sequentially |
|
cmod [=15] |
|
|
tref 1,2 |
Reference temperature for material (Special Case) |
|
Name |
Definition |
|
matid [=U] |
Material i.d. letter, which indicates location of material parameters = A-H ® Internal material database (see Table 2.2) = U ® User-defined material properties |
|
matdb [=1] |
Material database location: = 1 ® Material properties read from input file = 2 ® Material properties determined from user-defined function (usrfun.F90) = 3 ® Material properties read from external material database file |
|
Cij |
Stiffness matrix coefficients |
|
aij 3 |
CTE vector components (anisotropic materials can have 6 CTE components) |
|
ntp |
Number of temperatures at which the material properties are specified |
|
T(i) |
Temperatures at which the material properties are specified |
|
Cjk(i) |
Stiffness matrix component jk at input temperature number i |
|
ajk(i) 3 |
CTE component jk at input temperature number i |
Examples:
i) Temperature-independent material properties
*CONSTITUENTS
NMATS=1
M=1 CMOD=15 MATID=U MATDB=1 &
EL=6.677E9, 3.274E9, 4.843E9, 0., -0.1887E9, 0., &
6.662E9, 3.384E9, 0., 0.006711E9, 0., &
55.80E9, 0., -6.969E9, 0., &
2.625E9, 0., -0.1830E9, &
2.269E9, 0., &
1.613E9 &
43.74E-6, 39.04E-6, 4.043E-6, 0., 12.19E-6, 0.
ii) Temperature-dependent material properties
*CONSTITUENTS
NMATS=1
M=1 CMOD=15 MATID=U MATDB=1
NTP=2
TEM=23.,250.
C11=6.677E9,5.973E9
C12=3.274E9,2.931E9
C13=4.843E9,4.517E9
C14=0.,0.
C15=0.1887E9,0.1932E9
C16=0.,0.
C22=6.662E9,5.867E9
C23=3.384E9,3.023E9
C24=0.,0.
C25=-0.006711E9,0.008475E9
C26=0.,0.
C33=55.80E9,48.22E9
C34=0.,0.
C35=6.969E9,7.105E9
C36=0.,0.
C44=2.625E9,2.124E9
C45=0.,0.
C46=0.1830E9,0.1363E9
C55=2.269E9,2.123E9
C56=0.,0.
C66=1.613E9,1.444E9
ALF1=43.74E-6,46.75E-6
ALF2=39.04E-6,43.81E-6
ALF3=4.043E-6,5.241E-6
ALF4=0.,0.
ALF5=-12.19E-6,-16.45E-6
ALF6=0.,0.
Associated MAC/GMC 4.0 Example Problem(s):
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 4 (*SOLVER)
b) User-defined constitutive model (cmod=99)
Usage:
i) Temperature-independent material properties
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb NPE=npe NPV=npv &
EL=E(1),E(2),…,E(npe) ALP=αA,αT VI=V(1),V(2),…,V(npv)
K=kA,kT
.
.
.
® Repeated nmats times
ii) Temperature-dependent material properties
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb
NPE=npe NPV=npv
NTP=ntp
TEM=T(1),T(2),…,T(ntp)
E1=E1(1), E1(2),…, E1(ntp)
E2= E2(1), E2(2),…, E2(ntp)
.
. ® Repeated npe times
.
Envp=Envp(1), Envp(2),…, Envp(ntp)
ALPA=aA(1),aA(2),…,aA(ntp)
ALPT=aT(1),aT(2),…,aT(ntp)
V1=V1(1), V1(2),…, V1(ntp)
V2=V2(1), V2(2),…, V2(ntp)
.
. ® Repeated npv times
.
Vnvp=Vnvp(1), Vnvp(2),…, Vnvp(ntp)
KA=kA(1),kA(2) ,…,kA(ntp)
KT=kT(1),kT(2) ,…,kT(ntp)
.
.
.
® Repeated nmats times
|
Name |
Definition |
|
nmats |
Number of constituent materials specified |
|
matnum |
Material number (data following M=matnum is associated with material number matnum) numbered sequentially |
|
cmod [=99] 9,10 |
Constitutive model identification number |
|
tref 1,2 |
Reference temperature for material (Special Case) |
|
matid [=U] |
Material i.d. letter, which indicates location of material parameters = A-H ® Internal material database (see Table 2.2) = U ® User-defined material properties |
|
matdb [=1] |
Material database location: = 1 ® Material properties read from input file = 2 ® Material properties determined from user-defined function (usrfun.F90) = 3 ® Material properties read from external material database file |
|
npe |
Number of elastic constants employed in user-defined constitutive model |
|
npv 4 |
Number of visco-inelastic constants employed in user-defined constitutive model |
|
E(1-npe) |
Elastic constants |
|
αA,αT |
Axial and transverse coefficients of thermal expansion (CTEs) |
|
V(1-npv) 4 |
Visco-inelastic constants |
|
kA,kT 7 |
Axial and transverse thermal conductivities (Special Case) |
|
Number of temperatures at which the material properties are specified |
|
|
T(i) |
Temperatures at which the material properties are specified |
|
Ej(i) |
Elastic material property number j at input temperature number i |
|
aA(i) |
Axial coefficient of thermal expansion (CTEs) at input temperature number i |
|
aT(i) |
Transverse coefficients of thermal expansion (CTEs) at input temperature number i |
|
Vj(i) 11 |
Visco-inelastic material property number j at input temperature number i |
|
kA(i) 7 |
Axial thermal conductivity at input temperature number i (Special Case) |
|
kT(i) 7 |
Transverse thermal conductivity at input temperature number i (Special Case) |
Examples:
i) Temperature-independent material properties
*CONSTITUENTS
NMATS=2
M=1 CMOD=99 MATID=U MATDB=1 NPE=2 NPV=2 &
EL=55.2E9,0.30 ALP=22.5E-6,22.5E-6 VI=1.5E-28,3.0
K=273.,273.
M=2 CMOD=99 MATID=U MATDB=1 NPE=2 NPV=6 &
EL=55.2E9,0.30 ALP=22.5E-6,22.5E-6 &
VI=1000.,103.42E6,103.42E6,1700.,10.,1.0
K=273.,273.
ii) Temperature-dependent material properties
*CONSTITUENTS
NMATS=1
M=1 CMOD=99 MATID=U MATDB=1
NPE=2 NPV=2
NTP=3
TEM=21.,350.,650.
E1=55.2E9,52.7E9,47.1E9
E2=0.30,0.30,0.30
ALPA=22.5E-6,23.4E-6,27.0E-6
ALPT=22.5E-6,23.4E-6,27.0E-6
V1=1.5E-28,1.5E-28,1.5E-28
V2=3.0,3.017,3.052
Associated MAC/GMC 4.0 Example Problem(s):
Example 2g
Additional Information:
MAC/GMC 4.0 Keywords Manual Appendix
Notes:
1) TREF=tref is only required in the special case when the code cannot determine at what temperature the material properties should be taken. This special case occurs when:
· Thermal loading is not specified (*THERM omitted)
– AND –
· Material properties are taken from the internal material database (matid ¹ U)
– OR –
Material properties are user-defined (matid = U) – AND – temperature-dependent
2) In all other cases TREF=tref is optional.
Warning: Specifying TREF=tref will override the temperature dependence and cause the code to employ temperature-independent material properties for the material taken at the temperature tref.
3) To obtain isotropic material behavior, set, EA = ET, nA = nT, GA = EA / 2(1+nA), and aA = aT.
4) NP=np is only required in the special case that the material constitutive model is classical incremental plasticity (cmod=21). A maximum value of NP=9 may be specified.
5) The lines associated with the visco-inelastic material properties (VI= vi(1),…, Vj= Vj(i),…) are only required in the special case when the constitutive model (cmod) chosen is an inelastic model. This occurs when:
cmod¹6 – AND – cmod¹9 – AND – cmod¹15
6) D=d1,d2,d3 is only required in the special case when the specified material constitutive model is on e that admits local transverse isotropy. This occurs when:
cmod=3 – OR – cmod=7 – AND – cmod=9
7) The thermal conductivity specifiers (K=kA,kT, KA=kA,…, KT=kT,…) are only required in the special case when the code is calculating effective thermal conductivities of the RUC. This occurs when the *CONDUCTIVITY keyword is specified. The thermal conductivity specification is only valid for materials that are isotropic or transversely isotropic with an x2-x3 plane of isotropy (in the global RUC coordinates).
8) Shear CTEs are engineering quantities. That is, for
example,
.
9) When a user-defined constitutive model is selected (CMOD=99), MAC/GMC 4.0 will use the code in the file usrmat.F90 to determine the inelastic strain increments for any subcells contain that particular material. The MAC/GMC 4.0 executable that is distributed has been linked with the demonstration usrmat subroutine, the source code of which is also distributed with MAC/GMC 4.0 (see Appendix). In order for users to employ their own usrmat subroutine, it is necessary to place the appropriate code in the usrmat.F90 file and to compile the subroutine and link with the MAC/GMC 4.0 library file (mac4.lib), which is also distributed with MAC/GMC 4.0. This procedure results in a new MAC/GMC 4.0 executable file that is now linked to the user’s own usrmat subroutine rather than the demonstration version of usrmat distributed with the code. It is the user’s responsibility to ensure that the coding, compilation, and linking of the user’s own usrmat subroutine is done correctly and that the desired user-defined constitutive model is actually being employed when the code is executed. A printout of the demonstration usrmat subroutine that is distributed with MAC/GMC 4.0 is given in the Appendix of this manual. Note that when the code executes the demonstration version of the usrmat subroutine, a message is printed to the screen.
10) When a user-defined constitutive model is selected (CMOD=99), MAC/GMC 4.0 will use the code in the file usrformde.F90 to calculate the material elastic stiffness matrix from the user-defined elastic properties. This is necessary because the user is free to employ any elastic constants desired (e.g., Lamé constants, compliance components). Thus the code does not (in general) know how to form the stiffness matrix from the user’s elastic constants. As with the usrmat file, the MAC/GMC 4.0 executable that is distributed has been linked with a demonstration usrformde subroutine, the source code of which is also distributed with MAC/GMC 4.0 (see Appendix). It is the user’s responsibility to ensure that the coding, compilation, and linking of the user’s own usrformde subroutine is done correctly and that the stiffness matrix of the user’s material is being calculated correctly when the code is executed. A printout of the demonstration usrformde subroutine that is distributed with MAC/GMC 4.0 is given in the Appendix of this manual. Note that when the code executes the demonstration version of the usrformde subroutine, a message is printed to the screen.
11) For a user-defined elastic constitutive model, set npv = 0 and omit the V1 – Vnvp lines.
B. Material properties determined from a user-defined function (matdb = 2)
Usage:
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb
.
.
.
® Repeated nmats times
|
Name |
Definition |
|
nmats |
Number of constituent materials specified |
|
matnum |
Material number (data following M=matnum is associated with material number matnum) numbered sequentially |
|
cmod |
Constitutive model identification number |
|
tref 1,2 |
Reference temperature for material (Special Case) |
|
matid [=U] |
Material i.d. letter, which indicates location of material parameters = A-H ® Internal material database (see Table 2.2) = U ® User-defined material properties |
|
matdb [=2] 3,4 |
Material database location: = 1 ® Material properties read from input file = 2 ® Material properties determined from user-defined function (usrfun.F90) = 3 ® Material properties read from external material database file |
Example:
*CONSTITUENTS
NMATS=5
M=1 CMOD=6 MATID=U MATDB=2
M=2 CMOD=21 MATID=U MATDB=2
M=3 CMOD=1 TREF=650. MATID=U MATDB=2
M=4 CMOD=1 TREF=650. MATID=U MATDB=2
M=5 CMOD=99 MATID=U MATDB=2
Associated MAC/GMC 4.0 Example Problem(s):
Example 2f
Notes:
1) TREF=tref is only required in the special case when the code cannot determine at what temperature the material properties should be taken. This special case occurs when:
· Thermal loading is not specified (*THERM omitted)
– AND –
· Material properties are taken from the internal material database (matid ¹ U)
– OR –
Material properties are user-defined (matid = U) – AND – temperature-dependent
2) In all other cases TREF=tref is optional.
Warning: Specifying TREF=tref will override the temperature dependence and cause the code to employ temperature-independent material properties for the material taken at the temperature tref.
3) When a user-defined function is selected to determine a material’s properties (MATDB=2), MAC/GMC 4.0 will use the code in the file usrfun.F90 to determine the material properties at every increment of the simulated applied loading. The MAC/GMC 4.0 executable that is distributed has been linked with the demonstration usrfun subroutine, the source code of which is also distributed with MAC/GMC 4.0 (see Appendix). In order for users to employ their own usrfun subroutine, it is necessary to place the appropriate code in the usrfun.F90 file and to compile the subroutine and link with the MAC/GMC 4.0 library file (mac4.lib), which is also distributed with MAC/GMC 4.0. This procedure results in a new MAC/GMC 4.0 executable file that is now linked to the user’s own usrfun subroutine rather than the demonstration version of usrfun distributed with the code. It is the user’s responsibility to ensure that the coding, compilation, and linking of the user’s own usrfun subroutine is done correctly and that the desired user-defined function is actually being employed when the code is executed. A printout of the demonstration usrfun subroutine that is distributed with MAC/GMC 4.0 is given in the Appendix of this manual. Note that when the code executes the demonstration version of the usrfun subroutine, a message is printed to the screen. The usrfun subroutine can be used to allow the elastic and inelastic material properties to be a function of temperature or another variable. It works in concert with the MAC/GMC internal constitutive models as well as the user-defined constitutive model subroutine (usrmat).
4) In MAC/GMC 4.0, the material properties are associated with constituent materials as opposed to subcells. That is, several subcells may contain material number 1, and thus all of those subcells must have the same material properties. This is relevant when employing the usrfun.F90 subroutine to make material properties a function of field variables (as is done in Example Problem 2f). If, for instance, the properties of material number 1 are determined from a function of strain and material number 1 is placed in two subcells, the subcells will in general experience different strain states. It is thus impossible for material number 1 to have the correct material properties to correspond to the two different states of strain in each subcell. For this reason, when material properties are determined from a function of field variables (other than temperature, which does not vary within the repeating unit cell), each subcell should be given its own material.
Additional Information:
MAC/GMC 4.0 Keywords Manual Appendix
C. Material properties read from external material database file (matdb = 3)
Usage:
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb EXTMAT=matname
.
.
.
® Repeated nmats times
|
Name |
Definition |
|
nmats |
Number of constituent materials specified |
|
matnum |
Material number (data following M=matnum is associated with material number matnum) numbered sequentially |
|
cmod |
Constitutive model identification number |
|
tref 1,2 |
Reference temperature for material (Special Case) |
|
matid [=U] |
Material i.d. letter, which indicates location of material parameters = A-H ® Internal material database (see Table 2.2) = U ® User-defined material properties |
|
matid [=U] |
Material i.d. letter from internal material database |
|
matdb [=3] 3 |
Material database location: = 1 ® Material properties read from input file = 2 ® Material properties determined from user-defined function (usrfun.F90) = 3 ® Material properties read from external material database file |
|
matname 4 |
Name of material in external material database file |
Examples:
*CONSTITUENTS
NMATS=3
M=1 CMOD=1 MATID=U MATDB=3 EXTMAT=copper
M=2 CMOD=99 MATID=U MATDB=3 EXTMAT=Al(6061-0)
M=3 CMOD=6 MATID=U MATDB=3 EXTMAT=SCS-6
Example portion of the external material database file:
#
# ------- Bodner-Partom Model Material
MAT=copper
CMOD=1
EL=120.E9,120.E9,0.33,0.33,45.11E9,14.7E-6,14.7E-6 &
VI=1.E4,63.E6,250.E6,8.19,7.5,0.55
K=1.,2.
Associated MAC/GMC 4.0 Example Problem(s):
Example 2h
Notes:
1) TREF=tref is only required in the special case when the code cannot determine at what temperature the material properties should be taken. This special case occurs when:
· Thermal loading is not specified (*THERM omitted)
– AND –
· Material properties are taken from the internal material database (matid ¹ U)
– OR –
Material properties are user-defined (matid = U) – AND – temperature-dependent
2) In all other cases TREF=tref is optional.
Warning: Specifying TREF=tref will override the temperature dependence and cause the code to employ temperature-independent material properties for the material taken at the temperature tref.
3) In order to use the external material database feature of MAC/GMC 4.0, the *MDBPATH keyword must be specified (see Section 1 of this manual). It is there that the name of the external material database file is specified.
4) The format of the material property specification in the external material database file is very similar to that employed in the MAC/GMC 4.0 input file for user-defined material properties. A printout of the sample external material database file distributed with MAC/GMC 4.0 is given in the appendix of this manual. The same special characters (“#” for a comment, “&” for a continuation) that can be used in the input file can be used in the external material database file, and the first line of the file is interpreted as a title. Each material in the file is specified by a name using the line:
MAT=matname
where matname is the name of the material. The matname specified in the input file should correspond to one (and only one) of the material names in the external material database file. The next line for each material re-specifies the material constitutive model:
CMOD=cmod
The code uses this as a consistency check as it must match the value of cmod specified for the material in the input file. The remainder of the material property input data in the external material database file follows the format of the user-defined material properties that read directly from the input file (see outline section II. A. above)
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 2 (*MDBPATH)
MAC/GMC 4.0 Keywords Manual Appendix
III. Electromagnetic (smart) material properties
Usage:
A) Temperature-independent electromagnetic material properties
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb EM=em &
EL=EA,ET,nA,nT,GA,aT,aA D=d1,d2,d3
ES=e11,e12,e26
QS=q11,q12,q26
KS=k11, k22
AS=a11,a22
MS=m11, m22
PELS=z1, z2
PMGS=y1, y1
.
.
.
® Repeated nmats times
B) Temperature-dependent electromagnetic material properties
*CONSTITUENTS
NMATS=nmats
M=matnum CMOD=cmod TREF=tref MATID=matid MATDB=matdb EM=em
NTP=ntp
TEM=T(1),T(2),…,T(ntp)
EA=EA(1), EA(2),…, EA(ntp)
ET= ET(1), ET(2),…, ET(ntp)
NUA=nA(1),nA(2),…,nA(ntp)
NUT=nT(1),nT(2),…,nT(ntp)
GA=GA(1),GA(2),…,GA(ntp)
ALPA=aA(1),aA(2),…,aA(ntp)
ALPT=aT(1),aT(2),…,aT(ntp)
D=d1,d2,d3
ES11=e11(1),e11(2),…,e11(ntp)
ES12=e12(1),e12(2),…,e12(ntp)
ES26=e26(1),e26(2),…,e26(ntp)
QS11=q11(1),q11(2),…,q11(ntp)
QS12=q12(1),q12(2),…,q12(ntp)
QS26=q26(1),q26(2),…,q26(ntp)
KS11=k11(1),k11(2),…,k11(ntp)
KS22=k22(1),k22(2),…,k22(ntp)
AS11=a11(1),a11(2),…,a11(ntp)
AS22=a22(1),a22(2),…,a22(ntp)
MS11=m11(1),m11(2),…,m11(ntp)
MS22=a22(1),m22(2),…,m22(ntp)
PELS1=z1(1),z1(2),…,z1(ntp)
PELS2=z2(1),z2(2),…,z2(ntp)
PMGS1=y1(1),y1(2),…,y1(ntp)
PMGS2=y2(1),y2(2),…,y2(ntp)
.
.
.
® Repeated nmats times
|
Name |
Definition |
|
nmats |
Number of constituent materials specified |
|
matnum |
Material number (data following M=matnum is associated with material number matnum) numbered sequentially |
|
cmod [=9] 1 |
|
|
tref 2,3 |
Reference temperature for material (Special Case) |
|
matid [=U] |
Material i.d. letter, which indicates location of material parameters = A-H ® Internal material database (see Table 2.2) = U ® User-defined material properties |
|
matdb [=1] 1 |
Material database location: = 1 ® Material properties read from input file = 2 ® Material properties determined from user-defined function (usrfun.F90) = 3 ® Material properties read from external material database file |
|
em [=1] 4 |
Electromagnetic specifier for material: = 0 ® Material is not electromagnetic = 1 ® Material is electromagnetic |
|
EA,ET |
Axial and transverse elastic (i.e., “Young’s”) modulus |
|
nA,nT |
Axial and transverse Poisson ratios |
|
GA |
Axial shear modulus |
|
aT,aA |
Axial and transverse coefficients of thermal expansion (CTEs) |
|
d1,d2,d3 5 |
Components of vector normal to the plane of transverse isotropy (see Figure 2.1) |
|
ekj |
|
|
qkj |
|
|
kij |
|
|
aij |
|
|
mij |
|
|
zk |
|
|
yk |
|
|
Axial elastic (i.e., “Young’s”) modulus at input temperature number p |
|
|
ET(p) |
Transverse elastic (i.e., “Young’s”) modulus at input temperature number p |
|
nA(p) |
Axial Poisson ratio at input temperature number p |
|
nT(p) |
Transverse Poisson ratios at input temperature number p |
|
GA(p) |
Axial shear modulus at input temperature number p |
|
aA(p) |
Axial coefficient of thermal expansion (CTEs) at input temperature number p |
|
aT(p) |
Transverse coefficients of thermal expansion (CTEs) at input temperature number p |
|
d1,d2,d3 5 |
Components of vector normal to the plane of transverse isotropy (see Figure 2.1) |
|
ekj(p) |
|
|
qkj(p) |
|
|
Name |
Definition |
|
kij(p) |
|
|
aij(p) |
|
|
mij(p) |
|
|
zk(p) |
|
|
yk(p) |
Examples:
A) Temperature-independent electromagnetic material properties
*CONSTITUENTS
NMATS=1
M=1 CMOD=9 MATID=U MATDB=1 EM=1 &
EL=143.57E9,154.57E9,0.37,0.368,45.3E9,0.00E-6,0.00E-6 &
D=0.,0.,1.
ES=0.0,0.0,0.0
QS=699.7,580.3,550.
KS=0.93E-10,0.08E-9
AS=0.0,0.0
MS=157.E-6,-590.E-6
PELS=0.0,0.0
PMGS=0.0,0.0
B) Temperature-dependent electromagnetic material properties
*CONSTITUENTS
NMATS=2
M=1 CMOD=9 MATID=U MATDB=1 EM=1
NTP=2
TEM=24.,600.
EA=111.93E9,101.43E9
ET=116.33E9,107.10E9
NUA=0.321,0.321
NUT=0.307,0.307
GA=43.0E9,41.5E9
ALPA=1.99E-6,2.55E-6
ALPT=8.53E-6,10.80E-6
D=0.,0.,1.
ES11=18.6,18.6
ES12=-4.4,-4.4
ES26=11.6,11.6
QS11=0.0,0.0
QS12=0.0,0.0
QS26=0.0,0.0
KS11=12.6E-9,12.6E-9
KS22=11.2E-9,11.2E-9
AS11=0.0,0.0
AS22=0.0,0.0
MS11=10.0E-6,10.0E-6
MS22=5.0E-6,5.0E-6
PELS1=0.13E5,0.13E5
PELS2=0.13E5,0.13E5
PMGS1=0.0,0.0
PMGS2=0.0,0.0
Associated MAC/GMC 4.0 Example Problem(s):
Example 7b, Example 7c
Notes:
1) In order to perform coupled thermo-electro-magneto-elasto-plastic analysis of smart composites and laminates, the *ELECTROMAG keyword must be specified (see Section 1 of this example manual). Further, the coupled analysis requires the constituent materials to have certain additional electromagnetic properties. Currently, specification of these properties is limited in MAC/GMC 4.0 to the case in which:
a) The material constitutive model is the transversely isotropic elastic model (cmod=9)
– AND –
b) The material properties are user-defined (matid=U)
– AND –
c) The material properties are read from the input file (matdb=1)
Thus, the specification of constituent electromagnetic properties actually falls within section II. A. of this outline rather than in its own section III. The present format was chosen for simplicity and so as to make the electromagnetic property section more evident to the reader.
2) TREF=tref is only required in the special case when the code cannot determine at what temperature the material properties should be taken. This special case occurs when:
· Thermal loading is not specified (*THERM omitted)
– AND –
· Material properties are taken from the internal material database (matid ¹ U)
– OR –
Material properties are user-defined (matid = U) – AND – temperature-dependent
3) In all other cases TREF=tref is optional.
Warning: Specifying TREF=tref will override the temperature dependence and cause the code to employ temperature-independent material properties for the material taken at the temperature tref.
4) The electromagnetic specifier (EM=em) is required to indicate if a particular material is electromagnetically active (i.e., if it has electromagnetic properties). This allows electromagnetically active and inactive constitutents to both be present in a composite or laminate.
5) D=d1,d2,d3 is required when the material is electromagnetically active (EM=1) because, in such a case, the transversely isotropic elastic model must be employed (cmod=9).
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 2 (*ELECTROMAG)
MAC/GMC 4.0 Keywords Manual Section 4 (*LAMINATE)
MAC/GMC 4.0 Keywords Manual Section 4 (*MECH)
MAC/GMC 4.0 Theory Manual Section 2.2.2
This section deals with the keywords used to select the overall analysis type and the particular micromechanics model(s) that will be used by MAC/GMC 4.0 to analyze the particular problem. The two MAC/GMC 4.0 input file keywords covered in this section are:
*RUC ® Invokes repeating unit cell (RUC) analysis, that is, models the behavior of a composite material (continuum)
*LAMINATE ® Invokes laminate analysis, therefore models the behavior of a composite laminate (finite in one direction) with access to individual ply, RUC, and subcell data
RUC analysis allows simulations to be performed on a heterogeneous (composite) material that is represented by a repeating unit cell. There are three separate micromechanics models within MAC/GMC 4.0 that can be employed in RUC analyses: 1) Doubly periodic generalized method of cells (GMC), 2) Triply periodic GMC, and 3) Doubly periodic high-fidelity GMC (HFGMC). The doubly periodic GMC RUC is shown in Figure 3.1, while the triply periodic GMC RUC is shown in Figure 3.2. The RUC for doubly periodic HFGMC is identical to that of doubly-periodic GMC with the current restriction that the number of subcells in each direction must be even. By assigning the different constituent materials (specified under *CONSTITUENTS) to the subcells within the RUC, the RUC can be constructed to represent a composite material with the desired architecture. As the name indicates, the RUC repeats infinitely in either two (doubly periodic) or three (triply periodic) Cartesian coordinate directions. The doubly periodic RUC is infinitely long in the third (out-of-plane) x1-direction (see Figure 3.1), so both RUCs represent an infinite heterogeneous (composite) medium with a periodic microstructure. Thus, GMC and HFGMC may be thought of as models for a material point that may be part of a larger overall structure. These micromechanics models not only calculate the effective properties of the composite material located at a particular material point, but also allow the simulation of applied loading (in the form of global stresses, global strains, a uniform temperature change, and electromagnetic loads) on the composite material (see Section 4 of this manual).
Laminate analysis, on the other hand, simulates the behavior of a structure, namely a laminated plate. MAC/GMC 4.0 employs classical lamination theory (Jones, 1975; Herakovich, 1998) to model the composite laminate as infinite in the in-plane x- and y-directions and finite in the through-thickness z-direction (see Figure 3.3). Simulated loading for the laminate takes the form of in-plane stress and moment resultants and midplane strains and curvatures (see Section 4 of this manual). As Figure 3.3 indicates, each ply of the laminate may be a composite material, which is then represented by a doubly or triply periodic GMC RUC. The GMC micromechanics models are thus embedded within the laminate theory analysis to represent the composite material points within the laminate plies. In the presence of laminate bending and inelastic material behavior, the stress and strain fields in the laminate will vary nonlinearly in the through-thickness (z-) direction. In such a case, MAC/GMC 4.0 tracks the fields in the laminate at two Gauss quadrature (integration) points in each layer (see Figure 3.3). During incremental application of the applied laminate-level simulated loading, the appropriate GMC micromechanics model is called at each of the two integration points in each layer to determine the local inelastic behavior of the composite material. The local inelastic behavior represented by the quadrature points can then be employed to determine the laminate level inelastic effects, which accounted for as inelastic force and moment resultants (see the MAC/GMC 4.0 Theory Manual Section 3).

Figure 3.1 Doubly periodic GMC and HFGMC repeating unit cell (RUC). The RUC is composed of subcells, each of which contains a constituent material. The subcells are identified by the indices bg. Note that for HFGMC, Nβ and Nγ must be even.

Figure 3.2 Triply periodic GMC repeating unit cell (RUC). The RUC is composed of subcells, each of which contains a constituent material. The subcells are identified by the indices abg.

Figure 3.3 Geometry employed in MAC/GMC 4.0 for laminate theory analysis. Each ply is represented by a doubly or triply periodic GMC repeating unit cell (RUC), which operate at the Gauss quadrature points.
*RUC: Repeating unit cell analysis and architecture
P Either *RUC or *LAMINATE is required in all input files P
Purpose:
Invoke repeating unit cell analysis (as opposed to laminate analysis) for the problem, which requires the selection of the micromechanics model used to analyze the RUC and specification of the RUC architecture (i.e., arrangement of the composite constituents).
The RUC section is broken into two sub-sections:
I. Internal RUC Architecture Library (archid≠99)
II. User-Defined RUC Architecture (archid=99)
I. Internal RUC Architecture Library (archid≠99)
Usage:
*RUC
MOD=modid ARCHID=archid ® specifics: see Table 3.1 and Table 3.2 ¬
Table 3.1 Specific input data for the internal doubly periodic RUC architecture library.
|
Architecture |
Specific Data Input Format |
|
|
0 |
Monolithic Material |
*RUC MOD=2 ARCHID=0 M=mm
|
|
1 |
Square Fiber, Square Pack |
*RUC MOD=2 ARCHID=1 VF=vf RAD=rad RITFR=ritfr F=mf M=mm I=mi
|
|
2 |
Square Fiber, Hexagonal Pack |
*RUC MOD=2 ARCHID=2 VF=vf RAD=rad RITFR=ritfr F=mf M=mm I=mi
|
|
3 |
Square Fiber, Square Diagonal Pack |
*RUC MOD=2 ARCHID=3 VF=vf RAD=rad RITFR=ritfr F=mf M=mm I=mi
|
|
4 |
Cross Shaped Fiber, Square Pack |
*RUC MOD=2 ARCHID=4 VF=vf XA=xa F=mf M=mm
|
|
6 |
7´7 Circular Fiber Approx., Rectangular Pack |
*RUC MOD=2 ARCHID=6 VF=vf R=R RITFR=ritfr F=mf M=mm I=mi
|
Table 3.1 (continued)
|
9 1 |
Two Different Size Fibers, Rectangular Pack |
*RUC MOD=2 ARCHID=9 VF1=vf1 R=R RAD1=rad1 RITFR1=ritfr1 & RAD2=rad2 RITFR2=ritfr2 F=mf1,mf2 M=mm I=mi1,mi2
|
|
11 |
Square Fiber, Rectangular Pack |
*RUC MOD=2 ARCHID=11 VF=vf R=R RAD=rad RITFR=ritfr & F=mf M=mm I=mi
|
|
13 |
26´26 Circular Fiber Approx., Rectangular Pack |
*RUC MOD=2 ARCHID=13 VF=vf R=R F=mf M=mm
|
Table 3.2 Specific input data for the internal triply periodic RUC architecture library.
|
Architecture |
Specific Data Input Format |
|
|
0 |
Monolithic Material |
*RUC MOD=3 ARCHID=0 M=mm
|
|
1 |
Short Fibers in Square Array |
*RUC MOD=3 ARCHID=1 VF=vf ASP=asp F=mf M=mm
|
|
2 |
Short Fibers in Diagonal Array |
*RUC MOD=3 ARCHID=2 VF=vf ASP1=asp1 ASP2=asp2 F=mf M=mm
|
|
3 |
Offset Short Fibers in Square Array |
*RUC MOD=3 ARCHID=3 VF=vf ASP1=asp1 ASP2=asp2 DR=dr & F=mf M=mm
|
|
4 |
Ellipsoidal Inclusion, Rectangular Array |
*RUC MOD=3 ARCHID=4 OPT=1 A=a B=b C=c D=d H=h LL=l & F=mf M=mm – OR – MOD=3 ARCHID=4 OPT=2 VF=vf A=a B=b C=c RD=rd RL=rl & F=mf M=mm – OR – MOD=3 ARCHID=4 OPT=3 VF=vf RA=ra RC=rc D=d H=h LL=l & F=mf M=mm – OR – MOD=3 ARCHID=4 OPT=4 VF=vf A=a B=b C=c RD=rd & RLC=rlc F=mf M=mm
|
|
10 2 |
Open Cell |
*RUC MOD=3 ARCHID=10 VF=vf F=mf M=mm
|
|
Name |
Definition |
|
modid 3,4 |
Periodic material model indentifier: = 1 ® monolithic material (internally uses doubly periodic GMC with one subcell) = 2 ® doubly periodic GMC model = 3 ® triply periodic GMC model = 12 ® doubly periodic HFGMC model |
|
archid 5 |
I.D. number of RUC architecture (see Figure 3.4, Figure 3.5, and Figure 3.6) (archid=99 for user-defined) |
|
specifics |
This format depends on the modid and archid selected (see Table 3.1 and Table 3.2) |
|
ritfr 6 |
Ratio of interface thickness to fiber radius (Special Case) |
|
vf 7 |
Fiber (or inclusion) volume fraction |
|
rad 6 |
Fiber radius (units arbitrary) (Special Case) |
|
ritfr 6 |
Ratio of interface thickness to fiber radius (Special Case) |
|
mf |
Fiber material number (one of matnum from *CONSTITUENTS) |
|
mm |
Matrix material number (one of matnum from *CONSTITUENTS) |
|
mi 6 |
Interface material number (one of matnum from *CONSTITUENTS) (Special Case) |
|
xa |
Length of arm of cross shaped fiber (see Figure 3.4) (assumes fiber diameter of 1.) |
|
R |
Aspect ratio of the RUC = L/H (see Figure 3.1 and Figure 3.4) |
|
rad1 |
Radius of fiber number 1 (smaller fiber) for archid=9 (units arbitrary) |
|
rad2 |
Radius of fiber number 2 (larger fiber) for archid=9 (units arbitrary) |
|
ritfr1 6 |
Ratio of interface number 1 thickness to fiber number 1 radius for archid=9 (Special Case) |
|
ritfr2 6 |
Ratio of interface number 2 thickness to fiber number 2 radius for archid=9 (Special Case) |
|
mf1,mf2 |
Fiber material numbers for the two fibers in archid=9 |
|
mi1,mi2 6 |
Interface material numbers for the two fibers in archid=9 (Special Case) |
|
asp, asp1 |
Short fiber aspect ratio (fiber length / fiber diameter) |
|
asp2 |
RUC aspect ratio (d/h) (see Figure 3.2 and Figure 3.6) |
|
dr |
Ratio d1/d3 in archid=3, quantifies fiber offset (see Figure 3.6) |
|
a,b,c |
Ellipsoidal inclusion semi-major axes in archid=4 |
|
d,h,l |
Overall dimensions of the RUC (see Figure 3.2 and Figure 3.6) |
|
rd |
RUC dimension aspect ratio d/h (see Figure 3.2 and Figure 3.6) |
|
rl |
RUC dimension aspect ratio l/h (see Figure 3.2 and Figure 3.6) |
|
ra |
Semi-major axis aspect ratio a/b (see Figure 3.6) |
|
rc |
Semi-major axis aspect ratio c/b (see Figure 3.6) |
|
rlc |
Aspect ratio l/(2c) (see Figure 3.6) |
Examples:
*RUC
MOD=1 M=2
*RUC
MOD=2 ARCHID=1 VF=0.65 F=1 M=2
*RUC
MOD=3 ARCHID=1 VF=0.25 ASP=1 F=1 M=2
*RUC
MOD=2 ARCHID=6 R=1.0 VF=0.25 RITFR=0.1 F=1 M=2 I=3
*RUC
MOD=2 ARCHID=9 VF1=0.10 RAD1=50. RITFR1=0.1 &
VF2=0.15 RAD2=71. RITFR2=0.1 R=1. F=4,1 M=2 I=3,3
*RUC
MOD=3 ARCHID=0 M=2
Associated MAC/GMC 4.0 Example Problem(s):
Example 1a-c, Example 1d, Example 2a-h, Example 3a, Example 3b, Example 3d, Example 3f, Example 4a-c, Example 4f, Example 5a-b, Example 5d-f, Example 6a-b, Example 7a-b
Notes:
1) For archid=9, the fiber volume fraction of fiber 2 is adjusted to preserve the correct packing arrangement and RUC aspect ratio.
2) The open cell triply periodic RUC (archid=10) places the matrix material (mm) in the four colored subcells shown in Figure 3.6 (i.e., the “arms” are the matrix material). The “open” material shown in the figure is occupied by the fiber material. Thus, to simulated a truly “open” material, the fiber elastic stiffness should be set very low so as to provide little contribution to the overall RUC response.
3) modid=1 is a special case used in MAC/GMC 4.0 to select a monolithic material. Internally, the code employs a double periodic GMC RUC analysis with one subcell to which the material is assigned using M=mm (see Example above). A monolithic material may also be selected by using archid=0 in either doubly or triply periodic GMC.
4) Doubly periodic HFGMC RUC analysis requires an even number of subcells in both the x2- and x3-directions and additional specialized input under the *SOLVER keyword.
5) The RUC architectures contained within the MAC/GMC 4.0 architecture library are shown in Figure 3.4 (doubly periodic, no interface), Figure 3.5 (doubly periodic, with interface), and Figure 3.6 (triply periodic).
6) The ritfr, mi, rad, ritfr1, ritfr2, mi1, and mi2 data is associated with the special case involving an RUC with a separate interface material (see Figure 3.5). Only those RUCs shown in Figure 3.5 have the interface option available. To specify one of these RUCs with an interface, simply include the special case data shown in blue.
7) Due to geometric constraints (i.e., adjacent fibers, inclusions, or interfaces touching) each MAC/GMC 4.0 internal RUC architecture has some restraints on its fiber volume fraction (vf). These constraints are given for each architecture in Table 3.3.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 3 (*LAMINATE)
MAC/GMC 4.0 Keywords Manual Section 3 (*SOLVER)
MAC/GMC 4.0 Theory Manual Section 2
|
|
|
|
|
|
|
ARCHID = 0 |
|
|
|
|
|
|
|
|
ARCHID = 1 |
ARCHID = 2 |
ARCHID = 3 |
|
|
|
|
|
|
|
ARCHID = 4 |
ARCHID = 6 |
ARCHID = 7 |
|
|
|
|
|
|
|
ARCHID = 9 |
ARCHID = 11 |
ARCHID = 13 |
|
Figure 3.4 MAC/GMC 4.0 internal library of doubly periodic repeating unit cells (RUCs) without interface.
|
|
|
|
|
|
|
ARCHID = 1 |
ARCHID = 2 |
|
|
|
|
ARCHID = 3 |
ARCHID = 6 |
|
|
|
|
ARCHID = 9 |
ARCHID = 11 |
Figure 3.5 MAC/GMC 4.0 internal library of doubly periodic repeating unit cells (RUCs) with interface.
|
|
|
|
ARCHID = 0 |
ARCHID = 1 |
|
|
|
|
ARCHID = 2 |
ARCHID = 3 |
|
|
|
|
ARCHID = 4 |
ARCHID = 10 |
Figure 3.6 MAC/GMC 4.0 internal library of triply periodic repeating unit cells (RUCs).
Table 3.3 Constraints on the fiber volume fraction of the MAC/GMC 4.0 internal RUC architectures.
|
Doubly Periodic RUC Architectures |
||
|
Architecture |
Limit(s) on vf |
|
|
0 |
Monolithic Material |
– |
|
1 |
Square Fiber, Square Pack |
|
|
2 |
Square Fiber, Hexagonal Pack |
|
|
3 |
Square Fiber, Square Diagonal Pack |
|
|
4 |
Cross Shaped Fiber, Square Pack |
|
|
6 |
7´7 Circular Fiber Approx., Rectangular Pack |
|
|
7 |
14´14 Circular Fiber Approx., Rectangular Pack |
|
|
9 |
Two Different Size Fibers, Rectangular Pack |
|
|
11 |
Square Fiber, Rectangular Pack |
|
|
13 |
26´26 Circular Fiber Approx., Rectangular Pack |
|
Table 3.3 (continued)
|
Triply Periodic RUC Architectures |
||
|
0 |
Monolithic Material |
– |
|
1 |
Short Fibers in Square Array |
vf < 1. |
|
2 |
Short Fibers in Diagonal Array |
|
|
3 |
Offset Short Fibers in Square Array |
|
|
4 |
Ellipsoidal Inclusion, Rectangular Array
|
Analytical expressions unavailable |
|
10 |
Open Cell 5 |
vf < 1.
|
II. User-Defined Architecture (archid=99)
Usage:
*RUC
MOD=modid ARCHID=archid
NA=na NB=nb NG=ng
D=d(1),d(2),…,d(na)
H=h(1),h(2),…,h(nb)
L=l(1),l(2),…,l(ng)
SM=… ® specifics: see Table 3.4 ¬
Table 3.4 Format of the subcell material specification for user-defined RUC architectures.
|
Doubly Periodic RUC Analysis |
Triply Periodic RUC Analysis |
|
SM=m(nb,1),m(nb,2),…,m(nb,ng) SM=m(nb-1,1),m(nb-1,2),…,m(nb-1,ng) . . . SM=m(1,1),m(1,2),…,m(1,ng)
(See Figure 3.7)
|
# -- gamma = 1 SM=m(na,1,1),m(na,2,1),…,m(na,nb,1) SM=m(na-1,1,1),m(na-1,2,1),…,m(na-1,nb,1) . . . SM=m(1,1,1),m(1,2,1),…,m(1,nb,1) # -- gamma = 2 SM=m(na,1,2),m(na,2,2),…,m(na,nb,2) SM=m(na-1,1,2),m(na-1,2,2),…,m(na-1,nb,2) . . . SM=m(1,1,2),m(1,2,2),…,m(1,nb,2) . . . # -- gamma = ng SM=m(na,1,ng),m(na,2,ng),…,m(na,nb,ng) SM=m(na-1,1,ng),m(na-1,2,ng),…,m(na-1,nb,ng) . . . SM=m(1,1,ng),m(1,2,ng),…,m(1,nb,ng)
(See Figure 3.8) |
|
Name |
Definition |
|
modid 1,2 |
Periodic material model indentifier: = 1 ® monolithic material (internally uses doubly periodic GMC with one subcell) = 2 ® doubly periodic GMC model = 3 ® triply periodic GMC model = 12 ® doubly periodic HFGMC model |
|
archid [=99] |
I.D. number of RUC architecture (archid=99 for user-defined) |
|
na 3 |
Number of subcells in the x1-direction (Special Case) (see Figure 3.2) |
|
nb |
Number of subcells in the x2-direction (see Figure 3.1 and Figure 3.2) |
|
ng |
Number of subcells in the x3-direction (see Figure 3.1 and Figure 3.2) |
|
d(1-na) 3 |
Subcell x1-direction dimensions (Special Case) (see Figure 3.2) |
|
h(1-nb) |
Subcell x2-direction dimensions (see Figure 3.1 and Figure 3.2) |
|
l(1-ng) |
Subcell x3-direction dimensions (see Figure 3.1 and Figure 3.2) |
|
specifics |
This format depends on whether the RUC is doubly or triply periodic (see Table 3.4) |
|
m(ib,ig) |
Constituent material assigned to subcell b=ib g=ig (doubly-periodic case) |
|
m(ia,ib,ig) |
Constituent material assigned to subcell a=ig b=ib g=ig (triply-periodic case) |
Examples:
|
Doubly Periodic
*RUC MOD=2 ARCHID=99 NB=3 NG=3 H=0.5,0.5,1.0 L=0.5,1.0,0.5 SM=2,2,2 SM=2,2,3 SM=1,2,2
|
Figure 3.7 Example user-defined doubly periodic RUC.
|
|
Triply Periodic
*RUC MOD=3 ARCHID=99 NA=4 NB=2 NG=2 D=1.,1.,1.,1. H=1.,1. L=1.,1. # -- gamma = 1 SM=2,2 SM=2,2 SM=2,2 SM=1,2 # -- gamma = 2 SM=2,2 SM=1,1 SM=2,2 SM=1,2
|
Figure 3.8 Example user-defined Triply periodic RUC.
|
Associated MAC/GMC 4.0 Example Problem(s):
Example 3c, Example 3e, Example 5f, Example 7d, Example 7e
Notes:
1) modid=1 is a special case used in MAC/GMC 4.0 to select a monolithic material. Internally, the code employs a double periodic GMC RUC analysis with one subcell to which the material is assigned using M=mm (see Example above). A monolithic material may also be selected by using archid=0 in either doubly or triply periodic GMC.
2) Doubly periodic HFGMC RUC analysis requires an even number of subcells in both the x2- and x3-directions and additional specialized input under the *SOLVER keyword.
3) NA=na and D=d(1),d(2)…,d(na) are only required in the special case of triply periodic RUC analysis
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 3 (*LAMINATE)
MAC/GMC 4.0 Theory Manual Section 2
*LAMINATE: Laminate analysis and architecture
P Either *RUC or *LAMINATE is required in all input files P
Purpose:
Invoke laminate analysis (as opposed to repeating unit cell analysis) for the problem, which requires selection of a micromechanics model as well as specification of an RUC architecture (i.e., arrangement of the composite constituents) for the analysis of each each ply. Lastly, the angle and thickness of each ply must be specified.
The *LAMINATE section is broken into two sub-sections:
I. Layer RUC Architecture from Internal Library (archid≠99)
II. User-Defined Layer RUC Architecture (archid=99)
I. Layer RUC Architecture from Internal Library (archid≠99)
Usage:
*LAMINATE
NLY=nly
LY=ly MOD=modid THK=thk ANG=ang ARCHID=archid &
® specifics: see Table 3.1 and Table 3.2 ¬ EM=em
.
.
.
® Repeated nly times
|
Name |
Definition |
|
nly |
Number of layers (plies) comprising the laminate |
|
ly |
Layer number (data following LY=ly is associated with layer number ly) |
|
modid 1,2 |
Periodic material model indentifier: = 1 ® monolithic material (internally uses doubly periodic GMC with one subcell) = 2 ® doubly periodic GMC model = 3 ® triply periodic GMC model = 12 ® N/A (HFGMC unavailable within laminate) |
|
thk |
Thickness of layer |
|
ang |
Off-axis angle of layer (see Figure 3.3) |
|
archid |
I.D. number of RUC architecture (archid=99 for user-defined) |
|
specifics3 |
This format depends on the modid and archid selected (see Table 3.1 and Table 3.2) |
|
em 5 |
Electromagnetic specifier for layer number ly: = 1 ® Layer is electromagnetic = 0 ® Layer is not electromagnetic |
Examples:
*LAMINATE
NLY=3
LY=1 MOD=2 THK=0.25 ANG=90 ARCHID=1 VF=0.65 F=1 M=2
LY=2 MOD=2 THK=0.50 ANG=0 ARCHID=1 VF=0.65 F=1 M=2
LY=3 MOD=2 THK=0.25 ANG=90 ARCHID=1 VF=0.65 F=1 M=2
*LAMINATE
NLY=4
LY=1 MOD=1 THK=0.25 M=2
LY=2 MOD=2 THK=0.25 ANG=60 ARCHID=6 R=1. VF=0.25 F=1 M=2
LY=3 MOD=3 THK=0.25 ANG=0 ARCHID=3 ASP1=3. ASP2=2. DR=1. &
VF=0.25 F=1 M=2
LY=4 MOD=3 THK=0.25 ANG=0. ARCHID=1 VF=0.25 ASP=1 F=1 M=2
Associated MAC/GMC 4.0 Example Problem(s):
Example 1b, Example 3g, Example 3h, Example 3i, Example 4d, Example 4e, Example 4g, Example 5c, Example 5d, Example 6c
Notes:
1) modid=1 is a special case used in MAC/GMC 4.0 to select a monolithic layer. Internally, the code employs a double periodic GMC RUC analysis for the layer with one subcell to which the material is assigned using M=mm (see Example above). A monolithic material may also be selected for a layer by using archid=0 in either doubly or triply periodic GMC.
2) The ability to employ triply periodic layers in a laminate is new to version 4.0 of the code. Doubly periodic HFGMC RUC analysis is not currently available for laminate layers.
3) Refer to the *RUC description earlier in this section of this manual for the specific input requirements for each RUC architecture. The RUC architectures contained within the MAC/GMC 4.0 architecture library are shown in Figure 3.4 (doubly periodic, no interface), Figure 3.5 (doubly periodic, with interface), and Figure 3.6 (triply periodic).
4) The ritfr and mi data is associated with the special case involving a layer with an RUC that has a separate interface material (see Figure 3.5). Only those RUCs shown in Figure 3.5 have the interface option available. To specify one of these RUCs with an interface for the layer, simply include the special case data shown in blue.
5) The electromagnetic specifier (EM=em) for the layer tells the code whether or not a particular layer is electromagnetically active. This is only required in the special case in which an electromagnetic analysis has been selected by including the *ELECROMAG keyword in the input file.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 3 (*RUC)
MAC/GMC 4.0 Theory Manual Section 3
II. User-Defined Layer RUC Architecture (archid=99)
Usage:
*LAMINATE
NLY=nly
LY=ly MOD=modid THK=thk ANG=ang ARCHID=archid EM=em &
MOD=modid ARCHID=archid
NA=na NB=nb NG=ng
D=d(1),d(2),…,d(na)
H=h(1),h(2),…,h(nb)
L=l(1),l(2),…,l(ng)
SM=… ® specifics: see Table 3.4 ¬
.
.
.
® Repeated nly times
|
Name |
Definition |
|
nly |
Number of layers (plies) comprising the laminate |
|
ly |
Layer number (data following LY=ly is associated with layer number ly) |
|
modid 1,2 |
Periodic material model indentifier: = 1 ® monolithic material (internally uses doubly periodic GMC with one subcell) = 2 ® doubly periodic GMC model = 3 ® triply periodic GMC model = 12 ® N/A (HFGMC unavailable within laminate) |
|
thk |
Thickness of layer |
|
ang |
Off-axis angle (Figure 3.3) of layer |
|
archid [=99] |
I.D. number of RUC architecture (archid=99 for user-defined) |
|
em 3 |
Electromagnetic specifier for layer number ly (Special Case): = 1 ® Layer is electromagnetic = 0 ® Layer is not electromagnetic |
|
na 4 |
Number of subcells in the x1-direction (Special Case) (see Figure 3.2) |
|
nb |
Number of subcells in the x2-direction (see Figure 3.1 and Figure 3.2) |
|
ng |
Number of subcells in the x3-direction (see Figure 3.1 and Figure 3.2) |
|
d(1-na) 4 |
Subcell x1-direction dimensions (Special Case) (see Figure 3.2) |
|
h(1-nb) |
Subcell x2-direction dimensions (see Figure 3.1 and Figure 3.2) |
|
l(1-ng) |
Subcell x3-direction dimensions (see Figure 3.1 and Figure 3.2) |
|
specifics |
This format depends on whether the RUC is doubly or triply periodic (see Table 3.4) |
|
m(ib,ig) |
Constituent material assigned to subcell b=ib g=ig (doubly-periodic case) |
|
m(ia,ib,ig) |
Constituent material assigned to subcell a=ig b=ib g=ig (triply-periodic case) |
Examples:
*LAMINATE
NLY=2
LY=1 THK=0.5 ANG=0. MOD=2 ARCHID=99
NB=1 NG=2
H=1.
L=0.5,0.5
SM=1,2
LY=2 THK=0.5 ANG=90. MOD=2 ARCHID=1 VF=0.25 F=1 M=2
*LAMINATE
NLY=3
LY=1 THK=0.25 ANG=0. MOD=3 ARCHID=99 EM=1
NA=1 NB=2 NG=2
D=1.
H=0.5,0.5
L=0.5,0.5
SM=1,2
SM=2,2
LY=2 THK=0.5 ANG=90. MOD=2 ARCHID=1 VF=0.25 F=4 M=5 EM=0
LY=3 THK=0.25 ANG=0. MOD=3 ARCHID=99 EM=1
NA=1 NB=2 NG=2
D=1.
H=0.5,0.5
L=0.5,0.5
SM=1,2
SM=2,2
Associated MAC/GMC 4.0 Example Problem(s):
Example 7c
Notes:
1) modid=1 is a special case used in MAC/GMC 4.0 to select a monolithic layer. Internally, the code employs a double periodic GMC RUC analysis for the layer with one subcell to which the material is assigned using M=mm (see Example above). A monolithic material may also be selected for a layer by using archid=0 in either doubly or triply periodic GMC.
2) Doubly periodic HFGMC RUC analysis is not currently available for laminate layers.
3) The electromagnetic specifier (EM=em) for the layer tells the code whether or not a particular layer is electromagnetically active. This is only required in the special case in which an electromagnetic analysis has been selected by including the *ELECROMAG keyword.
4) modid=NA and D=d(1),d(2)…,d(na) are only required in the special case of triply periodic RUC analysis.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 3 (*RUC)
MAC/GMC 4.0 Theory Manual Section 3
This section presents the four MAC/GMC 4.0 keywords that are related to the applied loading. These are:
*MECH ® Specify mechanical (and electromagnetic) loading profile
*THERM ® Specify thermal loading profile
*SOLVER ® Specify time-integration data
*SURF ® Specify loading (and additional information) for yield surface analysis
Because MAC/GMC 4.0 allows for inelastic material behavior, the simulated loading must be applied in an incremental manner. The problem solutions are (in general) path-dependent, so the overall solution (at the completion of the applied loading) actually involves solving the problem at each increment of the simulated applied loading. As such, a simulated loading profile must be specified rather than just the final load levels. The loading profile is essentially a load vs. time history that MAC/GMC 4.0 will apply to the specified RUC or laminate.
For repeating unit cell analysis, mechanical loading takes the form of an admissible time profile for each of the six global (stress or strain) components present in the RUC constitutive equation. For example, consider the standard (non-electromagnetic) repeating unit cell effective constitutive equation,

where
are
the global (or average) stress components on the composite,
is
the global (or effective) stiffness matrix,
are
the global (or average) normal strain components on the composite,
are
the global (or average) engineering shear strain components on
the composite,
are
the global (or average) normal inelastic strain components on the
composite,
are
the global (or average) engineering shear inelastic strain
components on the composite,
are
the global (or average) normal thermal strain components on the
composite, and
are
the global (or average) engineering shear thermal strain components
on the composite. Admissibility simply requires that, if a
particular strain component is specified, the corresponding stress
component cannot be specified (and vice versa). In addition
to the arbitrary mechanical loading option (which allows
the user to specify all six loading components, MAC/GMC 4.0 also
includes several internal loading options that simplify the
application of loading for commonly used mechanical loading
types. In the special case of electromagnetic RUC
analysis, the number of loading components is increased from six to
twelve to accommodate applied electric and magnetic load components
(see the MAC/GMC 4.0 Theory Manual Section 2.1.2).
The applied mechanical loading for laminate analysis is different than that of RUC analysis. Globally, rather than dealing with average stresses and strains, the applicable quantities are stress and moment resultants along with midplane strains and curvatures (see the MAC/GMC 4.0 Theory Manual Section 3). For laminate analysis, the code’s internal mechanical loading options are numbered differently than those associated with RUC mechanical loading. As is the case in electromagnetic RUC analysis, electromagnetic laminate analysis involves additional electromagnetic loading components.
MAC/GMC 4.0 also allows application of a simulated time vs. temperature profile for both RUC and laminate analysis using the *THERM keyword. It should be noted that the temperature at every point in time is treated as constant throughout the RUC or laminate; the code does not solve any thermal boundary value problems, but rather treats the temperature history as known. The *SOLVER keyword is used to select either a constant time step forward Euler time integration scheme, or a self-adaptive predictor-corrector time integration scheme. Finally, the yield surface option keyword (*SURF) is a special case in that the yield surface “probing” (i.e., loading along different angles in a particular stress space) controls the applied loading. In this case, the data specified under *MECH, *THERM, and *SOLVER are considered to be a “preload” that occurs before the start of the yield surface analysis.
*MECH: Applied mechanical loading
Purpose:
Specify the simulated mechanical (and electromagnetic) loading profile for the RUC or laminate.
Usage:
*MECH
LOP=lop REFTIME=reftime
NPT=npt TI=t(1),t(2),…,t(npt) MAG=mag(1),mag(2),…,mag(npt) &
MODE=mode(1),mode(2),…,mode(npt-1)
.
.
.
® Repeated number of times equal to number of specified load components (see Table 4.1)
|
Name |
Definition |
|
lop 1 |
Loading option (see Table 4.1) (lop = 99 ® arbitrary mechanical loading option) |
|
reftime 2 |
Strain reference time (Optional) |
|
npt |
Number of time vs. load magnitude points in specified profile |
|
t(i) 3 |
Time points in time vs. load magnitude profile (see Figure 4.1) |
|
mag(i) 4,5 |
Load magnitude points in time vs. load magnitude profile (see Figure 4.1) |
|
mode(j) 6 |
Mode of applied loading during loading step from t(j) to t(j+1) = 1 ® strain, midplane strain, electric field, magnetic field applied = 2 ® stress, force resultant, electric displacement, magnetic flux density applied |

Figure 4.1 Example time vs. load magnitude profile for an applied loading component.
Examples:

*MECH
LOP=1
NPT=3 TI=0.,200.,300. MAG=0.,0.02,0.01 MODE=1,1

*MECH
LOP=7
NPT=4 TI=0.,100.,200.,300. MAG=0.,50.,50.,0. MODE=2,2
NPT=3 TI=0.,150.,300. MAG=0.,-25.,25. MODE=2,2
*MECH
LOP=99
NPT=6 TI=0.,300.,310.,2310.,2320.,2620. MAG=0.,0.,0.01,0.01,0.,0. &
MODE=1,1,1,2,2
NPT=6 TI=0.,300.,310.,2310.,2320.,2620. MAG=0.,0.,0.005,0.005,0.,0. &
MODE=1,1,1,2,2
NPT=2 TI=0.,2620. MAG=0.,0. MODE=2
NPT=2 TI=0.,2620. MAG=0.,0. MODE=2
NPT=2 TI=0.,2620. MAG=0.,0. MODE=2
NPT=6 TI=0.,300.,310.,2310.,2320.,2620. &
MAG=0.,0.,0.0075,0.0075,0.,0. MODE=1,1,1,2,2
*MECH
LOP=99
NPT=2 TI=0.,600. MAG=0.,0. MODE=2
NPT=2 TI=0.,600. MAG=0.,0. MODE=2
NPT=2 TI=0.,600. MAG=0.,0. MODE=2
NPT=2 TI=0.,600. MAG=0.,0. MODE=2
NPT=2 TI=0.,600. MAG=0.,0. MODE=2
NPT=2 TI=0.,600. MAG=0.,0. MODE=2
NPT=2 TI=0.,600. MAG=0.,0. MODE=1
NPT=2 TI=0.,600. MAG=0.,0. MODE=1
NPT=2 TI=0.,600. MAG=0.,0. MODE=1
NPT=2 TI=0.,600. MAG=0.,0. MODE=1
NPT=2 TI=0.,600. MAG=0.,0. MODE=1
NPT=2 TI=0.,600. MAG=0.,6.E6 MODE=1
Table 4.1 MAC/GMC 4.0 loading options for doubly and triply periodic RUC and laminate analysis.
|
lop |
number components specified |
Doubly Periodic RUC Analysis |
Triply Periodic RUC Analysis |
Laminate Analysis |
|||
|
|
|
mode = 1 |
mode = 2 |
mode = 1 |
mode = 2 |
mode = 1 |
mode = 2 |
|
1 |
1 |
e11 |
s11 |
e11 |
s11 |
|
Nxx |
|
2 |
1 |
e22 |
s22 |
e22 |
s22 |
|
Nyy |
|
3 |
1 |
e33 |
s33 |
e33 |
s33 |
|
Nxy |
|
4 |
1 |
g23 |
s23 |
g23 |
s23 |
κxx |
Mxx |
|
5 |
1 |
g13 |
s13 |
g13 |
s13 |
κyy |
Myy |
|
6 |
1 |
g13 |
s12 |
g13 |
s12 |
κxy |
Mxy |
|
7 |
2 |
e11 & e22 |
s11 & s22 |
e11 & e22 |
s11 & s22 |
N/A |
|
|
8 |
2 |
e22 & e33 |
s22 & s33 |
e22 & e33 |
s22 & s33 |
N/A |
|
|
9 |
2 |
e11 & g23 |
s11 & s23 |
e11 & e33 |
s11 & s33 |
N/A |
|
|
10 |
2 |
e22 & g13 |
s22 & s13 |
e11 & g23 |
s11 & s23 |
N/A |
|
|
11 |
2 |
N/A |
e22 & g13 |
s22 & s13 |
N/A |
||
|
12 |
2 |
N/A |
e33 & g12 |
s33 & s12 |
N/A |
||
|
99 |
6 |
6 of eij or sij |
6 of eij or sij |
3 of
3 of
|
|||
|
12 (electromag) |
6 of eij or sij, 3 of Ek or Dk, 3 of Hk or Bk |
6 of eij or sij, 3 of Ek or Dk, 3 of Hk or Bk |
3 of
3 of
3 of Ek, 3 of Hk |
||||
F Note:
sij = stress,
eij = normal
strain, gij =
engineering shear strain, Nij = force resultant,
Mij = moment resultant,
=
midplane strains, κij = midplane curvatures,
Dk = electrical displacements, Ek = electric
fields, Bk = magnetic flux densities, Hk =
magnetic fields.
Associated MAC/GMC 4.0 Example Problem(s):
Example 1c-d, Example 2a-h, Example 3a-i, Example 4a, Example 4b, Example 4c, Example 4d, Example 4e, Example 5b-f, Example 6a-b, Example 7a, Example 7b, Example 7c
Notes:
1) As shown in Table 4.1, certain values of lop are invalid in certain cases. In particular, lop=11 and lop=12 are only valid for triply periodic RUC analysis, while for laminate analysis, the only valid values for lop are 1–6 and 99.
2) The optional REFTIME=reftime specifier is used to set a reference strain value other than zero. The reference strain is the strain value that all the rest of the specified loading strain values are taken with respect to. For example, if the reference strain were 0.015, and a strain load of 0.01 were specified, the code would increase the strain to 0.025. Instead of specifying the reference strain directly, a time is given at which the strain state is taken as the six reference strain components. This feature is useful when simulating residual stresses prior to applying loading in the form of strains (see MAC/GMC 4.0 Example Problem 4b).
3) The first time specified for each mechanical (and electromagnetic) loading component must be zero, and the final time for each component must be the same. However, the number of intermediate times, as well as the intermediate times themselves, can be different for each applied loading component.
4) The units of the applied loading should be consistent with the units employed for the constituent materials. That is, for example, if the units of the constituent material elastic moduli are MPa, any applied stress components will be interpreted by the code as having the units MPa.
5) The first specified load magnitude should be zero. The code must begin its execution in an unloaded state.
6) In the special case of an electromagnetically active laminate, the electromagnetic loading currently can only take the form of applied electric field components (Ek) and magnetic field (Hk) components. That is, laminate electric displacement (Dk) and magnetic flux density (Bk) components cannot currently be applied.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 1 (*ELECTROMAG)
MAC/GMC 4.0 Theory Manual Sections 2 and 3
*THERM: Applied thermal loading
Purpose:
Specify the simulated thermal loading profile (time vs. temperature) for the RUC or laminate.
Usage:
*THERM
NPT=npt TI=t(1),t(2),…,t(npt) TEMP=T(1),T(2),…,T(npt)
|
Name |
Definition |
|
npt |
Number of time vs. temperature points in specified profile |
|
t(i) 1 |
Time points in time vs. temperature profile (see Figure 4.2) |
|
T(i) 2 |
Temperature points in time vs. load temperature profile (see Figure 4.2) |

Figure 4.2 Example temperature vs. time profile for applied thermal loading.
Example:

*THERM
NPT=3 TI=0.,6000.,6600. TEMP=900.,23.,650.
Associated MAC/GMC 4.0 Example Problem(s):
Example 1d, Example 2e-h, Example 3a-i, Example 4a, Example 4b, Example 4c, Example 4d, Example 4e, Example 5b-f, Example 6a-b, Example 7a-c
Note:
1) The starting time for the time vs. temperature profile must be zero. The ending time for the time vs. temperature profile must correspond to the ending time for any specified mechanical loading.
2) The temperature unit in MAC/GMC 4.0 is °C. The user may employ other temperature units if none of the constituent materials are taken from the code’s internal material database.
Additional Information:
MAC/GMC 4.0 Theory Manual Sections 2 and 3
*SOLVER: Time integration
Purpose:
Allows specification of time integration scheme and associated integration related data.
Only two choices are currently available, thus the *SOLVER section is broken into two corresponding sub-sections:
I. Forward Euler Time Integration (specified time step) (method=1)
II. Predictor-Corrector Time Integration (self-adaptive time step) (method=2)
I. Forward Euler Time Integration (method=1)
Usage:
*SOLVER
METHOD=method NPT=npt TI=t(1),t(2),…,t(npt) STP=stp(1),stp(2),…,stp(npt-1) &
ITMAX=itmax ERR=errtol
NLEG=nleg NINTEG=nint
|
Name |
Definition |
|
method [=1] |
Time integration method: = 1 ® Forward Euler (specified time step) = 2 ® Predictor-Corrector (self-adaptive time-step) |
|
npt |
Number of time vs. step size points in specified profile |
|
t(i) 1 |
Time points in time vs. step size profile |
|
stp(i) 2 |
Step sizes in time vs. step size profile |
|
itmax 3 |
Maximum number of global equilibrium iterations (Special Case) |
|
errtol 3 |
Error tolerance for convergence of global iterations (Special Case) |
|
nleg 4,5 |
Order of the Legendre polynomial used to approximate the inelastic strain field (Special Case) |
|
nint 4,5 |
Number of integration points used to represent the field variables (Special Case) |
Examples:
![]()
*SOLVER
METHOD=1 NPT=4 TI=0.,60.,180.,240. STP=0.1,0.5,0.2
*SOLVER
METHOD=1 NPT=2 TI=0.,20. STP=0.1 ITMAX=20 ERR=0.0001
NLEG=5 NINTEG=11
Associated MAC/GMC 4.0 Example Problem(s):
Example 1c-d, Example 2a-h, Example 3a-i, Example 4a-f, Example 5b-f, Example 6a-c, Example 7a-c
Note:
1) The starting time in the time vs. step size profile must be zero. The ending time must correspond to the ending time of any mechanical and thermal loading specified under *MECH and *THERM. The ending time must correspond to the ending time of any mechanical and thermal loading specified under *MECH and *THERM.
2) The forward Euler integration scheme involves stepping through time with a specified time step size. At each time step, increments of the field variables throughout the RUC or laminate are calculated and simply added to the previous field variable values. The user specifies a number of time points along with the time step size to be used between each successive time point (see Example above). If the time step is too large, the time integration can diverge, which leads to oscillations or overflow in the results (see Example Problem 7a). The maximum permissible time step size that still allows convergence is problem dependent; users are encouraged to experiment with this value for their problems of interest.
3) ITMAX=itmax and ERR=errtol are required only in the special case when one or more constituent material is modeled a) using classical incremental plasticity (cmod=21) or b) implicit multimechanism GVIPS (cmod=22). These two constitutive models require iterations (at each increment of the applied loading) to ensure that global equilibrium is satisfied.
a) In the case of incremental plasticity, to quantify convergence of the global iterations, MAC/GMC 4.0 employs the local effective plastic strain increment as a measure of the error. Convergence is achieved when the fractional change of the effective plastic strain increment from one iteration to the next is less than errtol throughout the RUC or laminate.
b) In the case of implicit multimechanism GVIPS, a global energy related increment is employed as a measure of error. Convergence is achieved when the fractional change of this increment from one iteration to the next is less than errtol. The acceptable value of errtol is problem dependent. Users are encouraged to experiment with this value for their specific problems of interest. Note that this constitutive model employs a local implicit integration scheme internally.
4) NLEG=nleg and NINTEG=nint are required only in the special case of doubly periodic RUC analysis using HFGMC (modid=12). In this case, the inelastic strain field can vary arbitrarily throughout the RUC. In order to represent the inelastic strain field in HFGMC, MAC/GMC 4.0 employs Legendre polynomials, the order of which must be specified. In addition, the number of integration points at which all field variables are tracked must be specified. nint is the number of integration points for both the x2- and x3-directions per subcell. Thus, for example, if NINTEG=11 is specified, 11 integration points are used per subcell in each of the two direction, for a total of 121 integration points for each subcell.
5) The values NLEG=5 and NINTEG=11 have been shown to yield good precision in the local fields predicted by HFGMC. These values should be employed as default values unless the user is confident in using other values.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 2 (*CONSTITUENTS)
MAC/GMC 4.0 Keywords Manual Section 3 (*RUC)
MAC/GMC 4.0 Theory Manual Section 7.1
II. Predictor-Corrector Time Integration (method=2)
Usage:
*SOLVER
METHOD=method ISTM=istm ISTT=istt ERR=errtol MINSTEP=minstp
|
Name |
Definition |
|
method [=2] 1 |
Time integration method: = 1 ® Forward Euler (specified time step) = 2 ® Predictor-Corrector (self-adaptive time-step) |
|
istm 2 |
Initial mechanical loading time step |
|
istt 2 |
Initial thermal loading time step |
|
errtol 3 |
Error tolerance for time step size changes |
|
minstp4 |
Minimum time step size |
Example:
*SOLVER
METHOD=2 ISTM=0.001 ISTT=0.1 ERR=0.001 MINSTEP=0.00001
Associated MAC/GMC 4.0 Example Problem(s):
Example 4h
Notes:
1) The self-adaptive predictor-corrector integration scheme cannot currently be utilized in conjunction with the following features:
a) Laminate analysis (*LAMINATE)
b) Fatigue damage analysis (*DAMAGE)
c) Classical incremental plasticity (cmod=21)
d) Implicit multimechanism GVIPS (cmod=22).
2) The self-adaptive predictor-corrector integration scheme employs a fourth-order Runge-Kutta starter, an Adams-Bashforth four-step predictor, and an Adams-Moulton four step corrector (see the MAC/GMC 4.0 Theory Manual Section 7.2). It starts with a small time step that is permitted to increase, provided the error remains within acceptable limits. ISTM=istm and ISTT=istt are used to specify the initial (starting) time step sizes for mechanical and thermal loading. These are independent variables because the time scale is often vastly different for mechanical and thermal loading. The code chooses the appropriate initial time step size from istm and istt based on whether the initial applied loading (specified under *MECH and *THERM) involves any change in the mechanical or thermal load levels. If the mechanical and thermal load levels are both initially changing, the code will choose the smaller of istm and istt.
3) ERR=errtol specifies the acceptable fractional difference between predicted and corrected values of the field variables. If the fractional difference between these values for any field variable in any subcell is greater than errtol, the time step size will be cut in half. Otherwise, the time step size will be permitted to double, provided the history of each field variable required for prediction using the larger time step has been stored. An errtol value of 0.001 can be used as starting point, but an acceptable value can be problem dependent. Users are encouraged to experiment with this value for their problems of interest.
4) MINSTEP=minstp is used to prevent the time step from becoming too small. In some cases changing minstep to a larger value can significantly decrease execution time (i.e., speed up the execution) without compromising the accuracy of the code’s results.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 2 (*CONSTITUENTS)
MAC/GMC 4.0 Keywords Manual Section 3 (*RUC)
MAC/GMC 4.0 Theory Manual Section 7.2
*SURF: Yield Surface Analysis
Purpose:
Generate RUC or laminate yield surfaces.
Usage:
*SURF
TMAX=tmax STP=stp MMAX=mmax MODE=mode TREF=tref
OPTION=o1,o2,o3,o4,o5,o6,o7
ISPX=ispx(1),ispx(2),ispx(3) ISPY=ispy(1),ispy(2),ispy(3) ANGINC=anginc
EPS=eps DR=dr ISR=isr IP=ip
|
Name |
Definition |
|
tmax 1 |
Ending time for each probing excursion |
|
stp 1 |
Time step size for yield surface probing |
|
mmax 1 |
Ending load magnitude for each probing excursion |
|
mode 1 |
Mode of applied loading during yield surface probing = 1 ® strain or midplane strain applied = 2 ® stress or force resultant applied |
|
tref 2 |
Reference temperature at which to generate yield surface (Special Case) |
|
o1 – o7 3 |
Yield surface generation options ® up to 7 specified (see Table 4.2) (Special Case) |
|
ispx(1) 4 |
Controlling component for yield surface x-axis |
|
ispx(2), 4 ispx(3) |
Slave components to controlling x-axis component (Optional) |
|
ispy(1) 4 |
Controlling component for yield surface y-axis |
|
ispy(2), 4 ispy(3) |
Slave components to controlling y-axis component (Optional) |
|
anginc |
Angle increment in stress space for yield surface probing |
|
eps |
Yield value for surface of equivalent plastic strain |
|
dr |
Yield value for surface of constant dissipation rate |
|
isr |
Yield value for surface of constant inelastic strain rate |
|
ip |
Yield value for surface of constant inelastic power |
Example:
*SURF
TMAX=400. STP=0.01 MMAX=0.04 MODE=1 TREF=650.
OPTION=1,2,3,4
ISPX=1 ISPY=2,3 ANGINC=5.
EPS=0.0001 DR=0.00025 ISR=0.00002 IP=0.001
Associated MAC/GMC 4.0 Example Problem(s):
Example 4f, Example 4g
Notes:
1) MAC/GMC 4.0 generates yield surfaces by “probing” in a particular stress space until all yield criteria are satisfied. Probing involves applying multi-axial loading such that the angle in the specified stress space remains constant. For example, if the s11-s22 stress space were specified, probing at an angle of 45° would involve incremental application of s11 = s22 until all yield criteria were satisfied. Probing at an angle of 30° would involve application of s22 = s11 tan(30°) until all yield criteria were satisfied. When all angles from 0° to 360° are probed and the stresses at which yield is detected are recorded, the yield surface can be plotted from the data files generated by the code.
The loading for yield surface analysis is controlled under the *SURF keyword. This loading must be isothermal and always employs the forward Euler time integration scheme. In addition, the loading cannot be divided into separate portions with different time step sizes. Any loading information that is specified using *MECH, *THERM, and *SOLVER is treated as a “preload”. This preload is applied prior to the start of the yield surface probing and thus can be used to generate yield surfaces that incorporate residual stresses. tmax and mmax are the time and load magnitude at which yield surface probing will stop regardless of whether or not all yield surface criteria have been satisfied. Thus, if the code reaches this loading end point at a particular probing angle, the yield surface data for one or more plots will not be valid at this angle, and a warning will be written to the output file. It is therefore desirable to make the loading end point large so that yielding can always occur before the end point is reached. The code automatically stops probing at a particular angle when all yield criteria are satisfied, so employing large tmax and mmax values will not adversely affect execution time.
Note that in order to
generalize the specified loading for the multi-axial loading
required for yield surface probing, the specified loading
(mmax) is interpreted as an invariant quantity. In
particular, for stress and force resultant control,
mmax is interpreted as
, while
for strain control mmax is interpreted as
.
This allows the loading to be applied at a constant equivalent
rate, regardless of probing angle.
2) TREF=tref is required in the special case that no thermal preloading has been specified. If thermal preloading is specified (using *THERM), the code assumes that the yield surface probing occurs at the ending temperature of the thermal preload. In the absence of thermal preloading, the code requires tref to specify the temperature for yield surface probing.
3) The yield surface options are given in Table 4.2. At least one option must be specified and up to four may be specified for RUC yield surface analysis. For laminate yield surfaces, up to seven options may be specified. Each yield surface option specified will cause a data file to be generated. This data file will contain the probing angle and the global stress state at which yielding was detected at that probing angle for each of the four yield surface types (eps, dr, isr, ip). In the case of OPTION=4 or OPTION=7, all of this data will be repeated for each individual ply or each individual subcell. Note that elastic subcells will be skipped.
4) The x and y stress space specifiers (ispx(j), ispy(j)) are used indicate to the code which loading components will be applied to generate the yield surface. ispx(1) and ispy(1 )are required. These are the controlling components that will occupy the x- and y- axes on the plot of the yield surface. Two optional slave components (ispx(2), ispx(3), ispy(2), ispy(3)) may be specified for each of the controlling components. The slave components will be loaded to the same value as the corresponding controlling components. For example, if s11 and s22 were specified as the x and y controlling components and s33 were specified as a slave y component (ISPX=1 ISPY=2,3), at a probing angle of 30°, s33 = s22 = s11 tan(30°) would be incrementally applied.
Note that for laminate yield surfaces, ispx(i) and ispy(i) can only take the values 1, 2, or 3, corresponding to in-plane loading. Thus, at most one slave component can be specified. Further, the yield surface analysis is only valid for symmetric laminates with no bending.
Table 4.2 Yield surface options (specified as OPTION=oi) and output file names for RUC and laminate analyses.
|
oi |
RUC analysis |
Laminate analysis |
||
|
|
surface generated |
file generated |
surface generated |
file generated |
|
1 |
RUC level global yield surface
|
surf_global.dat |
Laminate level global yield surface |
surf_global.dat |
|
2 |
First subcell yield surface
|
surf_1st.dat |
First ply yield surface |
surf_1st_ply.dat |
|
3 |
All subcells yield surface
|
surf_all.dat |
All plies yield surface |
surf_all_plies.dat |
|
4 |
Yield surface for each individual subcell
|
surf_local.dat |
Yield surface for each individual ply |
surf_plies.dat |
|
5 |
N/A |
N/A |
First subcell yield surface
|
surf_1st.dat |
|
6 |
N/A |
N/A |
All subcells yield surface
|
surf_all.dat |
|
7 |
N/A |
N/A |
Yield surface for each individual subcell
|
surf_local.dat |
Additional Information:
MAC/GMC 4.0 Theory Manual Section 6
This section deals with the six MAC/GMC 4.0 keywords that enable analysis of damage and failure in composites materials and laminates. These are:
*ALLOWABLES ® Elastic estimation of the composite allowables
*FAILURE_SUBCELL ® Subcell level static failure analysis
*FAILURE_CELL ® RUC level static failure analysis
*DAMAGE ® Cyclic fatigue damage analysis
*DEBOND ® Internal fiber-matrix interfacial debonding
*CURTIN ® Curtin effective fiber breakage model for longitudinal fiber failure
Elastic allowables estimation is the simplest form of failure analysis available in MAC/GMC 4.0. Composite (RUC) allowable stress components are estimated based on the global level of each individual stress component that causes the allowable stress in a constituent material to be met. The composite allowable strain components are similarly estimated. These calculations are easily performed via the GMC concentration equations and are independent of any simulated loading applied to the composite. As such, the estimated allowables are like material properties for the specified RUC because altering the applied loading (e.g., adding simulated residual stresses) does not have an effect.
Static failure analysis within MAC/GMC 4.0 (via the *FAILURE_SUBCELL and *FAILURE_CELL keywords) is completely different from the allowables estimation. The static failure analysis monitors the stress and strain components in the composite or laminate (on the subcell or RUC level) and checks for failures using the specified failure criteria. Thus, the static failure analysis (like an actual experimental test) is inherently linked to the loading applied to the RUC or laminate and the predicted failure stress and strain are not truly material properties. That is, for example, a uni-axial tensile test on a highly strain rate dependent metallic alloy performed at a strain rate of 10-2 per second would result in a completely different measured strength than that resulting from the same test on the same alloy performed at a strain rate of 10-6 per second. Clearly, the strength measured for this material is not a material property, but is linked to the loading conditions to which the material is subjected. Static failure analysis within MAC/GMC 4.0 is the same way. The allowables estimation is a quick and simple first pass at predicting composite failure stresses and strains from the constituent allowables. For more realistic failure analyses, the static failure capabilities within MAC/GMC 4.0 should be employed.
The final three keywords covered in this section deal with more specialized damage and failure analysis techniques. *DAMAGE enables use of a simple strength reduction model (typically applied to the fiber constituent) and a more complex stiffness reduction model (typically applied to the matrix constituent) for composites and laminates subjected to cyclic loading. *DEBOND allows the effect of local fiber-matrix debonding, which is prevalent in some composites (most notably titanium matrix composites), to be included within RUC and laminate analyses. Finally, the Curtin effective fiber breakage model (*CURTIN) is an approach based on fiber strength statistics that account for the longitudinal stiffness reduction due to failure of fibers in RUCs and laminates.
*ALLOWABLES: Estimated elastic allowables
N Caution N
These estimated allowables should not be considered “design allowables”, which by definition have been extensively validated with experimental data
Purpose:
Estimate the composite allowables based on the allowables of the constituent materials and linear elastic concentration calculations. MAC/GMC 4.0 calculates three sets of elastic stress and strain allowable components, listed in order from most to least conservative:
1) First Subcell Allowables ® Global stress/strain at which the first subcell reaches its allowable stress/strain level
2) Average Material Allowables ® Global stress/strain at which the average material stress/strain for one of the constituents reaches its allowable stress/strain level
3) All Subcells Allowables ® Global stress/strain at which all of the subcells have reached their allowable stress/strain levels
Each allowable component is estimated based purely on a linear elastic concentration calculation involving application of a single global stress or strain component. Three separate sets of allowables are provided, an upper bound (all subcells allowables), lower bound (first subcell allowables), and an intermediate set (average material allowables), thus enabling the user to make a judicious choice based on the specific problem of interest. Note that the allowables estimation is available for RUC analysis only (not laminate analysis).
Usage:
*ALLOWABLES
NMAT=nmat
MAT=matnum
S11=s11 S22=s22 S33=s33 S23=s23 S13=s13 S12=s12 COMPR=comprs &
SC11=sc11 SC22=sc22 SC33=sc33
E11=e11 E22=e22 E33=e33 E23=e23 E13=e13 E12=e12 COMPR=compre &
EC11=ec11 EC22=ec22 EC33=ec33
.
.
.
® Repeated nmat times
|
Name |
Definition |
|
nmat |
Number of constituent materials for which allowables are specified |
|
matnum 1 |
Material number of constituent whose allowables are being specified |
|
s11, s22, s33 2 |
Tensile normal stress allowables for material number matnum |
|
s23, s13, s12 2 |
Shear stress allowables for material number matnum |
|
comprs |
Compressive normal stress allowable specifier for material number matnum: = DIF ® Compressive stress allowables are different than tensile and must be specified = SAM ® Compressive stress allowables are the same as tensile should not be specified = OFF ® Do not utilize compressive stress allowables, and they should not be specified |
|
sc11, sc22, sc33 2,3 |
Compressive normal stress allowables (Special Case) |
|
e11, e22, e33 2 |
Tensile normal strain allowables for material number matnum |
|
e23, e13, e12 2,3 |
Shear strain allowables for material number matnum |
|
compre |
Compressive normal strain allowable specifier for material number matnum: = DIF ® Compressive strain allowables are different than tensile and must be specified = SAM ® Compressive strain allowables are the same as tensile should not be specified = OFF ® Do not utilize compressive strain allowables, and they should not be specified |
|
ec11, ec22, ec33 2,4 |
Compressive normal strain allowables (Special Case) |
Examples:
*ALLOWABLES
NMAT=2
MAT=1
S11=3500. S22=91.2 S33=91.2 S23=31.4 S13=134 S12=134. COMPR=SAM
E11=0.009 E22=0.012 E33=0.012 E23=0.012 E13=0.009 E12=0.009 COMPR=SAM
MAT=2
S11=80. S22=80. S33=80. S23=40. S13=40. S12=40. COMPR=SAM
E11=0.023 E22=0.023 E33=0.023 E23=0.031 E13=0.031 E12=0.031 COMPR=SAM
*ALLOWABLES
NMAT=1
MAT=3
S11=2500. S12=500. COMPR=OFF
E11=0.01 E22=0.012 E33=0.012 E23=0.012 E13=0.009 E12=0.01 COMPR=DIF &
EC11=0.005
Associated MAC/GMC 4.0 Example Problem(s):
Example 5a, Example 5b
Notes:
1) If a constituent material that is present in the RUC does not have allowables specified, the subcells that contain this material will not be considered in the allowables estimation. In such a case, the All Subcells Allowables will still be calculated by skipping the subcells containing the material in question.
2) If a particular component is omitted from either the stress or strain allowables input for a particular material, that component will not be considered in the calculation for subcells containing that particular material. If none of the materials within the RUC have an allowable specified for a particular component, an allowable will not be calculated for that component.
3) The specified shear strain allowables are interpreted by the code as engineering shear strains.
4) The compressive stress and strain allowables (sc11, sc22, sc33, ec11, ec22, ec33) are only required in the special case when the compression specifier (comprs or compre) =DIF. Otherwise, the compressive stress and strain allowables should be omitted.
Additional Information:
MAC/GMC 4.0 Theory Manual Section 5.1
*FAILURE_SUBCELL: Subcell static failure
Purpose:
Perform static failure analysis based on the local stress and strain fields in the subcells. Static failure analysis involves checking the specified failure criteria during application of a simulated thermo-mechanical loading history. This is distinct from the allowables estimation, which is a linear elastic concentration calculation independent of the applied loading and any material history dependence. Thus, while the allowables may be considered predicted material properties for a composite, the static failure predictions are inherently linked to the specifics of the simulated loading applied to the composite. The maximum stress, maximum strain, and Tsai-Hill failure criteria are available within MAC/GMC 4.0. This availability, however, does not imply endorsement of these criteria by any parties associated with the code. The static failure analysis capabilities should be used with caution.
Usage:
*FAILURE_SUBCELL
NMAT=nmat
MAT=matnum NCRIT=ncrit
CRIT=crit X11=x11 X22=x22 X33=x33 X23=x23 X13=x13 X12=x12 COMPR=compr &
XC11=xc11 XC22=xc22 XC33=xc33 ACTION=action
.
.
.
® Repeated ncrit times
.
.
.
® Repeated nmat times
|
Name |
Definition |
|
nmat |
Number of constituent materials for which failure parameters are specified |
|
matnum 1 |
Material number of constituent whose failure parameters are being specified |
|
ncrit |
Number of failure criteria to check for material number matnum |
|
crit |
Failure criterion material number matnum: = 1 ® Maximum stress failure criterion = 2 ® Maximum strain failure criterion = 3 ® Tsai-Hill multi-axial failure criterion |
|
x11, x22, x33 2 |
Tensile normal failure parameters for material number matnum and criterion number crit (failure stresses for crit=1, or 3, failure strains for crit=2) |
|
x23, x13, x12 2,3 |
Shear failure parameters for material number matnum and criterion number crit (failure stresses for crit=1, or 3, failure strains for crit=2) |
|
compr |
Compressive normal failure specifier for material number matnum and criterion number crit: = DIF ® Compressive parameters are different than tensile and must be specified = SAM ® Compressive parameters are the same as tensile should not be specified = OFF ® Do not utilize compressive parameters, and they should not be specified |
|
Name |
Definition |
|
|
xc11, xc22, xc33 2,4 |
Compressive normal failure parameters for material number matnum and criterion number crit (failure stresses for crit=1, or 3, failure strains for crit=2) (Special Case) |
|
|
action 5 |
Action for code to take upon detection of subcell failure: = 1 ® Zero subcell stiffness and continue execution = 0 ® Do nothing and continue (write notification to output file) = -1 ® Stop execution |
|
Examples:
*FAILURE_SUBCELL
NMAT=2
MAT=1 NCRIT=2
CRIT=1 X11=3500. X22=91.2 X33=91.2 X23=31.4 X13=134. X12=134. &
COMPR=OFF ACTION=1
CRIT=2 X11=0.009 X22=0.012 X33=0.012 X23=0.012 X13=0.009 X12=0.009 &
COMPR=OFF ACTION=1
MAT=2 NCRIT=2
CRIT=1 X11=80. X22=80. X33=80. X23=40. X13=40. X12=40. &
COMPR=OFF ACTION=1
CRIT=2 X11=0.023 X22=0.023 X33=0.023 X23=0.031 X13=0.031 X12=0.031 &
COMPR=OFF ACTION=1
*FAILURE_SUBCELL
NMAT=2
MAT=4 NCRIT=1
CRIT=3 X11=3500. X22=91.2 X33=91.2 X23=31.4 X13=134. X12=134. &
ACTION=-1
MAT=7 NCRIT=2
CRIT=1 X22=80. X33=80. X23=40. COMPR=DIF &
XC22=100. XC33=100. XC23=60. ACTION=0
CRIT=2 X11=0.023 COMPR=SAM ACTION=1
Associated MAC/GMC 4.0 Example Problem(s):
Example 5b, Example 5c, Example 5d
Notes:
1) If a constituent material that is present in the RUC does not have subcell failure parameters specified, the subcells that contain this material will not be considered when checking for failure (i.e., they are treated as infinitely strong).
2) If a particular component (xij) is omitted from the failure parameters for either the maximum stress or maximum strain criterion, that component will not be considered when checking for failure of subcells containing that particular material. For the Tsai-Hill criterion, all of the components (xij) are required.
3) In the case of the maximum strain criterion, the specified shear failure strains are interpreted by the code as engineering shear strains.
4) The compression specifier (compr) and the compressive failure parameters (xc11, xc22, xc33) are not required for the Tsai-Hill criterion. The compressive failure parameters (xc11, xc22, xc33) are only required for the maximum stress and maximum strain criteria in the special case when the compression specifier compr=DIF. Otherwise, the compressive failure parameters should be omitted.
5) ACTION=action is ignored in the case of fatigue damage analysis (*DAMAGE) and can be omitted in that case.
Additional Information:
MAC/GMC 4.0 Theory Manual Section 5.2
*FAILURE_CELL: Repeating unit cell static failure
Purpose:
Perform static failure analysis based on the RUC level stress and strain fields. As with subcell level static failure analysis, RUC level static failure analysis involves checking the specified failure criteria during application of a simulated thermo-mechanical loading history. Thus, the RUC level static failure predictions are inherently linked to the specifics of the simulated loading applied to the composite.
Usage:
*FAILURE_CELL
NCRIT=ncrit
CRIT=crit X11=x11 X22=x22 X33=x33 X23=x23 X13=x13 X12=x12 COMPR=compr &
XC11=xc11 XC22=xc22 XC33=xc33 ACTION=action
.
.
.
® Repeated ncrit times
|
Name |
Definition |
|
ncrit |
Number of RUC level failure criteria to check |
|
crit |
Failure criterion: = 1 ® Maximum stress failure criterion = 2 ® Maximum strain failure criterion = 3 ® Tsai-Hill multi-axial failure criterion |
|
x11, x22, x33 1 |
Tensile normal failure parameters for criterion number crit (failure stresses for crit=1 or 3, failure strains for crit=2) |
|
x23, x13, x12 1,2 |
Shear failure parameters for criterion number crit (failure stresses for crit=1 or 3, failure strains for crit=2) |
|
compr |
Compressive normal failure specifier for criterion number crit: = DIF ® Compressive parameters are different than tensile and must be specified = SAM ® Compressive parameters are the same as tensile should not be specified = OFF ® Do not utilize compressive parameters, and they should not be specified |
|
xc11, xc22, xc33 1,3 |
Compressive normal failure parameters for criterion number crit (Special Case) (failure stresses for crit=1, or 3, failure strains for crit=2) |
|
action 4 |
Action for code to take upon detection of RUC failure: = 0 ® Do nothing and continue (write notification to output file) = -1 ® Stop execution |
Examples:
*FAILURE_CELL
NCRIT=1
CRIT=3 X11=2112. X22=68.08 X33=68.08 X23=31.4 X13=24.89 X12=24.89 &
ACTION=-1
*FAILURE_CELL
NCRIT=2
CRIT=1 X11=450. X33=110. X23=80. COMPR=DIF &
XC22=300. XC33=140. XC23=60. ACTION=0
CRIT=2 X12=0.03 COMPR=SAM ACTION=-1
Associated MAC/GMC 4.0 Example Problem(s):
Example 5c, Example 5d
Notes:
1) If a particular component (xij) is omitted from the failure parameters for either the maximum stress or maximum strain criterion, that component will not be considered when checking for failure of the RUC. For the Tsai-Hill criterion, all of the components (xij) are required.
2) The specified shear strain allowables are interpreted by the code as engineering shear strains.
3) The compression specifier (compr) and the compressive failure parameters (xc11, xc22, xc33) are not required for the Tsai-Hill criterion. The compressive failure parameters (xc11, xc22, xc33) are only required for the maximum stress and maximum strain criteria in the special case when the compression specifier compr=DIF. Otherwise, the compressive failure parameters should be omitted.
4) ACTION=action is ignored in the case of fatigue damage analysis (when *DAMAGE is included in the input file) and can be omitted in that case.
Additional Information:
MAC/GMC 4.0 Theory Manual Section 5.2
*DAMAGE: Fatigue damage analysis
Purpose:
Perform fatigue damage analysis on an RUC or laminate. The damage related applied loading information and constituent material damage parameters are also specified under *DAMAGE. MAC/GMC 4.0 contains two fatigue damage models. The first is a simple strength reduction model, which allows for a specified semi-logarithmic degradation of material strength, typically applied to fiber constituents. The second is a more involved stiffness reduction model (the Anisotropic Damage Evolution and Life Model, which reduces to the ONERA NonLinear Cumulative Damage Rule when the material is isotropic), which has a number of material parameters that are characterized based on material S-N curves (see Arnold and Kruch, 1994).
In traditional fatigue tests on materials, a given loading cycle is applied repeatedly to a material until failure occurs. The fatigue life of the material is then the number of cycles to failure for a given cyclic loading profile. For composite materials, the GMC micromechanics models implemented within MAC/GMC 4.0 are ideal for fatigue damage analysis because of the availability of the micro scale (subcell level) fields enables stress redistribution during fatigue simulations. That is, for example, if a cyclic fatigue load of 0 to 50 ksi is imposed on a virgin composite material specimen, the fiber and matrix will each experience a certain multiaxial stress state at the maximum load level of 50 ksi. However, after a number of cycles, matrix damage may cause a local stiffness reduction. Consequently, during subsequent cycles, the fiber stress will increase due to the loss of load carrying capacity in the matrix. This type of stress redistribution cannot be accounted for using macro scale fatigue approaches (i.e., treating the composite as a homogenized effective material) in conjunction with Basquin’s Law or the Coffin-Manson Law.
Explicitly simulating fatigue tests to account for the stress redistribution by repeatedly executing a model to evaluate the damage for every cycle can quickly become computationally intensive. This is particularly true in the present case of inelastic micromechanics where the loading for each cycle must be applied incrementally, and a good number of local field and state variables must be tracked for each subcell. The fatigue damage analysis within MAC/GMC 4.0 avoids this computationally demanding explicit type of analysis by solving the inverse problem. Rather than applying a loading cycle and determining the damage, a damage increment is applied, and the number of cycles required to cause this damage increment is calculated. This procedure preserves the ability to capture stress redistribution, but cuts the number of loading cycles that must be explicitly simulated from thousands or hundreds of thousands to tens.
The MAC/GMC 4.0 fatigue damage analysis procedure is as follows for a specified loading cycle and damage increment (DD), where locally, the damage parameter, D, varies between an undamaged level of 0 and a completely damaged, or zero stiffness level of 1.0:
1) Apply specified thermo-mechanical loading cycle to the composite or laminate
2) Determine number of cycles (DN) required to increment the local damage (D) in the first (most damaged) controlling subcell by DD.
3) Determine damage level in all other subcells due to DN number of cycles.
4) Add DN to the previous total number of cycles (N) to arrive at new total number of cycles.
5) Re-apply the specified thermo-mechanical loading cycle, go to step 2.
Clearly, when the specified loading is applied to the damaged material in step 5, the resulting stress field throughout the damaged composite or laminate will be different than that experienced by the undamaged composite or laminate after step 1. This redistribution of stresses then affects the evolution of damage as the damage increment (DD) is repeatedly applied and the total number of cycle (N) increases. When a particular subcell reaches a damage level of 1.0, it has failed and (provided the RUC or laminate has not completely failed) a new controlling subcell will be chosen whose damage level will be incremented.
Usage:
Strength Reduction Model
*DAMAGE
MAXNB=maxnb DINC=dinc DMAX=dmax BLOCK=t1,t2
NDMAT=ndmat
MAT=matnum MOD=dmod SU1=su1(11), su1(22), su1(33), su1(23), su1(13), su1(12) &
SU2=su2(11), su2(22), su2(33), su2(23), su2(13), su2(12) &
N1=n1(11),n1(22), n1(33), n1(23), n1(13), n1(12) &
N2=n2(11),n2(22), n2(33), n2(23), n2(13), n2(12)
.
.
.
® Repeated ndmat times
Stiffness Reduction Model
*DAMAGE
MAXNB=maxnb DINC=dinc DMAX=dmax BLOCK=t1,t2
NDMAT=ndmat
MAT=matnum MOD=dmod ANG=q BN=b BP=b’ OMU=wu OMFL=wfl OMM=wm &
ETU=hu ETFL=hfl ETM=hm BE=b A=â SFL=sfl XML=M SU=su
.
.
.
® Repeated ndmat times
|
Name |
Definition |
|
maxnb 1 |
Maximum number of load blocks to apply |
|
dinc 2 |
Damage increment to apply for each load block |
|
dmax 3 |
Maximum amount of damage permitted (0 £ dmax £ 1.0) |
|
t1,t2 4 |
Start and end times (from thermo-mechanical loading profile) to be associated with a load block (see Figure 5.1) |
|
ndmat |
Number of materials for which damage parameters are specified |
|
matnum |
Material number (from *CONSTITUENTS) whose damage parameters are specified |
|
dmod [=1] |
Damage model to employ for material number matnum = 1 ® Strength reduction fatigue damage model = 2 ® Stiffness reduction fatigue damage model |
|
Name |
Definition |
|
su1(ij) |
Ultimate strength component ij point 1 from semi-log strength reduction plot (see Figure 5.2) |
|
su2(ij) |
Ultimate strength component ij point 2 from semi-log strength reduction plot (see Figure 5.2) |
|
n1(ij) |
Number of cycles point 1 for component ij from semi-log strength reduction plot (see Figure 5.2) |
|
n2(ij) |
Number of cycles point 2 for component ij from semi-log strength reduction plot (see Figure 5.2) |
|
q 5,7 |
Angle between x1-axis and direction of transverse isotropy |
|
b 6,7 |
Quantifies effect of mean stress on M: M=M0(1 - bsmean) |
|
b’ 6,7 |
Quantifies effect of mean stress on sfl: sfl=(sfl)0 (1 - bsmean) |
|
wu 5,7 |
Ratio of longitudinal to transverse normal strength |
|
wfl 5,7 |
Ratio of longitudinal to transverse normal fatigue limit stress |
|
wm 5,7 |
Ratio of longitudinal to transverse normalizing normal stress amplitude |
|
hu 5,7 |
Ratio of longitudinal to transverse shear strength |
|
hfl 5,7 |
Ratio of longitudinal to transverse shear fatigue limit stress |
|
hm 5,7 |
Ratio of longitudinal to transverse normalizing shear stress amplitude |
|
b 6,7 |
Exponent on the normalized stress amplitude |
|
â 6,7 |
Scaling factor for the stress dependency in the fatigue damage exponent ( â=asu /sfl) |
|
sfl 6,7 |
Normal stress fatigue limit |
|
M 6,7 |
Ratio of the stress amplitude constant to the ultimate strength |
|
su 6,7 |
Ultimate normal strength |
Examples:
Strength Reduction Model
*DAMAGE
MAXNB=100 DINC=0.2 DMAX=1.0 BLOCK=0.,200.
NDMAT=1
MAT=1 MOD=2 SU1=3500,91.2,91.2,31.4,134.,134 &
SU2=2000.,91.2,91.2,31.4,134.,134. &
N1=1000,1000,1000,1000,1000,1000 &
N2=300000000,300000000,300000000,300000000,300000000,300000000
Stiffness Reduction Model
*DAMAGE
MAXNB=100 DINC=0.2 DMAX=1.0 BLOCK=0.,200.
NDMAT=1
MAT=2 MOD=1 ANG=0. BN=0.0 BP=0.0 OMU=1. OMFL=1. OMM=1. ETU=1. &
ETFL=1. ETM=1. BE=9. A=0.05 SFL=27. XML=150. &
SU=80.
Associated MAC/GMC 4.0 Example Problem(s):
Example 5d
Notes:
1) Execution of a MAC/GMC 4.0 fatigue damage analysis will end when all subcells (or RUCs) have failed, the code determines that the remaining fatigue life is infinite, or maxnb load blocks have been applied.
2) A smaller damage increment (dinc) value will generally cause the code to apply a greater number of load load blocks prior to failure, leading to a larger execution time.
3) The maximum value of dmax actually employed by the code is 0.99999. This value is employed when a dmax value of 1.0 is specified, which is a good default value as it allows the subcells to damage almost completely. A D value of exactly 1.0 causes a zero stiffness for the subcell and leads to numerical difficulties.
4) As shown in Figure 5.1, the load block that constitutes a single cycle of the applied fatigue loading is associated with a portion of the thermo-mechanical loading specified under *MECH and *THERM by defining t1 and t2. Because of the cyclic nature of fatigue loading, the thermal loading profile specified under *THERM must have the same temperature at t1 and t2 so that the cycle starts and ends at the same temperature. Likewise, each component of the mechanical loading specified under *MECH must have the same magnitude at t1 and t2.
5) The fatigue damage model parameters, q, wu, wfl, wm, hu, hfl, and hm are applicable only to cases involving transversely isotropic subcell materials. For isotropic subcell materials, the specified value of q is arbitrary, while wu, wfl, wm, hu, hfl, and hm should all be set equal to 1.0.
6) For isotropic subcell materials, the parameters, b, b’, b, â, sfl, M, and su must be characterized for the materials based on experimental material S-N curves. If no mean stress dependence is desired, b and b’ can be set to zero. See MAC/GMC 4.0 Example Problem 5d for an example of how the stiffness reduction fatigue damage model parameters are characterized.
7) For additional information on the stiffness reduction fatigue damage model material parameters, see the MAC/GMC 4.0 Theory Manual Section 5.3 and Arnold and Kruch (1994).
8) If any local failures or interfacial debonding are detected during application of a particular load block, the load block is repeated and one cycle is added to the total number of cycles.
9) Currently both the strength and the siffness reduction fatigue damage models are isothermal and do not admit temperature-dependent material properties.
Additional Information:
MAC/GMC 4.0 Keywords Manual Section 4 (*MECH)
MAC/GMC 4.0 Keywords Manual Section 4 (*THERM)
MAC/GMC 4.0 Theory Manual Section 5.3
|

Figure 5.1 The MAC/GMC 4.0 fatigue damage analysis requires the specification of a thermo-mechanical “load block”, which defines a cycle of applied loading in the fatigue damage simulation. The load block is chosen from the thermo-mechanical loading specified under *MECH and *THERM by specifying BLOCK=t1,t2. (a) Simple example; (b) More involved example.

Figure 5.2 MAC/GMC 4.0 strength reduction fatigue damage model. Each component of the material’s ultimate strength is reduced according to the linear behavior defined by the points su1, su2, n1, and n2 from a semi-logarithmic plot.
*DEBOND: Fiber-matrix interfacial debonding
Purpose:
Enable interfacial debonding between the subcells within an RUC or laminate analysis. Two debonding models are available within MAC/GMC 4.0. Both models treat normal and shear interfacial debonding independently and incorporate finite shear and normal bond strengths. The constant compliant interface (CCI) model is formulated such that, after debonding occurs at a particular interface, the interfacial stress becomes a constant (for properly chosen model parameters). The evolving compliant interface (ECI) model, on the other hand, allows the interfacial stress to unload and be redistributed after debonding occurs (again, for properly chosen model parameters). While both models are made available, the ECI is thought to capture the physics of debonding better than the CCI model, especially when used in concert with HFGMC, which allows more accurate local stress redistribution than GMC. However, the CCI model may be useful in some instances in which one desires to maintain a certain amount of load carrying capacity subsequent to failure of the interface.
Usage:
*DEBOND
L=ly NII=nii
DBCH=dbch NAI=nai NBI=nbi NGI=ngi FACE=face BDN=sDB LN=Λn BN=Вn TOLN=toln &
BDS=τDB LS=Λs BS=Вs DELAY=delay
.
.
.
® Repeated nii times
.
.
.
® Repeated nly times
|
Name |
Definition |
|
ly 1 |
Layer number (Special Case) |
|
nii |
Number of debonding interfaces for layer ly |
|
dbch |
Debonding model choice = 1 ® Constant compliant interface (CCI) model = 2 ® Evolving compliant interface (ECI) model |
|
nai 2 |
α index of subcell to which debonding model will be applied (see Figure 3.2) (Special Case) |
|
nbi |
β index of subcell to which debonding model will be applied (see Figure 3.1 and Figure 3.2) |
|
ngi |
γ index of subcell to which debonding model will be applied (see Figure 3.1 and Figure 3.2) |
|
face |
Interface to which debonding model will be applied (see Figure 5.3 and Figure 5.4) |
|
sDB 3 |
Normal interfacial bond strength |
|
Λn 3,4 |
ECI/CCI normal debonding parameter Λ |
|
Вn 3,4 |
ECI/CCI normal debonding parameter В |
|
toln 3,5 |
Reversal tolerance – stress below which interface is considered to be in compression |
|
τDB 3 |
Shear interfacial bond strength |
|
Λs 3,4 |
ECI/CCI shear debonding parameter Λ |
|
Вs 3,4 |
ECI/CCI shear debonding parameter В |
|
delay 6 |
Time delay – time before which interface is treated as perfectly bonded (sec.) |
|
|
face = |
debonded face(s) |
|
1 |
Top face |
|
|
2 |
Right face |
|
|
3 |
Both faces |
|
|
|
|
Figure 5.3 Definition of debonded faces for a given subcell within a doubly periodic RUC.

|
face = |
debonded face(s) |
|
face = |
debonded face(s) |
|
1 |
Top face |
|
5 |
Top and Back faces |
|
2 |
Right face |
|
6 |
Right and Back faces |
|
3 |
Back faces |
|
7 |
All faces |
|
4 |
Top and Right faces |
|
|
|
|
|
|
|
|
|
Figure 5.4 Definition of debonded faces for a given subcell within a triply periodic RUC.
Examples:
*DEBOND
NII=2
DBCH=1 NBI=1 NGI=1 FACE=2 BDN=7. LN=0.0001 BN=60. TOLN=0. &
BDS=40 LS=0.1 BS=100. DELAY=64800.
DBCH=2 NBI=3 NGI=1 FACE=2 BDN=7. LN=0.0001 BN=8. TOLN=0. &
BDS=40 LS=0.1 BS=100 DELAY=64800.
*DEBOND
LY=1 NII=1
DBCH=1 NBI=1 NGI=1 FACE=2 BDN=10. LN=0.0001 BN=10. TOLN=0. &
BDS=40 LS=0.1 BS=100. DELAY=0.
LY=2 NII=0
LY=3 NII=1
DBCH=1 NBI=1 NGI=1 FACE=2 BDN=10. LN=0.0001 BN=10. TOLN=0. &
BDS=40 LS=0.1 BS=100. DELAY=0.
Associated MAC/GMC 4.0 Example Problem(s):
Example 5e
Notes:
1) L=ly is only required in the special case of laminate analysis. In this case, the debonding parameters for the interfaces in the RUCs representing each layer must be specified. If a layer has no debonding interfaces, LY=ly NII=0, should be specified (see Example above).
2) NAI=nai is only required in the special case of a triply periodic RUC. The triply periodic RUC may be part of a stand alone triply periodic RUC analysis or may represent a particular layer in a laminate analysis.
3) The units of sDB, toln, and τDB must be consistent with the stress units employed throughout the analyzed problem. The units of Вn and Вs are seconds, while the units of Λn and Λs are 1/(stress units).
4) The debonding parameters, Λn, Вn, Λs, and Вs are constants in evolution equations that affect the debonding behavior of the interface. The form of these evolution equations is different for the CCI and CCI models. See the MAC/GMC 4.0 Theory Manual Section 5.4 for details on the debonding model equations.
5) The reversal tolerance, toln, can be used to force the interface to “close” when the normal stress is smaller than the specified value. The debonding model implementations within MAC/GMC 4.0 are such that, when the normal stress at a debonded interface becomes compressive, the interface “closes” and reacquires its original (perfectly bonded) normal stiffness. The reversal tolerance sets a small tensile value for the interfacial stress for the code to consider negligible.
6) The time delay, delay, can be used to artificially prevent debonding of the interface until after the specified time. This can be useful in situations where the user wished to disallow debonding during a portion of the applied loading history.
Additional Information:
MAC/GMC 4.0 Theory Manual Section 5.4
*CURTIN: Curtin effective fiber breakage model
Purpose:
Enable the Curtin effective fiber breakage model for subcells within a doubly periodic RUC (the model is not applicable to triply periodic RUCs). The Curtin model simulates the effects of fiber fracture and the unloaded portion of the fiber in the vicinity of the fiber fracture. The model uses statistical fiber strength data in order to simulate the effects of the breaking and subsequent load shedding of many fibers as one effective fiber. The effective fiber stiffness is degraded as the longitudinal stress in the fiber is increased. The effective longitudinal fiber stress reaches a maximum, which can be used as a failure stress for the effective fiber.
Usage:
*CURTIN
L=ly NCURT=ncurt
NBI=nbi NGI=ngi D=d L0=l0 SIG0=s0 TAU0=τ0 M=m DELAY=delay ACTION=action
.
.
.
® Repeated ncurt times
.
.
.
® Repeated nly times
|
Name |
Definition |
|
ly 1 |
Layer number (Special Case) |
|
ncurt |
Number of Curtin model effective fibers for layer ly |
|
nbi |
β index of subcell to which Curtin model will be applied (see Figure 3.1) |
|
ngi |
γ index of subcell to which Curtin model will be applied (see Figure 3.1) |
|
d 2 |
Fiber diameter |
|
l0 2 |
Fiber characteristic length |
|
s0 3 |
Characteristic (average) fiber strength |
|
τ0 3,4 |
Shear stress sliding resistance at fiber-matrix interface |
|
m |
Weibull modulus from fiber strength statistics |
|
delay 5 |
Time delay – time before which Curtin model is inactive |
|
action |
Action for code to take upon detection of Curtin model effective fiber failure: = 1 ® Zero fiber stiffness and continue execution = 0 ® Do nothing and continue (write notification to output file) = -1 ® Stop execution |
Examples:
*CURTIN
NCURT=1
NBI=1 NGI=1 D=142.E-6 L0=0.0127 SIG0=508. TAU0=2.03 M=17.0 &
DELAY=64800. ACTION=0
*CURTIN
LY=1 NCURT=0
LY=2 NCURT=1
NBI=1 NGI=1 D=142.E-6 L0=0.0127 SIG0=610. TAU0=6.78 M=10.0 &
DELAY=0. ACTION=0
LY=3 NCURT=0
Associated MAC/GMC 4.0 Example Problem(s):
Example 5f
Notes:
1) L=ly is only required in the special case of laminate analysis. In this case, the Curtin model parameters for the fibers in the doubly periodic RUCs representing each layer must be specified. If a layer has no Curtin model fibers, LY=ly NCURT=0, should be specified.
2) The units for the fiber diameter and characteristic length, d and l0, must have consistent (length) units, but these units do not have to be consistent with the remaining material property units.
3) The units of s0 and τ0 must be consistent with the stress units employed throughout the rest of the problem.
4) The shear stress sliding resistance at the fiber-matrix interface, τ0, is the most difficult of the Curtin model parameters to obtain. Researchers have often attempted to deduce a value for this parameter from fiber push out and pull out tests on the composite. This parameter may also be chosen based on characterization vs. a known longitudinal composite stress-strain curve that is taken to failure.
5) The time delay, delay, can be used to artificially prevent activation of the Curtin model until after the specified time. This can be useful in situations where the user wishes to disallow fiber stiffness degradation and/or breakage during a portion of the applied loading history.
Additional Information:
MAC/GMC 4.0 Theory Manual Section 5.5
This section presents the four MAC/GMC 4.0 keywords that are related to the results of the analyzed problem. These are:
*PRINT ® Specify the level of results data to be written to the MAC/GMC 4.0 output file
*XYPLOT ® Specify data to be written to files for generating x-y scatter plots
*PATRAN ® Generate results output for post-processing with MSC/PATRAN software
*MATLAB ® Generate results output for post-processing with MATLAB software
The lowest level of data output in MAC/GMC 4.0 is controlled with the *PRINT keyword, which specifies the amount of data written to the ASCII format MAC/GMC 4.0 output file. Next, the *XYPLOT keyword writes time-based output to ASCII files that can be used within standard plotting software packages to generated x-y plots (such as predicted composite stress-strain curves). Finally, *PATRAN and *MATLAB enable the generation of data files to be read by the MSC/PATRAN and MATLAB (the MathWorks, Inc.) software packages for generating fringe plots that show the variation of the result fields over the composite architecture. Generation of fringe plots with these software packages requires the appropriate MAC/GMC 4.0 files (distributed with the MAC/GMC 4.0) that work in concert with *PATRAN and *MATLAB.
*PRINT: Overall print output level for output file
Purpose:
Specify the level of output data to be written to the MAC/GMC 4.0 ASCII output file
Usage:
NPL=npl
|
Name |
Definition |
|
npl |
Print level specifier for the MAC/GMC 4.0 ASCII output file (see Table 6.1) |
Table 6.1 Data written to the output file based on the value of npl.
|
npl |
Result |
|
-1 |
Determine and write effective properties and stop code execution |
|
0 |
Minimal output, no effective properties, no time-based output |
|
1 |
Time based global fields output, no effective properties |
|
3 |
Effective RUC or laminate properties and architecture information |
|
4 |
Debonding, yield surface, and static failure analysis information |
|
6 |
Effective stiffness matrix and CTEs or ABD matrix output at each time step |
|
7 |
Extensive fatigue damage information |
|
8 |
Iteration data to screen for incremental plasticity and multimechanism GVIPS |
|
9 |
Ancillary data |
|
10 |
Program execution trace and all array data N Caution – Generates large output file and will slow execution considerably N |
Example:
NPL=6
Associated MAC/GMC 4.0 Example Problem(s):
All example problems
Notes:
1) A print level of npl is inclusive of all output information associated with all print levels lower than npl.
2) If *PRINT is not specified, the code will use a default value of npl=1.
*XYPLOT: X-Y plot output
Purpose:
Generate time-based data for x-y scatter plots.
Usage:
*XYPLOT
FREQ=freq
LAMINATE=nlam
NAME=name_l X=x_l Y=y_l
.
.
.
® Repeated nlam times
MACRO=nmacro
NAME=name_mac LYR=lyr_mac X=x_mac Y=y_mac COORD=coord
.
.
.
® Repeated nmacro times
MICRO=nmicro
NAME=name_mic LYR=lyr_mic IA=ia IB=ib IG=ig X=x_mic Y=y_mic
.
.
.
® Repeated nmicro times
|
Name |
Definition |
|
|
freq |
Frequency of time steps to write output (i.e., write output every freq time step) |
|
|
nlam 1 |
Number of laminate level plot files (Special Case) |
|
|
name_l1,2 |
Laminate level plot file name without path (Special Case) |
|
|
x_l 1 |
I.D. number of data to write in first column of data file for current laminate plot (see Table 6.2) (Special Case) |
|
|
y_l 1 |
I.D. number of data to write in second column of data file for current laminate plot (see Table 6.2) (Special Case) |
|
|
nmacro |
Number of macro (RUC level) plot files |
|
|
name_mac2 |
Macro level plot file name without path |
|
|
lyr_mac1 |
Layer number for current macro plot (Special Case) |
|
|
x_mac 3 |
I.D. number of data to write in first column of data file for current macro plot (see Table 6.3) |
|
|
y_mac 3 |
I.D. number of data to write in second column of data file for current macro plot (see Table 6.3) |
|
|
Name |
Definition |
|
|
coord 1,4 |
Specifies local (principal material) or global (laminate) coordinate system for macro (RUC level) plots within laminate layer (Special Case) (Optional): = L ® Local coordinate system for layer (default if COORD=coord is omitted) = G ® Global (laminate) coordinate system |
|
|
nmicro |
Number of micro (subcell level) plot files |
|
|
name_mac2 |
Micro level plot file name without path |
|
|
lyr_mic1 |
Layer number for current micro plot (Special Case) |
|
|
ia 5 |
α subcell index for current micro plot (see Figure 3.2) (Special Case) |
|
|
ib |
β subcell index for current micro plot (see Figure 3.1 and Figure 3.2) |
|
|
ig |
γ subcell index for current micro plot (see Figure 3.1 and Figure 3.2) |
|
|
x_mic 3 |
I.D. number of data to write in first column of data file for current micro plot (see Table 6.4) |
|
|
y_mic 3 |
I.D. number of data to write in second column of data file for current micro plot (see Table 6.4) |
|
Examples:
*XYPLOT
FREQ=5
MACRO=1
NAME=example_3a X=2 Y=8
MICRO=0
*XYPLOT
FREQ=1
LAMINATE=1
NAME=kxy_v_Mxy X=9 Y=15
MACRO=2
NAME=my_plot_file LYR=1 X=2 Y=8 COORD=G
NAME=” LYR=3 X=2 Y=14
MICRO=1
NAME=micro_file LYR=2 IB=1 IG=1 X=2 Y=8
Associated MAC/GMC 4.0 Example Problem(s):
Example 1c, Example 2a-h, Example 3a-i, Example 4a-d, Example 4h, Example 5b, Example 5d-f, Example 6a, Example 6b-c, Example 7a-c
Notes:
1) The x-y plot information associated with laminate level plots should only be specified in the special case of laminate analysis. Further, the specification of LYR=lyr_mac, LYR=lyr_mic, and COORD=coord for the macro and micro plots is only required in the special case of a laminate in order to indicate which layer the RUC or subcell information should be taken from.
2) Laminate level plot files have “_lam.data” appended to the specified name_l. Macro level plot files have “_macro.data” appended to the specified name_mac. Micro level plot files have “_micro.data” appended to the specified name_mic. The files will be written in the same directory as the input file. If a name is repeated within a particular level of plots, an integer counter will be appended to the specified file name. Finally, the special character double quotation (“) can be specified as a file name to automatically repeat the file name directly preceeding this specification (see Example above).
3) The macro and micro plot files associated with a laminate contain four columns of data rather than two. The first two columns contain the x and y data for quadrature point number 1 in the specified layer, while the third and fourth columns contain the x and y data for quadrature point number 2 in the specified layer.
4) Even in the case of laminate analysis, COORD=coord is optional. If it is omitted, the macro plot information will be written in the local coordinates of the layer.
5) IA=ia is only required in the special case when the subcell in question is part of a triply periodic RUC.
Table 6.2 LAMINATE level x-y plot data file i.d. numbers.
|
1 |
|
midplane normal strain |
32 |
|
magnetic field |
|
2 |
|
midplane normal strain |
33 |
|
magnetic field |
|
3 |
|
average normal strain |
34 |
|
magnetic field |
|
4 |
|
average engineering shear strain |
35 |
|
electric force resultant |
|
5 |
|
average engineering shear strain |
36 |
|
electric force resultant |
|
6 |
|
midplane engineering shear strain |
37 |
|
electric force resultant |
|
7 |
|
midplane curvature |
38 |
|
electric moment resultant |
|
8 |
|
midplane curvature |
39 |
|
electric moment resultant |
|
9 |
|
midplane curvature |
40 |
|
electric moment resultant |
|
10 |
|
force resultant |
41 |
|
magnetic force resultant |
|
11 |
|
force resultant |
42 |
|
magnetic force resultant |
|
12 |
|
force resultant |
43 |
|
magnetic force resultant |
|
13 |
|
moment resultant |
44 |
|
magnetic moment resultant |
|
14 |
|
moment resultant |
45 |
|
magnetic moment resultant |
|
15 |
|
moment resultant |
46 |
|
magnetic moment resultant |
|
16 |
|
inelastic force resultant |
47 |
|
pyroelectric force resultant |
|
17 |
|
inelastic force resultant |
48 |
|
pyroelectric force resultant |
|
18 |
|
inelastic force resultant |
49 |
|
pyroelectric force resultant |
|
19 |
|
inelastic moment resultant |
50 |
|
pyroelectric moment resultant |
|
20 |
|
inelastic moment resultant |
51 |
|
pyroelectric moment resultant |
|
21 |
|
inelastic moment resultant |
52 |
|
pyroelectric moment resultant |
|
22 |
|
thermal force resultant |
53 |
|
pyromagnetic force resultant |
|
23 |
|
thermal force resultant |
54 |
|
pyromagnetic force resultant |
|
24 |
|
thermal force resultant |
55 |
|
pyromagnetic force resultant |
|
25 |
|
thermal moment resultant |
56 |
|
pyromagnetic moment resultant |
|
26 |
|
thermal moment resultant |
57 |
|
pyromagnetic moment resultant |
|
27 |
|
thermal moment resultant |
58 |
|
pyromagnetic moment resultant |
|
28 |
N/A |
N/A |
59 - 99 |
N/A |
|
|
29 |
|
electric field |
100 |
|
temperature |
|
30 |
|
electric field |
101 |
|
time |
|
31 |
|
electric field |
102 |
|
creep time |
Table 6.3 MACRO level x-y plot data i.d. numbers.
|
1 |
|
total normal strain |
38 |
|
electric field |
|
|
2 |
|
total normal strain |
39 |
|
electric field |
|
|
3 |
|
total normal strain |
40 |
|
electric field |
|
|
4 |
|
total engineering shear strain |
41 |
|
magnetic field |
|
|
5 |
|
total engineering shear strain |
42 |
|
magnetic field |
|
|
6 |
|
total engineering shear strain |
43 |
|
magnetic field |
|
|
7 |
|
stress |
44 |
|
electric displacement |
|
|
8 |
|
stress |
45 |
|
electric displacement |
|
|
9 |
|
stress |
46 |
|
electric displacement |
|
|
10 |
|
stress |
47 |
|
magnetic flux density |
|
|
11 |
|
stress |
48 |
|
magnetic flux density |
|
|
12 |
|
stress |
49 |
|
magnetic flux density |
|
|
13 |
|
inelastic normal strain |
50 |
|
thermal electric field |
|
|
14 |
|
inelastic normal strain |
51 |
|
thermal electric field |
|
|
15 |
|
inelastic normal strain |
52 |
|
thermal electric field |
|
|
16 |
|
inelastic engr. shear strain |
53 |
|
thermal magnetic field |
|
|
17 |
|
inelastic engr. shear strain |
54 |
|
thermal magnetic field |
|
|
18 |
|
inelastic engr. shear strain |
55 |
|
thermal magnetic field |
|
|
19-30 |
N/A |
56-99 |
N/A |
|
||
|
31 |
|
thermal normal strain |
100 |
|
temperature |
|
|
32 |
|
thermal normal strain |
101 |
|
time |
|
|
33 |
|
thermal normal strain |
102 |
|
creep time |
|
|
34 |
|
thermal engineering shear strain |
|
|
|
|
|
35 |
|
thermal engineering shear strain |
|
|
|
|
|
36 |
|
thermal engineering shear strain |
|
|
|
|
|
37 |
N/A |
N/A |
|
|
|
|
Table 6.4 MICRO level x-y plot data i.d. numbers.
|
1 |
|
total normal strain |
34 |
|
thermal engineering shear strain |
|
2 |
|
total normal strain |
35 |
|
thermal engineering shear strain |
|
3 |
|
total normal strain |
36 |
|
thermal engineering shear strain |
|
4 |
|
total engineering shear strain |
37 |
|
normal debond parameter |
|
5 |
|
total engineering shear strain |
38 |
|
normal debond parameter |
|
6 |
|
total engineering shear strain |
39 |
|
normal debond parameter |
|
7 |
|
stress |
40 |
|
shear debond parameter |
|
8 |
|
stress |
41 |
|
shear debond parameter |
|
9 |
|
stress |
42 |
|
shear debond parameter |
|
10 |
|
stress |
43 |
|
electric field |
|
11 |
|
stress |
44 |
|
electric field |
|
12 |
|
stress |
45 |
|
electric field |
|
13 |
|
inelastic normal strain |
46 |
|
magnetic field |
|
14 |
|
inelastic normal strain |
47 |
|
magnetic field |
|
15 |
|
inelastic normal strain |
48 |
|
magnetic field |
|
16 |
|
inelastic engr. shear strain |
49 |
|
electric displacement |
|
17 |
|
inelastic engr. shear strain |
50 |
|
electric displacement |
|
18 |
|
inelastic engr. shear strain |
51 |
|
electric displacement |
|
19 |
|
inelastic model state variable |
52 |
|
magnetic flux density |
|
20 |
|
inelastic model state variable |
53 |
|
magnetic flux density |
|
21 |
|
inelastic model state variable |
54 |
|
magnetic flux density |
|
22 |
|
inelastic model state variable |
55 |
|
thermal electric field |
|
23 |
|
inelastic model state variable |
56 |
|
thermal electric field |
|
24 |
|
inelastic model state variable |
57 |
|
thermal electric field |
|
25 |
|
inelastic model state variable |
58 |
|
thermal magnetic field |
|
26 |
|
inelastic model state variable |
59 |
|
thermal magnetic field |
|
27 |
|
inelastic model state variable |
60 |
|
thermal magnetic field |
|
28 |
|
inelastic model state variable |
61-99 |
N/A |
|
|
29 |
|
inelastic model state variable |
100 |
|
temperature |
|
30 |
|
inelastic model state variable |
101 |
|
time |
|
31 |
|
thermal normal strain |
102 |
|
creep time |
|
32 |
|
thermal normal strain |
|
|
|
|
33 |
|
thermal normal strain |
|
|
|
*PATRAN: PATRAN post-processing data output
Purpose:
Generate data output files for post-processing using the MSC/PATRAN software in conjunction with the MACPOST software. The MACPOST software is an add-on to the MSC/PATRAN software package that enables generation of x-y plots and fringe plots. The MACPOST software add-on is distributed with MAC/GMC 4.0 and has its own User Manual (Goldberg et al., 1999). The user is referred to the MACPOST User Manual for specific instructions on post-processing the data generated from MAC/GMC 4.0. Note that the MSC/PATRAN output is available only for doubly and triply periodic GMC RUC analyses.
Usage:
*PATRAN
TPRE=tpre STP=stp
|
Name |
Definition |
|
tpre |
Preloading time before which MSC/PATRAN output data files are not written |
|
stp 1 |
Frequency for writing MSC/PATRAN output, output is written every stp time step |
Example:
*PATRAN
TPRE=57600. STP=50
Associated MAC/GMC 4.0 Example Problem(s):
Example 6b
Notes:
1) A small value of stp will cause a great deal of data to be written and may slow execution considerably.
2) The *PATRAN keyword causes the generation of the following 14 data files, where outfile is the MAC/GMC 4.0 output file name:
|
outfile.macgeo |
RUC geometry data |
|
outfile.total_pat.data |
Number of time steps and subcells |
|
outfile.macro1_pat.data |
RUC level strain data at each output time |
|
outfile.macro2_pat.data |
RUC level stress data at each output time |
|
outfile.macro3_pat.data |
RUC level inelastic strain data at each output time |
|
outfile.macro4_pat.data |
RUC level thermal strain, creep time, temperature, and stress invariant data at each output time |
|
outfile.micro1_pat.data |
Subcell level strain data at each output time |
|
outfile.micro2_pat.data |
Subcell level stress data at each output time |
|
outfile.micro3_pat.data |
Subcell level inelastic strain data at each output time |
|
outfile.micro4_pat.data |
Subcell level thermal strain, creep time, temperature, and stress invariant data at each output time |
|
outfile.micro1_pat.contour |
Subcell level strain data for fringe plots |
|
outfile.micro2_pat.contour |
Subcell level stress data for fringe plots |
|
outfile.micro3_pat.contour |
Subcell level inelastic strain data for fringe plots |
|
outfile.micro4_pat.contour |
Subcell level thermal strain, creep time, temperature, and stress invariant data for fringe plots |
*MATLAB: MATLAB post-processing data output
Purpose:
Generate data output files for post-processing using the MATLAB software in conjunction with the MATLAB source files distributed with MAC/GMC 4.0. The MATLAB output is available only for doubly periodic RUC analysis and doubly periodic RUC layers within a laminate analysis.
Usage:
*MATLAB
N=ntimes TIMES=t(1),t(2),…,t(ntimes)
|
Name |
Definition |
|
ntimes |
Number of times at which MATLAB output will be written |
|
t(1-ntimes) |
The times at which MATLAB output will be written |
Example:
*MATLAB
N=3 TIMES=57600.,57700.,57800.
Associated MAC/GMC 4.0 Example Problem(s):
Example 3f, Example 6c
Notes:
1) The *MATLAB keyword causes the generation of the following 5 data files, where outfile is the MAC/GMC 4.0 output file name:
|
outfile_x2.dat |
x2 subcell coordinate geometry information |
|
outfile_x3.dat |
x3 subcell coordinate geometry information |
|
outfile_sig.dat |
Subcell level stress data at each output time |
|
outfile_eps.dat |
Subcell level strain data at each output time |
|
outfile_epsp.dat |
Subcell level inelastic strain data at each output time |
To be read by the three MATLAB source files (see Note 2 below), the leading “outfile_” must be stripped from the outfile_x2.dat and outfile_x3.dat files. The remaining three MATLAB data files must contain only the data for a single time, without the time itself included. Thus, the user must copy the desired data out of the outfile_sig.dat, outfile_eps.dat, and outfile_epsp.dat files and copy it into the corresponding file with the leading “outfile_” stripped from the name. The MATLAB source files can then correctly read these three data files and create the appropriate fringe plots.
2) The following MATLAB source files, which generate fringe plots from the data contained in the MAC/GMC 4.0 MATLAB output files, are distributed with MAC/GMC 4.0:
|
stress.m |
Generates stress component and invariant fringe plots |
|
strain.m |
Generates strain component fringe plots |
|
epsp.m |
Generates inelastic strain component fringe plots |
Each file contains an explanation and a section for user edits that control some of the characteristics of the fringe plots. These MATLAB source files are printed in the Appendix.
3) The fringe plots can be generated by placing the MATLAB source files and the MAC/GMC 4.0 MATLAB output files in the MATLAB working directory, and then executing the MATLAB source files by typing the file name at the MATLAB command line. For example, typing “stress” at the MATLAB command line would execute the stress.m program to generate the stress component fringe plots.
This section contains the keyword that is required at the end of every MAC/GMC 4.0 input file:
*END ® Indicate that the end of the MAC/GMC 4.0 input file has been reached
*END: End of input file
P *END is a required keyword P
Purpose:
Define the end of the MAC/GMC 4.0 input file.
Usage:
*END
Example:
*END
Associated MAC/GMC 4.0 Example Problem(s):
All example problems
Notes:
1) Lines present in the input file that are after the *END keyword will not be read by the code. The user can thus hold particular lines of input file data by placing them after this keyword at the end of the input file.
Aboudi, J. (1989) “Micromechanical Analysis of Composites by the Method of Cells” Applied Mechanics Reviews 42(7), 193-221.
Aboudi, J. (1991) Mechnics of Composite Materials: A Unified Micromechanical Approach. Elsevier, New York.
Aboudi, J. (1995) “Micromechanical Analysis of Thermoinelastic Multiphase Short-Fiber Composites” Composites Engineering 5, 839-850.
Aboudi, J. (2000) “Micromechanical Prediction of the Effective Behavior of Fully Coupled Electro-Magneto-Thermo-Elastic Multiphase Composites” NASA/CR–2000-209787.
Aboudi, J., Pindera, M.-J., and Arnold, S.M. (2001) “Linear Thermoelastic Higher-Order Theory for Periodic Multiphase Materials” Journal of Applied Mechanics 68(5), 697-707.
Aboudi, J., Pindera, M.-J., and Arnold, S.M. (2002) “Higher-Order Theory for Periodic Multiphase Materials with Inelastic Phases” International Journal of Plasticity, in press. See also NASA/TM–2002-211469.
Arnold, S.M. and Kruch, S. (1994) “Differential Continuum Damage Mechanics Models for Creep and Fatigue of Unidirectional Metal Matrix Composites” International Journal of Damage Mechanics 3(2), 170-191.
Bednarcyk, B.A. (2002) “An Inelastic Micro/Macro Theory for Hybrid Smart/Metal Composites” Composites: Part B, in press. See also NASA/CR–2002-208521.
Bednarcyk, B.A. and Pindera, M.-J. (2000) “Inelastic Response of a Woven Carbon/Copper Composite – Part II: Micromechanics Model” Journal of Composite Materials 34(4), 299-331.
Goldberg, R.K., Comiskey, M.D., and Bednarcyk, B.A. (1999) “Micromechanics Analysis Code Post-Processing (MACPOST) User Guide Version 1.0” NASA/TM–1999-209062.
Herakovich, C.T. (1998) Mechanics of Fibrous Composites. John Wiley & Sons, New York.
Jones, R.M. (1975) Mechanics of Composite Materials, Hemisphere Publishing Corp., New York.
Paley, M. and Aboudi, J. (1992) “Micromechanical Analysis of Composites by the Generalized Cells Model” Mechanics of Materials 14, 127-139.
Pindera, M.-J. and Bednarcyk, B.A. (1999) “An Efficient Implementation of the Generalized Method of Cells of Unidirectional, Multi-Phased Composites with Complex Microstructures” Composites: Part B 30(1), 87-105.
This Appendix contains the following:
· User-Defined Constituent Material Constitutive Model File
· User-Defined Stiffness Matrix Determination File
· User-Defined Material Property Determination File
· Sample external material database file
· The three MATLAB source files for generating fringe plots
® stress.m, strain.m, and epsp.m
usrmat.F90
!#######################################################################
SUBROUTINE USRMAT(DSA, SA, PE, PV, D, LOCTISO, TIME, TSTEP, &
CTEMP, DTEMPR, NIO, NE, NV, NS, MN, DMGF, NSASIZE)
!=======================================================================
! Purpose: MAC/GMC 4.0 user-defined material constitutive model for
! determination of the inelastic strain and state variable
! increments
!
! This subroutine is called when one or more constituent
! materials are described by user-defined constitutive
! models, that is, when:
! CMOD = 99
!
! Reference: MAC/GMC 4.0 Keywords Manual Section 2, MAC/GMC 4.0
! Example Manual (Example 2g)
!
! Called From: FORMIN
! Subs Called: FATALERROR
!=======================================================================
! * On Entry *
! SA -- Vector of total (integrated) quantities (see below)
! PE(NE) -- Vector of elastic constants for material MN
! (where NE = # of elastic constants --> 9 MAX)
! PV(NV) -- Vector of viscoplastic constants for material MN
! (where NV = # of viscoplastic constants --> 19 MAX)
! D(3) -- Vector of direction cosines (for models 3, 7, & 9)
! LOCTISO -- Flag indicating if ANY material exhibits local
! transverse isotropy (and global anisotropy)
! = 0 - all materials are at most globally transversely
! isotropic (D not used)
! = 1 - at least one material is locally transversely
! isotropic (D used)
! TIME -- Current time
! TSTEP -- Current time step
! CTEMP -- Current temperature
! DTEMPR -- Time rate of change of temperature
! NIO -- Unit number of .out file
! NE -- # of elastic constants --> 9 MAX
! NV -- # of viscoplastic constants --> 19 MAX
! NS -- Current subcell number (this routine is called from within
! a subcell loop)
! MN -- Material number
! DMGF -- Damage factor - if damage is included the user
! should multiply material stiffness terms by DMGF
! when using such terms in his inelastic model.
!
! * Expected On Exit *
! DSA -- Vector of quantity increments (see below)
!=======================================================================
!
! NOTE: In this subroutine, [SA] and [DSA] contain the
! micro (subcell) quantities for the micromechanics model
!
! Arrangement of [DSA] & [SA] arrays:
!
! variable location
! +------------------------------------------------------------
! | total strain (1-6) (contains ENGINEERING shears)
! |------------------------------------------------------------
! | stress (7-12)
! |------------------------------------------------------------
! | inelastic strain (13-18) (contains ENGINEERING shears)
! |------------------------------------------------------------
! | 12 "slots" (19-30)
! | for state variables
! |------------------------------------------------------------
! | thermal strain (31-36) (contains ENGINEERING shears)
! |------------------------------------------------------------
! | Rn & Rt debond (37 - Rn, 11 face)
! | parameters (38 - Rn, 22 face)
! | (39 - Rn, 33 face)
! | (40 - Rt, 11 face)
! | (41 - Rt, 22 face)
! | (42 - Rt, 33 face)
! +------------------------------------------------------------
!
! NOTE: The user is responsible for providing the inelastic strain and
! state variable increments, DSA slots (13-30). The rest of DSA
! should not be disturbed
!
! NOTE: To use your own code within this subroutine, this subroutine
! must be compiled and linked with the MAC/GMC 4.0 library file
! mac4.lib
!
! ** IT IS THE USER'S RESPONSIBILITY TO ENSURE THAT THE USER'S CODE **
! ** FUNCTIONS PROPERLY AND THAT THE DESIRED CODE IS ACTUALLY BEING **
! ** EXECUTED **
!
!=======================================================================
IMPLICIT DOUBLE PRECISION (A - H, O - Z)
DIMENSION SS(6), S(6), R(6)
DIMENSION DSA(NSASIZE), SA(NSASIZE)
DIMENSION PV(NV), PE(NE), D(3)
LOGICAL LOCTISO
!=======================================================================
NEP = 9
NVP = 19
IF( NE .GT. NEP ) THEN
CALL FATALERROR(NIO)
WRITE(NIO, *) 'TO MANY ELASTIC PROPERTIES FOR MATERIAL # ', MN
WRITE(NIO, *) ' # USED = ', NE
WRITE(NIO, *) ' # ALLOCATED = ', NEP
STOP
ENDIF
IF( NV .GT. NVP ) THEN
CALL FATALERROR(NIO)
WRITE(NIO, *) 'TO MANY NON-LINEAR PROPERTIES FOR MATERIAL # ', &
MN
WRITE(NIO, *) ' # USED = ', NV
WRITE(NIO, *) ' # ALLOCATED = ', NVP
STOP
ENDIF
!***********************************************************************
! BEGIN USER EDITS *
!***********************************************************************
! -- Consider placing your own message here to ensure that your code is
! being executed
IF (TIME .EQ. 0.D0) THEN
WRITE(NIO, *) '*** NOTE: Default USRMAT routine being executed ***'
WRITE(*, *) '*** NOTE: Default USRMAT routine being executed ***'
ENDIF
!-----------------------------------------------------------------------
! MATERIAL #1 -- Power Law Creep
!-----------------------------------------------------------------------
IF (MN .EQ. 1) THEN
! -- Creep material properties
CREEPCOEF = PV(1)
POWER = PV(2)
! -- Deviatoric stress [S] in the subcell
TRACE3 = (SA(7) + SA(8) + SA(9)) / 3.
S(1) = SA(7) - TRACE3
S(2) = SA(8) - TRACE3
S(3) = SA(9) - TRACE3
S(4) = SA(10)
S(5) = SA(11)
S(6) = SA(12)
! -- Effective Stress
SEFF = SQRT((SA(7) - SA(8))**2 + (SA(8) - SA(9))**2 + &
(SA(7) - SA(9))**2 + &
+ 6 * (SA(10)**2 + SA(11)**2 + SA(12)**2)) / SQRT(2.)
CREEP_F = CREEPCOEF * SEFF**POWER
IF (SEFF .GT. 0.D0) THEN
COEF = 3 * CREEP_F / (2 * SEFF)
ELSE
COEF = 0.D0
ENDIF
! -- Inelastic strain increments
DSA(13) = COEF * S(1) * TSTEP
DSA(14) = COEF * S(2) * TSTEP
DSA(15) = COEF * S(3) * TSTEP
DSA(16) = COEF * S(4) * TSTEP
DSA(17) = COEF * S(5) * TSTEP
DSA(18) = COEF * S(6) * TSTEP
!-----------------------------------------------------------------------
! MATERIAL #2 --> Bodner-Partom
!-----------------------------------------------------------------------
ELSEIF (MN .EQ. 2) THEN
! -- Copy appropriate viscoplastic material constants
IF( NV .LT. 6 ) THEN
CALL FATALERROR(NIO)
WRITE(NIO, *) ' NOT ENOUGH PV SPACE: NV =', NV
STOP
ENDIF
D0 = PV(1)
Z0 = PV(2)
Z1 = PV(3)
BM = PV(4)
AN = PV(5)
Q = PV(6)
! -- Copy stress from [SA] to [SS]
SS(1) = SA(7)
SS(2) = SA(8)
SS(3) = SA(9)
SS(4) = SA(10)
SS(5) = SA(11)
SS(6) = SA(12)
! -- Compute the deviatoric stress [S] in the subcell
TEMP = (SS(1) + SS(2) + SS(3)) / 3.0
S(1) = SS(1) - TEMP
S(2) = SS(2) - TEMP
S(3) = SS(3) - TEMP
S(4) = SS(4)
S(5) = SS(5)
S(6) = SS(6)
AJ2 = 0.5 * (S(1)**2 + S(2)**2 + S(3)**2) + S(4)**2 + S(5)**2 + &
S(6)**2
SQ3AJ = DSQRT( SS(1)**2 + SS(2)**2 + SS(3)**2 + 2 * (SS(4)**2 + &
SS(5)**2 + SS(6)**2) )
SQ2 = 1.414215
IF (SQ3AJ .EQ. 0.0) THEN
DO I = 1, 6
R(I) = 0
END DO
ELSE
R(1) = SS(1) / SQ3AJ
R(2) = SS(2) / SQ3AJ
R(3) = SS(3) / SQ3AJ
R(4) = SQ2 * SS(4) / SQ3AJ
R(5) = SQ2 * SS(5) / SQ3AJ
R(6) = SQ2 * SS(6) / SQ3AJ
ENDIF
! -- If D0=0 then assume elastic and zero-out [DSA(13-30)] (inelastic
! strain increments and internal variable increments), then return
IF (D0 .EQ. 0) THEN
DO JJ = 13, 30
DSA(JJ) = 0.0
END DO
RETURN
! -- Inelastic
ELSE
ZEF = Z0 + Q * SA(20) + (1 - Q) * (R(1) * SA(21) + R(2) * &
SA(22) + R(3) * SA(23) + R(4) * SA(24) + R(5) &
* SA(25) + R(6) * SA(26))
IF (AJ2 .EQ. 0.0) THEN
AL = 0.0
ELSE
ARG1 = ZEF**2.0 / (3.0 * AJ2)
IF (ARG1 .GT. 1E6) ARG1 = 1E6
CON = .5 * (AN + 1.0) / AN
ARG = CON * (ARG1)**AN
IF (ARG .GT. 50.0) ARG = 50.0
AL = D0 / (DEXP(ARG) * DSQRT(AJ2))
ENDIF
! -- Inelastic strain increments
DSA(13) = AL * S(1) * TSTEP
DSA(14) = AL * S(2) * TSTEP
DSA(15) = AL * S(3) * TSTEP
DSA(16) = 2 * AL * S(4) * TSTEP
DSA(17) = 2 * AL * S(5) * TSTEP
DSA(18) = 2 * AL * S(6) * TSTEP
! -- Plastic work increment
WPD = S(1) * DSA(13) + S(2) * DSA(14) + S(3) * DSA(15) + S(4) * &
DSA(16) + S(5) * DSA(17) + S(6) * DSA(18)
! -- State variable increments
DSA(19) = WPD
Z0M = BM / Z0
ZD = Z0M * (Z1 - ZEF) * WPD
DSA(20) = ZD
DSA(21) = ZD * R(1)
DSA(22) = ZD * R(2)
DSA(23) = ZD * R(3)
DSA(24) = ZD * R(4)
DSA(25) = ZD * R(5)
DSA(26) = ZD * R(6)
ENDIF
ENDIF
!***********************************************************************
! END USER EDITS *
!***********************************************************************
RETURN
END
! *** EOF ***
usrformde.F90
!#######################################################################
SUBROUTINE USRFORMDE(NIO, MN, TIME, PEM, PVM, D, D_MODEL, NE, NV, &
NEP, NVP, NMTS, DNEW)
!=======================================================================
! Purpose: MAC/GMC 4.0 user-defined subroutine to allow formation of
! constituent material stiffness matrices based on a user
! constitutive model, which may use arbitrary material
! properties (used when ncmd = 99)
!
! This subroutine is called when one or more constituent
! materials are described by user-defined constitutive
! models (using the USRMAT subroutine), that is, when:
! CMOD = 99
!
! Reference: MAC/GMC 4.0 Keywords Manual Section 2, MAC/GMC 4.0
! Example Manual (Example 2g)
!
! Called From: GETCON
! Subs Called:
!=======================================================================
! ** On Entry **
! NIO -- Unit number of .out file
! MN -- Material number
! TIME -- Current time
! PEM(NE, MN) -- Vector of elastic constants for material # MN
! PVM(NV, MN) -- Vector of viscoplastic constants for material # MN
! D(3) -- Vector of direction cosines
! (required for material models 3, 7, 9, & 20)
! D_MODEL -- Flag indicating if material # MN exhibits local
! transverse isotropy with global anisotropy
! = .FALSE. - material is at most globally transversely
! isotropic (D not used)
! = .TRUE. - material is locally transversely
! isotropic (D used)
! NE -- # of elastic constants --> 9 MAX
! NV -- # of viscoplastic constants --> 19 MAX
! NEP -- Max # of elastic constants (to dimension arrays)
! NVP -- Max # of viscoplastic constants (to dimension arrays)
! NMTS -- Total number of materials
!
! ** Expected On Exit **
! DNEW(6, 6) -- Current elastic material stiffness matrix
!=======================================================================!
!
! NOTE: In the examples shown here, standard engineering material
! elastic constants (E, nu) are used. However, the user is
! free to employ any material elastic constants with his
! constitutive model (i.e., bulk modulus, etc.). Thus, the
! user must provide the equations to determine the stiffness
! components required by GMC from his elastic constants.
!
! NOTE: To use your own code within this subroutine, this subroutine
! must be compiled and linked with the MAC/GMC 4.0 library file
! mac4.lib
!
! ** IT IS THE USER'S RESPONSIBILITY TO ENSURE THAT THE USER'S CODE **
! ** FUNCTIONS PROPERLY AND THAT THE DESIRED CODE IS ACTUALLY BEING **
! ** EXECUTED **
!
!=======================================================================!
IMPLICIT DOUBLE PRECISION (A - H, O - Z)
DIMENSION DNEW(6, 6)
DIMENSION PEM(NEP, NMTS), PVM(NVP, NMTS)
DIMENSION D(3)
LOGICAL D_MODEL
!***********************************************************************
!* BEGIN USER EDITS *
!***********************************************************************
! -- Consider placing your own message here to ensure that your code is
! being executed
IF (TIME .EQ. 0.D0) THEN
WRITE(NIO, *) '*** NOTE: Default USRFORMDE routine being executed ***'
WRITE(NIO, *) ' Material number', MN
WRITE(*, *) '*** NOTE: Default USRFORMDE routine being executed ***'
WRITE(*, *) ' Material number', MN
ENDIF
! -- Obtain material properties from storage
E = PEM(1, MN)
FN = PEM(2, MN)
GA = E / (2. * (1. + FN))
! -- Zero the stiffness matrix
DO I = 1, 6
DO J = 1, 6
DNEW(I, J) = 0
END DO
END DO
! -- Determine the stiffness components
GT = 0.5 * E / (1 + FN)
FK = 0.25 * E / (0.5 * (1 - FN) - FN**2)
DNEW(1, 1) = E + 4.0 * FK * FN**2
DNEW(2, 1) = 2.0 * FK * FN
DNEW(3, 1) = 2.0 * FK * FN
DNEW(1, 2) = 2.0 * FK * FN
DNEW(2, 2) = FK + GT
DNEW(3, 2) = FK - GT
DNEW(1, 3) = 2.0 * FK * FN
DNEW(2, 3) = FK - GT
DNEW(3, 3) = FK + GT
DNEW(4, 4) = GT
DNEW(5, 5) = GA
DNEW(6, 6) = GA
!***********************************************************************
! END USER EDITS *
!***********************************************************************
RETURN
END
! *** EOF ***
usrfun.F90
!#######################################################################
SUBROUTINE USRFUN(NIO, MN, TIME, TSTEP, CTEMP, DTEMPR, SA, DSA, &
DOLD, PEM, PVM, D, D_MODEL, ALPA, ALPT, &
NE, NV, NMTS, NEP, NVP, NSASIZE, SU1, SU2, N1, N2, &
ZDAM, NZDAM, XFAILT, XFAILC, NCRIT, CYCTOT)
!=======================================================================
! Purpose: MAC/GMC 4.0 user-defined subroutine to allow elastic and
! viscoplastic material properties to be functions of temp
! or field variables.
!
! This subroutine is called when one or more constituent
! materials employ user-defined functional form material
! properties, that is, when:
! (MATID .eq. 'U') .and. (MATDB = 2)
!
! Reference: MAC/GMC 4.0 Keywords Manual Section 2, MAC/GMC 4.0
! Example Manual (Example 2f)
!
! Called From: GETCON
! Subs Called:
!=======================================================================
! ** On Entry **
! NIO -- Unit number of MAC/GMC 4.0 output (.out) file
! MN -- Constituent material number
! TIME -- Current time
! TSTEP -- Current time step size
! CTEMP -- Current temperature
! DTEMPR -- Time rate of change of temperature
! SA -- Vector of total (integrated) quantities (see below)
! DSA -- Vector of quantity increments (see below)
! DOLD(6, 6) -- Previous elastic material stiffness matrix for material
! PEM(NE, MN) -- Vector of previous elastic constants for material
! # MN (where NE = # of elastic constants --> 9 MAX)
! PVM(NV, MN) -- Vector of previous viscoplastic constants for
! material # MN
! (where NV = # of viscoplastic constants --> 19 MAX)
! NMTS -- Total number of constituent materials
! NEP -- Max # of elastic constants (to dimension arrays)
! NVP -- Max # of viscoplastic constants (to dimension arrays)
! NSASIZE -- Length of the SA and DSA vectors (for dimensioning)
! NCRIT -- Number of failure criteria (for dimensioning)
! CYCTOT -- Current total number of cycles in damage analysis
!
! ** Expected On Exit **
! PEM(NE, MN) -- Vector of current elastic constants for material MN
! PVM(NV, MN) -- Vector of current viscoplastic constants for
! material MN
! D(3) -- Vector of direction cosines of normal to plane of
! trans. isotropy (required for models 3, 7, & 9)
! D_MODEL -- Flag indicating if material # MN exhibits local
! transverse isotropy with global anisotropy
! = .FALSE. - material is at most globally transversely
! isotropic (D not used)
! = .TRUE. - material is locally transversely
! isotropic (D used)
! ALPA(MN) -- Longitudinal cte for material MN
! ALPT(MN) -- Transverse cte for material MN
! NE -- Number of elastic properties used
! NV -- Number of viscoplastic properties used
!
! -------------- Strength reduction fatigue damage model ---------------
! SU1(MN, I) -- Material damage property (component I)
! SU2(MN, I) -- Material damage property (component I)
! N1(MN, I) -- Material damage property (component I)
! N2(MN, I) -- Material damage property (component I)
!
! -------------- Stiffness reduction fatigue damage model --------------
! ZDAM(MN,20) -- Material damage properties: (see manual)
! ZDAM(MN, 1) = ANG
! ZDAM(MN, 2) = BN
! ZDAM(MN, 3) = BP
! ZDAM(MN, 4) = OMU
! ZDAM(MN, 5) = OMFL
! ZDAM(MN, 6) = OMM
! ZDAM(MN, 7) = ETU
! ZDAM(MN, 8) = ETFL
! ZDAM(MN, 9) = ETM
! ZDAM(MN, 10) = BE
! ZDAM(MN, 11) = * empty *
! ZDAM(MN, 12) = A_hat
! ZDAM(MN, 13) = SFL
! ZDAM(MN, 14) = XML
! ZDAM(MN, 15) = SU
! ZDAM(MN, 16-20) = open space
! NZDAM(MN) -- SK - Flag to skip damage calculations for material
! = 0 - Perform damage calculations
! = 1 - Skip damage calculations
!
! ------------------ Local (subcell) failure model -------------------
! XFAILT -- Tensile failure properties (Xij), material #MN,
! (MN,ICRIT,I) criterion #ICRIT, component #I
! XFAILC -- Compressive failure properties (XCij), material #MN,
! (MN,ICRIT,I) criterion #ICRIT, component #I
!
!=======================================================================
!
! NOTE: This routine can be used in conjunction with an internal
! material constitutive model, or a constitutive model input by
! the user in the USRMAT subroutine
!
! NOTE: In this subroutine, [SA] and [DSA] contain the
! micro (subcell) quantities for the micromechanics model
!
! Arrangement of [DSA] & [SA] arrays:
!
! variable location
! +------------------------------------------------------------
! | total strain (1-6) (contains ENGINEERING shears)
! |------------------------------------------------------------
! | stress (7-12)
! |------------------------------------------------------------
! | inelastic strain (13-18) (contains ENGINEERING shears)
! |------------------------------------------------------------
! | 12 "slots" (19-30)
! | for state variables
! |------------------------------------------------------------
! | thermal strain (31-36) (contains ENGINEERING shears)
! |------------------------------------------------------------
! | Rn & Rt debond (37 - Rn, 11 face)
! | parameters (38 - Rn, 22 face)
! | (39 - Rn, 33 face)
! | (40 - Rt, 11 face)
! | (41 - Rt, 22 face)
! | (42 - Rt, 33 face)
! +------------------------------------------------------------
!
!
! NOTE: quantities in [SA] and [DSA] are SUBCELL quantities - the
! values on entry are for the first subcell containing material
! # MN - the values on exit of this subroutine will be applied to
! ALL SUBCELLS containing material # MN. It is thus recommended
! that, if using the field variables, you assign the appropriate
! material # to ONE SUBCELL ONLY. Use of [SA] and [DSA] in this
! context in conjunction with bending in laminate theory will
! result in erroneous results as field variables become dependent
! on through-thickness position (while the material # does not).
!
! NOTE: To use your own code within this subroutine, this subroutine
! must be compiled and linked with the MAC/GMC 4.0 library file
! mac4.lib
!
! ** IT IS THE USER'S RESPONSIBILITY TO ENSURE THAT THE USER'S CODE **
! ** FUNCTIONS PROPERLY AND THAT THE DESIRED CODE IS ACTUALLY BEING **
! ** EXECUTED **
!
!=======================================================================
IMPLICIT DOUBLE PRECISION (A - H, O - Z)
DIMENSION DOLD(6, 6), D(3)
DIMENSION PEM(NEP, NMTS), PVM(NVP, NMTS)
DIMENSION ALPA(NMTS), ALPT(NMTS)
DIMENSION DSA(NSASIZE), SA(NSASIZE)
DIMENSION SU1(NMTS, 6),SU2(NMTS, 6)
DIMENSION N1(NMTS, 6),N2(NMTS, 6)
DIMENSION ZDAM(NMTS, 20), NZDAM(NMTS)
DIMENSION XFAILT(NMTS, NCRIT, 6), XFAILC(NMTS, NCRIT, 6)
LOGICAL D_MODEL
!=======================================================================
!***********************************************************************
! BEGIN USER EDITS *
!***********************************************************************
! -- Consider placing your own message here to ensure that your code is
! being executed
IF (TIME .EQ. 0.D0) THEN
WRITE(NIO, *) '*** NOTE: Default USRFUN routine being executed ***'
WRITE(NIO, *) ' material number', MN
WRITE(*, *) '*** NOTE: Default USRFUN routine being executed ***'
WRITE(*, *) ' Material number', MN
ENDIF
!-----------------------------------------------------------------------
! MATERIAL # 1: Elastic, E = function of strain & previous E
!-----------------------------------------------------------------------
IF (MN .EQ. 1) THEN
IF (SA(1) .GT. 0) THEN
EAOLD = PEM(1, MN)
EA = 700.E9 - EAOLD * SA(1) * 80.0
ELSE
EA = 700.E9
EAOLD = 700.E9
ENDIF
IF (EA .GT. EAOLD) THEN
WRITE(NIO, *) 'NON-PHYSICAL REGIME ENTERED'
STOP
ENDIF
EA = EA
ET = EA
FNA = 0.41
FNT = 0.41
GA = EA / (2.0 * (1.0 + FNA))
ALPA(MN) = 4.5E-6
ALPT(MN) = 4.5E-6
NE = 5
PEM(1, MN) = EA
PEM(2, MN) = ET
PEM(3, MN) = FNA
PEM(4, MN) = FNT
PEM(5, MN) = GA
EA = EA
ET = EA
FNA = 0.41
FNT = 0.41
GA = EA / (2.0 * (1.0 + FNA))
ALPA(MN) = 4.5E-6
ALPT(MN) = 4.5E-6
NE = 5
PEM(1, MN) = EA
PEM(2, MN) = ET
PEM(3, MN) = FNA
PEM(4, MN) = FNT
PEM(5, MN) = GA
!-----------------------------------------------------------------------
! MATERIAL # 2: Incremental plasticity with strain rate dependence
!-----------------------------------------------------------------------
ELSEIF (MN .EQ. 2) THEN
EA = 13161.
ET = EA
FNA = 0.26
FNT = 0.26
GA = EA / (2.0 * (1.0 + FNA))
ALPA(MN) = 9.00E-6
ALPT(MN) = 9.00E-6
NE = 5
PEM(1, MN) = EA
PEM(2, MN) = ET
PEM(3, MN) = FNA
PEM(4, MN) = FNT
PEM(5, MN) = GA
NP = 3
NV = 2 * NP + 1
STRAIN_RATE = 0.4714 * (DSQRT((DSA(1) - DSA(2))**2 + (DSA(1) - DSA(3))**2 + &
(DSA(2) - DSA(3))**2 + 1.5 * DSA(4)**2 + &
1.5 * DSA(5)**2 + 1.5 * DSA(6)**2)) / TSTEP
IF (STRAIN_RATE .GT. 1.E-2) STRAIN_RATE = 1.E-2
IF (STRAIN_RATE .LT. 1.E-7) THEN
SY = 70.
S1 = 80.
S2 = 84.
S3 = 87.
ELSE
SY = 70. + 3. * LOG(1.E7*STRAIN_RATE)
S1 = SY + 10. * SY / 70.
S2 = SY + 14. * SY / 70.
S3 = SY + 17. * SY / 70.
ENDIF
E1=0.01
E2=0.015
E3=0.2
PVM(1, MN) = SY
PVM(2, MN) = S1
PVM(3, MN) = S2
PVM(4, MN) = S3
PVM(5, MN) = E1
PVM(6, MN) = E2
PVM(7, MN) = E3
!-----------------------------------------------------------------------
! MATERIAL # 3: properties = linear function of temperature
! for use with user constitutive model (actually b-p)
!-----------------------------------------------------------------------
ELSEIF (MN .EQ. 3) THEN
IF (CTEMP .LT. 21.0) CTEMP = 21.0
IF (CTEMP .GT. 400.) CTEMP = 400.
! -- Elastic
E = 72.4E9 - 81.53E6 * (CTEMP - 21.)
FN = 0.33 + 7.916E-5 * (CTEMP - 21.)
ALP = 22.5E-6 + 3.958E-9 * (CTEMP - 21.)
NE = 5
PEM(1, MN) = E
PEM(2, MN) = E
PEM(3, MN) = FN
PEM(4, MN) = FN
PEM(5, MN) = E / (2. * (1. + FN))
ALPA(MN) = ALP
ALPT(MN) = ALP
! -- Viscoplastic (Bodner-Partom)
D0 = 1.E4
Z0 = 340.E6
Z1 = 435.E6
BM = 300.0
AN = 10.0 - 0.02493 * (CTEMP - 21.)
Q = 1.0
NV = 6
PVM(1, MN) = D0
PVM(2, MN) = Z0
PVM(3, MN) = Z1
PVM(4, MN) = BM
PVM(5, MN) = AN
PVM(6, MN) = Q
!-----------------------------------------------------------------------
! MATERIAL # 4: Fiber (NCMD = 6) with local failure = funct of temp
!-----------------------------------------------------------------------
ELSEIF (MN .EQ. 4) THEN
PEM(1, MN) = 58.E3
PEM(2, MN) = 58.E3
PEM(3, MN) = 0.25
PEM(4, MN) = 0.25
PEM(5, MN) = 23.2E3
ALPA(MN) = 3.5E-6
ALPT(MN) = 3.5E-6
! -- Note: *SUBCELL_FAILURE must be specified in the input file to
! enable local failure checking. Any failure properties
! specified here will replace those specified in the input file
XFAILT(MN, 1, 1) = 3500. - 1.8 * (CTEMP - 21.)
!-----------------------------------------------------------------------
! MATERIAL #5: Matrix (NCMD = 6) with damage
!-----------------------------------------------------------------------
ELSEIF (MN .EQ. 5) THEN
PEM(1, MN) = 12770.
PEM(2, MN) = 12770.
PEM(3, MN) = 0.32
PEM(4, MN) = 0.32
PEM(5, MN) = PEM(1, MN)/(2. * (1.+ PEM(3, MN)))
ALPA(MN) = 21.06E-6
ALPT(MN) = 21.06E-6
! -- Note: *DAMAGE must be specified in the input file to enable fatigue
! damage analysis. Any damage properties specified here will
! replace those specified in the input file
ZDAM(MN, 1) = 0.
ZDAM(MN, 2) = 0.
ZDAM(MN, 3) = 0.
ZDAM(MN, 4) = 1.
ZDAM(MN, 5) = 1.
ZDAM(MN, 6) = 1.
ZDAM(MN, 7) = 1.
ZDAM(MN, 8) = 1.
ZDAM(MN, 9) = 1.
ZDAM(MN, 10)= 2.27
ZDAM(MN, 11) = 0
ZDAM(MN, 12) = 0.2302
ZDAM(MN, 13) = 20.3
ZDAM(MN, 14) = 900.
ZDAM(MN, 15) = 128.
NZDAM(MN) = 0
ENDIF
!***********************************************************************
! END USER EDITS *
!***********************************************************************
RETURN
END
! *** EOF ***
sample_material_database.mat
Sample Material Database Provided with MAC/GMC 4.0
#
# ------- Bodner-Partom Model Material
MAT=copper
CMOD=1
EL=120.E9,120.E9,0.33,0.33,45.11E9,14.7E-6,14.7E-6 &
VI=1.E4,63.E6,250.E6,8.19,7.5,0.55
#
# ------- Isotropic, Elastic Materials
MAT=SCS-6
CMOD=6
NTP=5
TEM=21.0,316.0,427.0,538.0,860.0
EA=393.E9,382.E9,378.E9,374.E9,368.E9
ET=393.E9,382.E9,378.E9,374.E9,368.E9
NUA=0.25,0.25,0.25,0.25,0.25
NUT=0.25,0.25,0.25,0.25,0.25
GA=157.2E9,152.8E9,151.2E9,149.6E9,147.2E9
ALPA=3.56E-6,3.73E-6,3.91E-6,4.07E-6,4.57E-6
ALPT=3.56E-6,3.73E-6,3.91E-6,4.07E-6,4.57E-6
#
# ------- User constitutive model example
MAT=Al(6061-0)
CMOD=99
NPE=2 NPV=6
NTP=6
TEM=21.0,148.9,204.4,260.0,371.1,400.0
E1=72.5E9,69.4E9,65.8E9,58.5E9,41.5E9,41.5E9
E2=0.33,0.33,0.33,0.33,0.33,0.33
ALPA=22.5E-6,22.5E-6,22.5E-6,22.5E-6,22.5E-6,22.5E-6
ALPT=22.5E-6,22.5E-6,22.5E-6,22.5E-6,22.5E-6,22.5E-6
V1=1.E4, 1.E4, 1.E4, 1.E4, 1.E4, 1.E4
V2=100.E6,100.E6,100.E6,100.E6,100.E6,100.E6
V3=190.E6,190.E6,190.E6,190.E6,190.E6,190.E6
V4=70.0,70.0,70.0,70.0,70.0,70.0
V5=10.0,7.0,4.0,1.6,0.55,0.55
V6=0.4,0.4,0.4,0.4,0.4,0.4
MATLAB source files for generation of fringe plots
stress.m
%------------------------------------------------------------------%
% stress.m MATLAB source file %
%------------------------------------------------------------------%
%
% Distributed with MAC/GMC 4.0
%
% This program will generate fringe plots with the MATLAB software
% from the data written to ASCII files by MAC/GMC 4.0 using the
% *MATLAB option
%
% This program reads the file sig.dat, which contains 8 columns:
% S11 S22 S33 S23 S13 S12 Smean Seff
%
% NOTE: Smean = (S11 + S22 + S33) / 3.
% Seff = sqrt(3*sij*sij/2) (sij = deviatoric stresses)
% = [1/sqrt(2)] * sqrt[(S11 - S22)**2 + (S22 - S33)**2 +
% (S11 - S33)**2 + 6*(S23**2 + S13**2 + S12**2)]
%
% While the ASCII output files from MAC/GMC 4.0 contain data for
% all specified times (and integration points for laminate), the
% sig.dat file should contain just the stress field data for the
% one particular time (and integration point) at which the fringe
% plots will be made.
%
% In addition, this program reads the files x2.dat and x3.dat,
% which are also generated by MAC/GMC 4.0 to define the subcell
% grid. Note that this grid will differ between GMC and HFGMC.
%
%------------------------------------------------------------------%
% -- Clear workspace
clear;
%------------------------------------------------------------------
% USER OPTIONS
%------------------------------------------------------------------
% -- Select stress components to plot (1 - plot, 0 - don't plot)
ns11 = 1;
ns22 = 1;
ns33 = 1;
ns23 = 1;
ns13 = 1;
ns12 = 1;
nsm = 1;
nse = 1;
% -- Select subplot (all on one Fig.) or individual Figs.
% nsub = 1 --> subplot
% nsub = 0 --> individual Figs.
nsub = 0;
% -- Set scale_spec = 1 to specify scale high and low values for each
% component - set values below
scale_spec = 0;
if scale_spec > 0
s11_low = -200;
s11_high = 500;
s22_low = -200;
s22_high = 500;
s33_low = -200;
s33_high = 500;
s23_low = -200;
s23_high = 500;
s13_low = -200;
s13_high = 500;
s12_low = -200;
s12_high = 500;
sm_low = -200;
sm_high = 500;
se_low = -200;
se_high = 500;
end
% -- Set average = 1 to perform averaging of tractions across subcell
% boundaries. This reproduces the average sense imposition of the
% traction continuity conditions in HFGMC.
% -- Set average = 0 for no averaging. Use average = 0 for GMC.
average = 0;
% -- Set nint = number of integration points in HFGMC when average = 1
if average > 0
nint = 11;
end
% -- Note: To draw subcell boundaries, change "shading interp"
% to "shading faceted" (GMC only)
%------------------------------------------------------------------
% END USER OPTIONS
%------------------------------------------------------------------
% -- Load x1.dat and x2.dat files and determine their sizes
load x2.dat;
m = length(x2);
load x3.dat;
n = length(x3);
% -- Create grid
[X,Y] = meshgrid(x3,x2);
% -- Load sig.dat file
load sig.dat;
f=1;
for i=1:m;
for j=1:n;
sig11(i,j) = sig(f,1);
sig22(i,j) = sig(f,2);
sig33(i,j) = sig(f,3);
sig23(i,j) = sig(f,4);
sig13(i,j) = sig(f,5);
sig12(i,j) = sig(f,6);
sigmean(i,j) = sig(f,7);
sigeff(i,j) = sig(f,8);
f=f+1;
end
end
%------------------------------------------------------------------
% Section to average boundary tractions
%------------------------------------------------------------------
if average > 0
Nbeta =length(x2)/nint;
for j=1:n
for i=1:Nbeta-1;
sig22(nint*i,j) = 0.5*(sig22(nint*i,j) + sig22(nint*i+1,j));
sig22(nint*i+1,j) = sig22(nint*i,j);
sig23(nint*i,j) = 0.5*(sig23(nint*i,j) + sig23(nint*i+1,j));
sig23(nint*i+1,j) = sig23(nint*i,j);
end
end
Ngama = length(x3)/nint;
for i=1:m
for j=1:Ngama-1;
sig33(i,nint*j) = 0.5*(sig33(i,nint*j) + sig33(i,nint*j+1));
sig33(i,nint*j+1) = sig33(i,nint*j);
sig23(i,nint*j) = 0.5*(sig23(i,nint*j) + sig23(i,nint*j+1));
sig23(i,nint*j+1) = sig23(i,nint*j);
end
end
end
%------------------------------------------------------------------
if nsub > 0
num_plots = ns11 + ns22 + ns33 + ns23 + ns12 + ns13 + nsm + nse;
if num_plots == 1
n1 = 2;
n2 = 2;
elseif num_plots == 2
n1 = 2;
n2 = 2;
elseif num_plots == 3
n1 = 2;
n2 = 2;
elseif num_plots == 4
n1 = 2;
n2 = 2;
elseif num_plots == 5
n1 = 3;
n2 = 3;
elseif num_plots == 6
n1 = 3;
n2 = 3;
elseif num_plots == 7
n1 = 3;
n2 = 3;
elseif num_plots == 8
n1 = 3;
n2 = 3;
end
end
num = 0;
if nsub > 0
figure;
hold on;
end
%------------------------------------------------------------------
% -- S11 plot
%------------------------------------------------------------------
if ns11 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,sig11), shading interp;
axis image;
if scale_spec > 0
caxis([s11_low s11_high]);
end
colorbar;
title('\bf\fontsize{24}\sigma\fontsize{14}_1_1');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- S22 plot
%------------------------------------------------------------------
if ns22 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,sig22), shading interp;
axis image;
if scale_spec > 0
caxis([s22_low s22_high]);
end
colorbar;
title('\bf\fontsize{24}\sigma\fontsize{14}_2_2');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- S33 plot
%------------------------------------------------------------------
if ns33 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,sig33), shading interp;
axis image;
if scale_spec > 0
caxis([s33_low s33_high]);
end
colorbar;
title('\bf\fontsize{24}\sigma\fontsize{14}_3_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- S23 plot
%------------------------------------------------------------------
if ns23 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,sig23), shading interp;
axis image;
if scale_spec > 0
caxis([s23_low s23_high]);
end
colorbar;
title('\bf\fontsize{24}\sigma\fontsize{14}_2_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- S13 plot
%------------------------------------------------------------------
if ns13 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,sig13), shading interp;
axis image;
if scale_spec > 0
caxis([s13_low s13_high]);
end
colorbar;
title('\bf\fontsize{24}\sigma\fontsize{14}_1_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- S12 plot
%------------------------------------------------------------------
if ns12 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,sig12), shading interp;
axis image;
if scale_spec > 0
caxis([s12_low s12_high]);
end
colorbar;
title('\bf\fontsize{24}\sigma\fontsize{14}_1_2');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- Smean plot
%------------------------------------------------------------------
if nsm > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,sigmean), shading interp;
axis image;
if scale_spec > 0
caxis([sm_low sm_high]);
end
colorbar;
title('\bf\fontsize{24}\sigma\fontsize{14}_m_e_a_n');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- Seff plot
%------------------------------------------------------------------
if nse > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,sigeff), shading interp;
axis image;
if scale_spec > 0
caxis([se_low se_high]);
end
colorbar;
title('\bf\fontsize{24}\sigma\fontsize{14}_e_f_f');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
clear;
break
% -- End of file
strain.m
%------------------------------------------------------------------%
% strain.m MATLAB source file %
%------------------------------------------------------------------%
%
% Distributed with MAC/GMC 4.0
%
% This program will generate fringe plots with the MATLAB software
% from the data written to ASCII files by MAC/GMC 4.0 using the
% *MATLAB option
%
% This program reads the file epsp.dat, which contains 6 columns:
% e11 e22 e33 e23 e13 e12
%
% ** NOTE: shear strains are engineering shears **
%
% While the ASCII output files from MAC/GMC 4.0 contain data for
% all specified times (and integration points for laminate), the
% eps.dat file should contain just the strain field data for the
% one particular time (and integration point) at which the fringe
% plots will be made.
%
% In addition, this program reads the files x2.dat and x3.dat,
% which are also generated by MAC/GMC 4.0 to define the subcell
% grid. Note that this grid will differ between GMC and HFGMC.
%
%------------------------------------------------------------------%
% -- Clear workspace
clear;
%------------------------------------------------------------------
% USER OPTIONS
%------------------------------------------------------------------
% -- Select strain components to plot (1 - plot, 0 - don't plot)
ne11 = 1;
ne22 = 1;
ne33 = 1;
ne23 = 1;
ne13 = 1;
ne12 = 1;
% -- Select subplot (all on one Fig.) or individual Figs.
% nsub = 1 --> subplot
% nsub = 0 --> individual Figs.
nsub = 0
% -- Set scale_spec = 1 to specify scale high and low values for each
% component - set values below
scale_spec = 0;
if scale_spec > 0
e11_low = -0.020;
e11_high = 0.025;
e22_low = -0.020;
e22_high = 0.025;
e33_low = -0.020;
e33_high = 0.025;
e23_low = -0.020;
e23_high = 0.025;
e13_low = -0.020;
e13_high = 0.025;
e12_low = -0.020;
e12_high = 0.025;
end
% -- Note: To draw subcell boundaries, change "shading interp"
% to "shading faceted" (GMC only)
%------------------------------------------------------------------
% END USER OPTIONS
%------------------------------------------------------------------
% -- Load x1.dat and x2.dat files and determine their sizes
load x2.dat;
m = length(x2);
load x3.dat;
n = length(x3);
% -- Create grid
[X,Y] = meshgrid(x3,x2);
% Load eps.dat file
load eps.dat;
f=1;
for i=1:m;
for j=1:n;
eps11(i,j) = eps(f,1);
eps22(i,j) = eps(f,2);
eps33(i,j) = eps(f,3);
eps23(i,j) = eps(f,4);
eps13(i,j) = eps(f,5);
eps12(i,j) = eps(f,6);
f=f+1;
end
end
%------------------------------------------------------------------
if nsub > 0
num_plots = ne11 + ne22 + ne33 + ne23 + ne12 + ne13;
if num_plots == 1
n1 = 2;
n2 = 2;
elseif num_plots == 2
n1 = 2;
n2 = 2;
elseif num_plots == 3
n1 = 2;
n2 = 2;
elseif num_plots == 4
n1 = 2;
n2 = 2;
elseif num_plots == 5
n1 = 3;
n2 = 3;
elseif num_plots == 6
n1 = 3;
n2 = 3;
end
end
num = 0;
if nsub > 0
figure;
hold on;
end
%------------------------------------------------------------------
% -- e11 plot
%------------------------------------------------------------------
if ne11 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps11), shading interp;
axis image;
if scale_spec > 0
caxis([e11_low e11_high]);
end
colorbar;
title('\bf\fontsize{24}\epsilon\fontsize{14}_1_1');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- e22 plot
%------------------------------------------------------------------
if ne22 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps22), shading interp;
axis image;
if scale_spec > 0
caxis([e22_low e22_high]);
end
colorbar;
title('\bf\fontsize{24}\epsilon\fontsize{14}_2_2');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- ep33 plot
%------------------------------------------------------------------
if ne33 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps33), shading interp;
axis image;
if scale_spec > 0
caxis([e33_low e33_high]);
end
colorbar;
title('\bf\fontsize{24}\epsilon\fontsize{14}_3_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- e23 plot
%------------------------------------------------------------------
if ne23 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps23), shading interp;
axis image;
if scale_spec > 0
caxis([e23_low e23_high]);
end
colorbar;
title('\bf\fontsize{24}\gamma\fontsize{14}_2_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- e13 plot
%------------------------------------------------------------------
if ne13 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps13), shading interp;
axis image;
if scale_spec > 0
caxis([e13_low e13_high]);
end
colorbar;
title('\bf\fontsize{24}\gamma\fontsize{14}_1_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- e12 plot
%------------------------------------------------------------------
if ne12 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps12), shading interp;
axis image;
if scale_spec > 0
caxis([e12_low e12_high]);
end
colorbar;
title('\bf\fontsize{24}\gamma\fontsize{14}_1_2');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
clear;
break
% -- End of file
epsp.m
%------------------------------------------------------------------%
% epsp.m MATLAB source file %
%------------------------------------------------------------------%
%
% Distributed with MAC/GMC 4.0
%
% This program will generate fringe plots with the MATLAB software
% from the data written to ASCII files by MAC/GMC 4.0 using the
% *MATLAB option
%
% This program reads the file epsp.dat, which contains 8 columns:
% ep11 ep22 ep33 ep23 ep13 ep12 ep_eq matnum
%
% ** NOTE: inelastic shear strains are engineering shears **
%
% NOTE: In the case of incremental plasticity constit model,
% ep_eq is the integrated equivalent plastic strain increment
% where dep_eq = sqrt(2*deijp*deijp/3)
% For other constit models, ep_eq = sqrt(2*eijp*eijp/3)
% see Mendelson, A. (1968) Plasticity: Theory and Application.
%
% While the ASCII output files from MAC/GMC 4.0 contain data for
% all specified times (and integration points for laminate), the
% epsp.dat file should contain just the inelastic strain field data
% for the one particular time (and integration point) at which the
% fringe plots will be made.
%
% In addition, this program reads the files x2.dat and x3.dat,
% which are also generated by MAC/GMC 4.0 to define the subcell
% grid. Note that this grid will differ between GMC and HFGMC.
%
%------------------------------------------------------------------%
% -- Clear workspace
clear;
%------------------------------------------------------------------
% USER OPTIONS
%------------------------------------------------------------------
% -- Select inelastic strain components to plot (1 - plot, 0 - don't plot)
nep11 = 1;
nep22 = 1;
nep33 = 1;
nep23 = 1;
nep13 = 1;
nep12 = 1;
nepeq = 1;
nmatn = 1;
% -- Select subplot (all on one Fig.) or individual Figs.
% nsub = 1 --> subplot
% nsub = 0 --> individual Figs.
nsub = 0;
% -- Set scale_spec = 1 to specify scale high and low values for each
% component - set values below
scale_spec = 1;
if scale_spec > 0
ep11_low = -0.005;
ep11_high = 0.015;
ep22_low = -0.005;
ep22_high = 0.015;
ep33_low = -0.005;
ep33_high = 0.015;
ep23_low = -0.005;
ep23_high = 0.015;
ep13_low = -0.005;
ep13_high = 0.015;
ep12_low = -0.005;
ep12_high = 0.015;
epeq_low = 0.0;
epeq_high = 0.03;
matn_low = 0;
matn_high = 4;
end
% -- Note: To draw subcell boundaries, change "shading interp"
% to "shading faceted" (GMC only)
%------------------------------------------------------------------
% END USER OPTIONS
%------------------------------------------------------------------
% -- Load x1.dat and x2.dat files and determine their sizes
load x2.dat;
m = length(x2);
load x3.dat;
n = length(x3);
% -- Create grid
[X,Y] = meshgrid(x3,x2);
% Load epsp.dat file
load epsp.dat;
f=1;
for i=1:m;
for j=1:n;
eps11p(i,j) = epsp(f,1);
eps22p(i,j) = epsp(f,2);
eps33p(i,j) = epsp(f,3);
eps23p(i,j) = epsp(f,4);
eps13p(i,j) = epsp(f,5);
eps12p(i,j) = epsp(f,6);
epspq(i,j) = epsp(f,7);
matnum(i,j) = epsp(f,8);
f=f+1;
end
end
%------------------------------------------------------------------
if nsub > 0
num_plots = nep11 + nep22 + nep33 + nep23 + nep12 + nep13 + nepeq + nmatn;
if num_plots == 1
n1 = 2;
n2 = 2;
elseif num_plots == 2
n1 = 2;
n2 = 2;
elseif num_plots == 3
n1 = 2;
n2 = 2;
elseif num_plots == 4
n1 = 2;
n2 = 2;
elseif num_plots == 5
n1 = 3;
n2 = 3;
elseif num_plots == 6
n1 = 3;
n2 = 3;
elseif num_plots == 7
n1 = 3;
n2 = 3;
elseif num_plots == 8
n1 = 3;
n2 = 3;
end
end
num = 0;
if nsub > 0
figure;
hold on;
end
%------------------------------------------------------------------
% -- ep11 plot
%------------------------------------------------------------------
if nep11 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps11p), shading interp;
axis image;
if scale_spec > 0
caxis([ep11_low ep11_high]);
end
colorbar;
title('\bf\fontsize{24}\epsilon\fontsize{14}^p_1_1');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- ep22 plot
%------------------------------------------------------------------
if nep22 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps22p), shading interp;
axis image;
if scale_spec > 0
caxis([ep22_low ep22_high]);
end
colorbar;
title('\bf\fontsize{24}\epsilon\fontsize{14}^p_2_2');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- ep33 plot
%------------------------------------------------------------------
if nep33 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps33p), shading interp;
axis image;
if scale_spec > 0
caxis([ep33_low ep33_high]);
end
colorbar;
title('\bf\fontsize{24}\epsilon\fontsize{14}^p_3_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- ep23 plot
%------------------------------------------------------------------
if nep23 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps23p), shading interp;
axis image;
if scale_spec > 0
caxis([ep23_low ep23_high]);
end
colorbar;
title('\bf\fontsize{24}\gamma\fontsize{14}^p_2_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- ep13 plot
%------------------------------------------------------------------
if nep13 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps13p), shading interp;
axis image;
if scale_spec > 0
caxis([ep13_low ep13_high]);
end
colorbar;
title('\bf\fontsize{24}\gamma\fontsize{14}^p_1_3');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- ep12 plot
%------------------------------------------------------------------
if nep12 > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,eps12p), shading interp;
axis image;
if scale_spec > 0
caxis([ep12_low ep12_high]);
end
colorbar;
title('\bf\fontsize{24}\gamma\fontsize{14}^p_1_2');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- ep_eq plot
%------------------------------------------------------------------
if nepeq > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,epspq), shading interp;
axis image;
if scale_spec > 0
caxis([epeq_low epeq_high]);
end
colorbar;
title('\bf\fontsize{24}\epsilon\fontsize{14}^p_e_q');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
%------------------------------------------------------------------
% -- matnum plot
%------------------------------------------------------------------
if nmatn > 0
num = num + 1;
if nsub > 0
subplot(n1,n2,num);
else
figure;
hold on;
end
colormap(jet);
pcolor(X,Y,matnum), shading interp;
axis image;
if scale_spec > 0
caxis([matn_low matn_high]);
end
colorbar;
title('\bf\fontsize{20}materials');
xlabel('\bfx_3');
ylabel('\bfx_2','rotation',0);
end
clear;
break
% -- End of file
Keywords
*ALLOWABLES, 80
*CHECK, 13
*CONDUCTIVITY, 14
*CONSTITUENTS, 21
*CURTIN, 98
*DAMAGE, 88
*DEBOND, 94
*ELECTROMAG, 16
*END, 113
*FAILURE_CELL, 86
*FAILURE_SUBCELL, 83
*LAMINATE, 60
*MATLAB, 110
*MDBPATH, 19
*MECH, 66
*PATRAN, 108
*PRINT, 101
*RUC, 48
*SOLVER, 72
*SURF, 76
*THERM, 70
*XYPLOT, 102
A
A=, 49, 89, 90
ACTION=, 83, 84, 85, 86, 87, 98, 99
Adams-Bashforth, 74
ALF1=, 31, 33
ALF2=, 31, 33
ALF3=, 31, 33
ALF4=, 31, 33
ALF5=, 31, 33
ALF6=, 31, 33
all subcells, 80, 91
allowables, 1, 5, 79, 80, 81, 82, 83
ALPA=, 26, 29, 30, 34, 35, 41, 43, 129
ALPT=, 26, 29, 30, 34, 35, 41, 43, 129
aluminum, 39, 129
ANG=, 60, 61, 62, 63, 89, 90
ANGINC=, 76
anisotropic, 3, 5, 21, 30, 32
arbitrary loading, 17
ARCHID=, 11, 48, 49, 50, 51, 56, 58, 60, 61, 62, 63
architecture, 1, 2, 45, 48, 49, 50, 51, 57, 60, 61, 62, 100, 101
architecture library, 48, 49, 51, 61
array dimensions, 13
AS=, 41, 43
ASCII files, 3, 9, 10, 100, 101, 130, 136, 141
ASP=, 49, 50, 61
ASP1=, 49, 61
ASP2=, 49, 61
aspect ratio, 50, 51
average material, 80
B
B=, 49
BDN=, 94, 96
BDS=, 94, 96
BE=, 89, 90
BLOCK=, 89, 90, 92
BN=, 89, 90, 94, 96
Bodner-Partom, 3, 21, 24, 28, 39, 118, 127, 129
bond strength, 94
BP=, 89, 90
BS=, 94, 96
build, 10
C
C=, 49
C11=, 31, 32
C12=, 31, 32
C13=, 31, 32
C14=, 31, 32
C15=, 31, 32
C16=, 31, 32
C22=, 31, 32
C23=, 31, 32
C24=, 31, 32
C25=, 31, 32
C26=, 31, 32
C33=, 31, 32
C34=, 31, 32
C35=, 31, 32
C36=, 31, 32
C44=, 31, 32
C45=, 31, 33
C46=, 31, 33
C55=, 31, 33
C56=, 31, 33
C66=, 31, 33
characteristic length, 98, 99
characterization, 27, 28, 99
check input file, 12
CMOD=, 11, 16, 22, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36, 37, 39, 40, 41, 43, 129
coefficient of thermal expansion, 27, 32, 34, 42
Coffin-Manson Law, 88
command prompt, 7, 10
Compaq Visual Fortran, 9, 10
compile, 9, 10, 36, 38
COMPR=, 80, 81, 83, 84, 86, 87
concentration equations, 79
conductivity, 14, 27, 34, 36
consistency, 40
constant compliant interface (CCI) model, 94, 96
constitutive model, 2, 3, 5, 9, 16, 18, 21, 22, 23, 24, 25, 26, 28, 30, 33, 34, 36, 37, 38, 40, 44, 73, 116, 121, 124, 127, 129
controlling component, 77
controlling subcell, 88, 89
COORD=, 102, 103, 104
coordinate system, 103
copper, 39, 88, 129
creep time, 105, 106, 107, 109
cross shaped fiber, 50
Curtin model, 1, 4, 6, 79, 98, 99
cyclic, 79, 88, 91
D
D=, 22, 23, 26, 28, 29, 36, 41, 43, 44, 49, 56, 58, 59, 62, 63, 98, 99
damage, 1, 2, 6, 74, 79, 85, 87, 88, 89, 90, 91, 92, 93, 101, 116, 123, 124, 127, 128
damage increment, 88, 89, 91
damage parameter, 88, 89, 91
data output, 1, 100, 108, 110
DBCH=, 94, 96
debonded face, 95
debonding, 1, 2, 4, 6, 79, 91, 94, 96, 97, 107, 117, 124
debonding parameter, 94, 96, 99
debug, 10
DELAY=, 94, 96, 98, 99
design allowables, 80
DINC=, 89, 90
directory, 7, 8, 9, 10, 19, 104, 111
directory path, 8, 9, 19
dissipation rate, 76
DOS, 7, 10
DR=, 49, 61, 76
E
E1=, 33, 35, 126, 129
E11=, 80, 81
E12=, 80, 81
E13=, 80, 81
E2=, 33, 35, 126, 129
E22=, 80, 81
E23=, 80, 81
E33=, 80, 81
EA=, 26, 29, 30, 41, 43, 129
EC11=, 80, 81
EC22=, 80
EC33=, 80
effective constitutive equation, 64
effective properties, 11, 45, 101
EL=, 11, 26, 29, 30, 32, 33, 35, 39, 41, 43, 129
electric displacement, 66, 69, 106, 107
electric field, 66, 68, 69, 105, 106, 107
electromagnetic, 5, 12, 16, 17, 20, 41, 42, 43, 44, 45, 60, 61, 62, 63, 64, 65, 66, 69
electromagnetic specifier, 16, 17, 20, 44, 61, 63
electromagnetically active, 44, 61, 63, 69
EM=, 16, 17, 20, 41, 43, 44, 60, 61, 62, 63
embedded, 45
ending time, 71, 73
engineering shear strain, 64, 68, 82, 85, 87, 105, 106, 107
EPS=, 76
equivalent plastic strain, 76, 141
ERR=, 72, 73, 74, 75
errors, 73, 74
ES=, 41, 43
ES11=, 41, 43
ES12=, 41, 43
ES26=, 41, 43
ET=, 26, 29, 30, 41, 43, 129
ETFL=, 89, 90
ETM=, 89, 90
ETU=, 89, 90
evolution equations, 96
evolving compliant interface (ECI) model, 94
Example Problem Manual, 2, 3, 6, 7
executable file, 7, 9, 10, 36, 38
execution, 5, 8, 10, 12, 13, 16, 69, 75, 77, 84, 86, 88, 91, 98, 101, 108, 111
execution speed, 10
external material database, 1, 5, 9, 18, 19, 20, 22, 27, 32, 34, 37, 39, 40, 42, 115, 129
EXTMAT=, 39
F
F=, 11, 48, 49, 50, 51, 61, 63
FACE=, 94, 96
failure, 2, 5, 6, 79, 81, 83, 84, 85, 86, 87, 88, 91, 94, 98, 99, 101, 123, 124, 127
failure criteria, 5, 79, 83, 86, 123
failure parameters, 83, 84, 85, 86, 87
fatigue, 6, 74, 79, 85, 87, 88, 89, 90, 91, 92, 93, 101, 123, 124, 128
fatigue damage exponent, 90
fatigue limit, 90
FeCrAlY, 24
fiber breakage, 1, 4, 6, 79, 98, 99
fiber diameter, 50, 99
fiber fracture, 6, 98
fiber material, 51
fiber radius, 50
fiber strength, 6, 79, 98
fiber volume fraction, 51, 55
field variables, 38, 72, 73, 75, 123, 124, 125
first subcell, 80, 124
flag-type keywords, 12
force resultant, 66, 68, 76, 77, 105
FORTRAN, 9, 10
forward Euler, 65, 73, 77
Freed-Walker viscoplastic model, 3, 5, 21, 25, 28
FREQ=, 102, 103
fringe plots, 1, 4, 6, 100, 108, 109, 111, 115, 130, 136, 141
G
GA=, 26, 29, 30, 41, 43, 129
Gauss quadrature, 45, 47
Getting Started, 1, 6, 7
global equilibrium, 72, 73
graphite, 11
GVIPS, 3, 5, 21, 24, 25, 28, 73, 74, 101
H
H=, 49, 56, 58, 62, 63
HFGMC, 2, 3, 4, 5, 6, 45, 46, 50, 51, 57, 59, 60, 61, 62, 63, 73, 94, 130, 131, 136, 141
I
I=, 48, 49, 50, 51
IA=, 102, 104
IB=, 102, 103
IG=, 102, 103
incremental plasticity model, 3, 5, 36, 73, 74, 101, 141
indices, 46
ineffective length, 98
inelastic material property, 27, 28, 34
inelastic power, 76
inelastic strain rate, 76
inelasticity, 2
initial time step, 75
input file, 1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 18, 19, 20, 21, 26, 27, 32, 34, 37, 39, 40, 42, 44, 45, 48, 60, 61, 87, 104, 112, 113, 127, 128
integration, 1, 45, 64, 65, 72, 73, 74, 77, 130, 131, 136, 141
integration points, 45, 72, 73, 130, 131, 136, 141
interface, 1, 3, 4, 6, 50, 51, 52, 53, 61, 79, 91, 94, 96, 97, 98, 99
interface material, 51, 61
interface thickness, 50
intermediate times, 69
internal material database, 18, 22, 23, 27, 32, 34, 35, 37, 38, 39, 40, 42, 44, 71
IP=, 76
ISPX=, 76, 78
ISPY=, 76, 78
ISR=, 76
ISTM=, 74
ISTT=, 74
iteration, 73
ITMAX=, 72, 73
K
K=, 11, 26, 29, 33, 35, 36, 39
KA=, 26, 34, 36
KS=, 41, 43
KS11=, 41, 43
KS22=, 41, 43
ksi, 18, 24, 25, 88
KT=, 26, 34, 36
L
L=, 56, 58, 62, 63, 94, 96, 98, 99
L0=, 98, 99
Lamé constants, 36
laminate, 2, 3, 4, 5, 6, 12, 14, 16, 17, 18, 44, 45, 47, 48, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 73, 74, 76, 77, 78, 79, 80, 88, 89, 94, 96, 99, 101, 102, 103, 104, 110, 125, 130, 136, 141
laminate analysis, 2, 3, 5, 14, 16, 17, 45, 48, 60, 65, 68, 69, 74, 80, 94, 96, 99, 103, 104, 110
laminate level plot, 102, 103
LAMINATE=, 102, 103
lamination theory, 2, 5, 45
layer, 2, 4, 5, 16, 17, 18, 45, 47, 60, 61, 62, 63, 77, 78, 94, 96, 98, 99, 103, 104
Legendre polynomial, 72, 73
library file, 7, 9, 10, 21, 36, 38, 117, 121, 125
linear elastic, 18, 80, 83
link, 9, 10, 36, 38
LL=, 49
LN=, 94, 96
load block, 89, 91, 92
load magnitude, 6, 66, 69, 76, 77
load shedding, 98
loading, 2, 4, 5, 12, 14, 16, 17, 18, 23, 35, 38, 40, 44, 45, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 83, 86, 88, 89, 91, 92, 97, 99
loading components, 17, 64, 65, 77
loading cycle, 88
loading option, 2, 17, 64, 65, 66, 68
LOP=, 17, 66, 67
LS=, 94, 96
LY=, 60, 61, 62, 63, 96, 99
LYR=, 102, 103
M
M=, 11, 22, 26, 27, 29, 30, 31, 32, 33, 34, 35, 37, 39, 41, 42, 43, 48, 49, 50, 51, 59, 61, 63, 90, 98, 99
mac4.exe, 7, 10
mac4.lib, 9, 21, 36, 38, 117, 121, 125
MACPOST, 4, 7, 108, 114
MAG=, 66, 67, 68
magnetic field, 66, 68, 69, 105, 106, 107
magnetic flux density, 66, 69, 106, 107
magnetic permeability, 42, 43
magnetoelectric, 42, 43
MAT=, 39, 40, 80, 81, 83, 84, 89, 90, 129
MATDB=, 11, 26, 29, 30, 31, 32, 33, 35, 37, 38, 39, 41, 43
material assignment, 57, 62
material number, 22, 27, 31, 34, 37, 38, 39, 42, 50, 81, 83, 84, 89, 123, 125
material point, 45
material properties, 3, 5, 9, 14, 16, 18, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 79, 83, 91, 118, 122, 123
material property database, 3, 24
MATID=, 11, 14, 16, 22, 26, 29, 30, 31, 32, 33, 35, 37, 39, 41, 43
MATLAB, 1, 4, 6, 7, 100, 110, 111, 115, 130, 136, 141
matrix material, 51
maximum strain, 4, 83, 84, 85, 87
maximum stress, 83, 84, 85, 87
MAXNB=, 89, 90
mean stress, 90, 91
mechanical loading, 1, 5, 12, 17, 64, 65, 66, 71, 74, 83, 86, 88, 89, 91, 92
memory allocation, 3, 4, 13
METHOD=, 72, 74
micro level plot, 103
micromechanics, 2, 5, 6, 45, 48, 60, 88, 116, 124
Microsoft NotePad, 9
Microsoft WordPad, 9
midplane curvature, 68, 105
midplane strain, 45, 65, 66, 68, 76
MINSTEP=, 74, 75
MMAX=, 76
MOD=, 11, 16, 48, 49, 50, 51, 56, 58, 60, 61, 62, 63, 89, 90
mode, 66, 68, 76
MODE=, 66, 67, 68, 76
moment resultant, 45, 65, 68, 105
monolithic material, 50, 51, 57, 59, 60, 61, 62, 63
MPa, 18, 24, 25, 69
MS=, 41, 43
MS11=, 41, 43
MS22=, 41, 43
multimechanism, 3, 5, 73, 74, 101
N
N=, 110
N1=, 89, 90
N2=, 89, 90
NAI=, 94, 96
NAME=, 19, 102, 103
NARloy Z, 5, 21, 25
NASA, 2, 114
NBI=, 94, 96, 98, 99
NDMAT=, 89, 90
NGI=, 94, 96, 98, 99
NII=, 94, 96
NINTEG=, 72, 73
NiTi, 25
NLEG=, 72, 73
NLY=, 60, 61, 62, 63
NMAT=, 80, 81, 83, 84
NMATS=, 11, 22, 26, 29, 30, 31, 32, 33, 35, 37, 39, 41, 43
non-isothermal, 21
NP=, 26, 28, 29, 36
NPL=, 11, 101
NPT=, 66, 67, 68, 70, 71, 72
NPV=, 33, 35, 129
NTEMP=, 11, 14
NTP=, 26, 29, 30, 31, 32, 33, 35, 41, 43, 129
NUA=, 26, 29, 30, 41, 43, 129
number of subcells, 2, 4, 45, 51, 59
NUT=, 26, 29, 30, 41, 43, 129
O
OMFL=, 89, 90
OMM=, 89, 90
OMU=, 89, 90
ONERA, 88
open cell, 51
OPT=, 49
OPTION=, 76, 77, 78
optional, 8, 19, 23, 36, 38, 40, 44, 69, 77, 104
order, 2, 6, 7, 9, 11, 13, 19, 21, 36, 38, 40, 44, 73, 74, 77, 80, 98, 103
out-of-plane, 45
output, 1, 4, 6, 7, 8, 9, 10, 11, 14, 24, 77, 78, 84, 86, 98, 100, 101, 102, 108, 109, 110, 111, 123, 130, 136, 141
output file, 1, 7, 8, 9, 11, 14, 24, 77, 78, 84, 86, 98, 100, 101, 108, 110, 111, 130, 136, 141
P
P100, 24
packing, 51
particulate, 5
PATH=, 19
PATRAN, 1, 4, 7, 100, 108
PDF, 7
PELS=, 41, 43
PELS1=, 42, 43
PELS2=, 42, 43
perfectly bonded, 94, 96
piezoelectric, 42
piezomagnetic, 42
plane of transverse isotropy, 22, 27, 42
plot file data i.d. number, 102, 103, 105, 106, 107
ply, 2, 4, 5, 16, 17, 18, 45, 47, 60, 61, 62, 63, 77, 78, 94, 96, 98, 99, 103, 104
PMGS=, 41, 43
PMGS1=, 42, 43
PMGS2=, 42, 43
Poisson ratio, 27, 42
post-processing, 1, 6, 7, 100, 108, 110
preload, 65, 77
print level, 101
probing, 65, 76, 77, 78
project, 9, 10
pyroelectric, 42, 43, 105
pyromagnetic, 42, 43, 105
Q
QS=, 41, 43
QS11=, 41, 43
QS12=, 41, 43
QS26=, 41, 43
R
R=, 48, 49, 50, 51, 61
RA=, 49
RAD=, 48, 49
RAD1=, 49, 51
RAD2=, 49, 51
RC=, 49
RD=, 49
redistribution, 88, 89, 94
references, 7
REFTIME=, 66, 69
repeating unit cell analysis, 14, 16, 45, 48, 51, 59, 60, 61, 63, 64, 65, 69, 73, 78, 80, 96, 110
repeating unit cell dimensions, 50
repeating unit cell failure, 86
residual stresses, 69, 77, 79
results, 2, 6, 7, 8, 9, 10, 13, 36, 38, 73, 75, 100, 125
reversal tolerance, 96
RITFR=, 48, 49, 50
RITFR1=, 49, 51
RITFR2=, 49, 51
RL=, 49
RLC=, 49
Robinson viscoplastic model, 3, 5, 21, 24, 25, 28
Runge-Kutta, 74
S
S11=, 80, 81
S12=, 80, 81
S13=, 80, 81
S22=, 80, 81
S23=, 80, 81
S33=, 80, 81
SC11=, 80
SC22=, 80
SC33=, 80
scatter, 100, 102
SCS-6, 24, 39, 129
self-adaptive, 65, 72, 74
semi-logarithmic, 88, 93
semi-major axis, 50
SFL=, 89, 90
shape memory alloy, 3, 5, 21
shear modulus, 27, 42
shear strength, 90
SiC, 24
SIG0=, 98, 99
slave component, 77, 78
sliding resistance, 98, 99
SM=, 56, 57, 58, 62, 63
smart, 2, 5, 12, 22, 41, 44
S-N curve, 88, 91
source, 1, 4, 6, 7, 9, 10, 36, 38, 110, 111, 115, 130, 136, 141
special case, 6, 21, 23, 35, 36, 38, 40, 44, 51, 59, 61, 63, 64, 65, 69, 73, 77, 82, 85, 87, 96, 99, 103, 104
special characters, 11
starting time, 71, 73
state variables, 9, 88, 107, 116, 117, 124
static failure, 1, 4, 5, 6, 79, 83, 86, 101
step size, 72, 73, 74, 75, 76, 77, 123
stiffness matrix, 36, 64, 101, 121, 122, 123
stiffness reduction, 6, 79, 88, 91
STP=, 72, 76, 108
strain allowables, 80, 81, 82, 87
strain reference time, 66
strength reduction, 4, 6, 79, 88, 90, 93
stress allowables, 81
stress-strain curve, 5, 27, 28, 99, 100
SU=, 89, 90
SU1=, 89, 90
SU2=, 89, 90
subcell failure, 84
surf_1st.dat, 78
surf_1st_ply.dat, 78
surf_all.dat, 78
surf_all_plies.dat, 78
surf_global.dat, 78
surf_local.dat, 78
surf_plies.dat, 78
T
T300, 24
T50, 24
TAU0=, 98, 99
TEM=, 26, 29, 30, 31, 32, 33, 35, 41, 43, 129
TEMP=, 11, 14, 70, 71
temperature, 3, 9, 18, 22, 23, 25, 27, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 65, 70, 71, 76, 77, 91, 105, 106, 107, 109, 116, 123, 127
temperature points, 70
temperature unit, 18, 25, 71
temperature-dependent, 23, 35, 38, 40, 44, 91
temperature-independent, 3, 23, 36, 38, 40, 44
Theory Manual, 2, 7, 17, 21, 23, 30, 44, 45, 51, 59, 61, 63, 65, 69, 71, 74, 75, 78, 82, 85, 87, 91, 96, 97, 99
thermal loading, 1, 64, 70, 73, 74, 75, 91
THK=, 60, 61, 62, 63
through-thickness, 45, 125
TI=, 66, 67, 68, 70, 71, 72
Ti-15-3, 25
Ti-21S, 24, 25
Ti-24-11, 25
Ti-6-4, 24
time delay, 97, 99
time integration, 65, 72, 73, 77
time unit, 18
TIMES=, 110
titanium, 24, 25, 79
title, 10, 40, 133, 134, 135, 136, 138, 139, 140, 141, 143, 144, 145, 146
TMAX=, 76
TOLN=, 94, 96
TPRE=, 108
transversely isotropic, 3, 15, 16, 21, 36, 44, 91
TREF=, 22, 23, 26, 30, 31, 33, 35, 36, 37, 38, 39, 40, 41, 44, 76, 77
Tsai-Hill, 4, 83, 84, 85, 86, 87
U
ultimate strength, 90, 93
units, 18, 25, 50, 69, 71, 96, 99
user-defined, 3, 7, 9, 10, 14, 16, 18, 19, 22, 23, 27, 28, 32, 34, 35, 36, 37, 38, 39, 40, 42, 44, 50, 57, 58, 60, 62, 116, 121, 123
usrformde, 1, 9, 21, 36, 121
usrfun, 1, 3, 9, 27, 32, 34, 37, 38, 39, 42, 123
usrmat, 1, 3, 9, 21, 36, 38, 116, 141
V
V1=, 26, 29, 30, 34, 35, 129
V2=, 26, 29, 30, 34, 35, 129
VF=, 11, 48, 49, 50, 61, 63
VF1=, 49, 51
VI=, 26, 29, 33, 35, 36, 39, 129
volume fraction, 50, 51, 55
W
Weibull modulus, 98
Windows, 7, 9
workspace, 130, 136, 141
X
X=, 102, 103
X11=, 83, 84, 86, 87
X12=, 83, 84, 86, 87
X13=, 83, 84, 86, 87
X22=, 83, 84, 86, 87
X23=, 83, 84, 86, 87
X33=, 83, 84, 86, 87
XA=, 48
XC11=, 83, 86
XC22=, 83, 84, 86, 87
XC33=, 83, 84, 86, 87
XML=, 89, 90
x-y plot, 4, 100, 103, 105, 106, 107, 108
Y
Y=, 102, 103
yield criteria, 77
yield surface, 2, 5, 27, 28, 64, 65, 73, 76, 77, 78, 101
Z
zero stiffness, 88, 91































