***************************************************************** * * * Variational Asymptotic Method for Unit Cell Homogenization * * * * Wenbin Yu * * * * UTAH STATE UNIVERSITY * * DEPARTMENT OF MECHANICAL AND AEROSPACE ENGINEERING * * * ***************************************************************** Release Notes and Manual ============================ Created : 12/24/2005 Version 1.2 : 1/30/2006 Version 1.3 : 5/31/2006 Version 1.5 : 6/10/2006 version 1.6 : 8/15/2006 New Features of V 1.6 ========================= Simplifying the calculation for correcting the local fields by and enable recovery of nodal strains and stresses. The nodal values of 2D Quads and 3D Bricks are interpolated from the the values based on Gauss points. New Features of V1.5 ======================== Extend VAMUCH to calculate thermoelastic properties including the complete set of elastic properties and coefficient of thermal expansion and specific heat. Capabilities of VAMUCH 1.2 ============================ 1. Calculate the effective linear elastic material properties for 1D, 2D, and 3D unit cells if all the phases are elastic. 2. Recover the local displacements/strains/stresses within the unit cell. 3. The current version can only deal with cells having edges parrallel to the coordinates such as 1D cells, 2D rectangular cells, 3D rectangular prism. If you want to analyze cells with different geometry, please let the author of VAMUCH know. What Is VAMUCH? ================ Variational asymptotic Method for Unit Cell Homogenization (VAMUCH) is a finite-element based computer program in Fortran 90/95 to homogenize heterogeneous anisotropic materials by using the variational asymptotic method (VAM). VAMUCH will calculate the effective material properties if a unit cell can be identified from the heterogeneous material. VAMUCH can also recover the localized field based on the information from the macroscopic analysis of the effective medium. The Uniqueness of VAMUCH ========================== 1. VAMUCH adopts variational asymptotic method as its mathematical foundation. Ad hoc assumptions prevalent in other methods are avoided by taking advantage of the fact that the size of unit cell is much smaller than the macroscopic dimension of structure. VAMUCH achieves the same accuracy as mathematical homogenization theories without even assuming periodic boundary conditions. 2. VAMUCH handles 1D/2D/3D unit cells uniformly. 3. VAMUCH calculates the complete set of effective material properties simultaneously within one analysis without applying any load. It is fundamentally different from common practice to extract various material properties from multiple analyses of the cells under different load conditions. 4. VAMUCH calculates effective properties and local fields directly with the same accuracy as the fluctuation functions. No postprocessing calculations are needed. 5. VAMUCH uniquely determines the local fluctuation functions and local displacement fields. 6. The dimensionality of the problem is determined by that of the periodicity of the unit cell. A complete 6x6 effective material matrix which can be used in 3D macroscopic analysis can be obtained even from a 1D analysis of 1D unit cells. The theory behind VAMUCH. Without invoking any ad hoc assumptions, Effective mass density of heterogeneous materials ===================================================== The effective mass density of a heterogeneous material can be calculated using the following simple formula \rho_e=\frac{\sum_{i=1}{i=n} \rho_i v_i}{V} which means the effective mass density is equal to the summation of the mass of each constituent divided by the total volume of the unit cell. Preparation of Input Data File ============================= 0. Problem Control Parameters ------------------------------ The first line of the input data are problem control parameters and they are ordered as: Dim_flag Rec_flag Analysis Dim_flag is an integer number with values 1, 2, or 3 to denote 1D unit cell, 2D unit cell, or 3D unit cell, respectively. Other number are not defined. Ref_flag is an integer number. If it is 1, then recovery is demanded. Otherwise, no recovery. Please note that to recover the local fields, rec_flag must be 0 first to calculate the effective material properties and fluctuation functions. Additional data for macroscopic fields should be provided at the end of the input file for recovery as specified later. Analysis is an integer. If it is equal to 0, VAMUCH will carry out elastic analysis; if it is equal to 1, VAMUCH will carry out a thermoelastic modeling. Due to different analysis types, input data could be different as specified in the following. 1. Mesh Control Parameters --------------------------- The next line of the input data are mesh control parameters which are integers, and they are ordered as: nnode nelem nmate where nnode is the total number of nodes, nelem is the total number of elements in the mesh, and nmate is the total number of material types in the unit cell. 2. Definition of Nodes ----------------------- The next nnode lines are properties for the nodes. The values are: node_no coord_x coord_y coord_z where node_no is an integer to number the node, coord_x, coord_y, coord_z are real numbers for the nodal coordinates (only coord_z exists for 1D cells, and coord_y and coord_z exist for 2D cells). 3. Definition of Elements -------------------------- The next nelem lines are the definitions of elements elem_no mat_type node_1, node_2, node_3, node_4,.... where elem_no is an integer to number the element, mat_type is an integer to indicate the material type of the element. The rest is a series of integer numbers for the nodes contained in the element. For 1D cells, only two nodes are needed for each element. For 2D cells, an element could have as many as nine nodes. If the fourth node is zero, it is a triangular element. For 3D cells, an element could have as many as 20 nodes. If the fifth node is zero, it is a tetrahedral element. The numbering conventions are shown in conventions.ppt. 4. Definition of Materials --------------------------- The next nmate blocks are the definitions of materials. mat_id orth const1 const2 .... where mat_id is the number of material type, orth is the flag to indicate whether the material is isotropic (0), orthotropic(1) or general anisotropic (2). The rest are material constants. For isotropic, there are two constants arranged as E nu If Analysis==1, we need to provide three additional values for isotropic materials cte, cv ref_temp where cte is the coefficient of thermal expansion, cv is the specific heat, ref_temp is the reference temperature for orthotropic, there are nine constants (conventions are the same as MW Hyer's book, page 48) arranged as E1 E2 E3 G12 G13 G23 nu12 nu13 nu23 If Analysis==1, we need to provide 5 additional values for othotropic materials cte11, cte22, cte33, cv ref_temp for anisotropic, there are 21 constants, arranged as c11 c12 c13 c14 c15 c16 c22 c23 c24 c25 c26 c33 c34 c35 c36 c44 c45 c46 c55 c56 c66 If Analysis==1, we need to provide 8 additional values for anisotropic materials cte11, cte12, cte22, cte13, cte23, cte33, cv ref_temp Please note that if there are voids in the unit cell, there are two ways to analyze such unit cell. We can either approximately simulate as an isotropic material (with geometry) using very small numbers as its material properties. Or we can analyze unit cell having real holes (no geometry exist for voids), and the effective material stiffness matrix S* will be calculated according to the following formula: C*=Cvamuch*Volume_real/Volume_uc (1) with Cvamuch* as the effective material stiffness matrix calculated by VAMUCH, Volume_uc is the volume of the unit cell including the volume occupied by the voids, Volume_real is the real volume occupied by the material (excluding the voids). The effective material flexibility matrix S* will be calculated according to the following formula: S*=Svamuch*Volume_uc/Volume_real (2) with Svamuch* as the effective material flexibility matrix calculated by VAMUCH. For the engineering constants, the moduli will be calculated according to Eq. (1), while the Poisson's ratios will remain the same. 5. Macroscopic fields for recovery ----------------------------------- If rec_flag is 1, then the macro displacement, the gradient of the macro displacements are to be provided to recover the local displacement/strain/stress fields. The data are arranged as: v_1 v_2 v_3 v_1,1 v_1,2 v_1,3 v_2,1 v_2,2 v_2,3 v_3,1 v_3,2 v_3,3 where v_i are the macro displacements, v_i,j are the derivatives of macro displacements. If Analysis==1, we need to provide an additional data for the macroscopic temperature for the UC T VAMUCH-ANSYS macro ========================= vamuch.mac The encrypted macro VAMUCH.mac with encryption key as vamuch can be used to create input files from ANSYS. One needs to put VAMUCH.mac into ANSYS working directory. After a mesh is created in ANSYS, the user can type VAMUCH in the input menu after ANSYS command prompt. Because of the way we adopted to deal with periodic boundary conditions, one needs to make sure that there are corresponding nodes on negative and positive surfaces (edges). Particularly for 3D unit cells with constituents with arbitrary geometry shape, we recommend the following approach to create the mesh using ANSYS: 1. Choose two element types shell93 and solid92; 2. Create the 3D unit cell; 3. Use shell93 to mesh the six surfaces of the block, make sure to chose Tri and mapped on the mesh tool menu; 4. mesh the constituents of the unit cell using solid92 along with different material properties; 5. delete the area meshes; 6. condense the element number; 7. run the macro to generate vamuch input file. strvis.mac The encrypted ANSYS macro strvis.mac with the encryption key as vamuch can be used to import the localstresses calcuated by VAMUCH in the file *.S into ANSYS and then use ANSYS postprocessing capabilities to visualize the results. Install and Run the program ============================= The program is distributed in the form of VAMUCHReleaseE-Mm-Dd-Yy.zip for Win32 system. If you also want the program for different platforms such as Mac/Unix/Linux, please let the author know. If you have already prepared your input file as described above and the file is in the folder where VAMUCH.exe is, you can type VAMUCH to run the code. The program will prompt you to provide the problem name. Type in a string (prob_name) less than 58 characters. Please note you need only to type in the prob_name. VAMUCH will read the model data from the file prob_name.vam. The fluctuation functions are stored in the file prob_name.V0 and the optimized mesh are stored in the file prob_name.opt so that one don’t have to rerun the finite element analysis for recovery. Explanation of Outputs ============================= input_name.K ------------------ Effective material properties in the form of stiffness matrix and flexibility matrix and engineering constants if the user want to approximate the material as orthotropic input_name.U ------------------ Recovered local displacements for each nodes, arranged as: nodal_coordinates u_1 u_2 u_3 input_name.EG ------------------ Recovered local strains for each Gaussian point, arranged as: Gaussian_point_coordinates \epsilon_11 2\epsilon_12 \epsilon_22 2\epsilon_13 2\epsilon_23 \epsilon_33 input_name.SG ------------------ Recovered local stresses for each Gaussian point, arranged as: Gaussian_point_coordinates \sigma_11 \sigma_12 \sigma_22 \sigma_13 \sigma_23 \sigma_33 input_name.EN ------------------ Recovered local strains for each node belongs to an element, arranged as: Gaussian_point_coordinates \epsilon_11 2\epsilon_12 \epsilon_22 2\epsilon_13 2\epsilon_23 \epsilon_33 input_name.SN ------------------ Recovered local stresses for each node belonging to an element, arranged as: Gaussian_point_coordinates \sigma_11 \sigma_12 \sigma_22 \sigma_13 \sigma_23 \sigma_33 Example Problems ======================== Along with the distribution, there are many examples. Most of the examples are presented in the related publications of VAMUCH. You can try yourself to verify those results. BinaryComposites: examples using 1D/2D/3D cells to reproduce the exact solutions FiberReinforcedComposites: examples using 2D/3D cells to study Boron/Al, Graphite/Epoxy, W/Cu, Void/Cu material systems. ParticleReinforcedMaterial: examples presented in Todd Williams' paper. Eshelby.vam is the input file for the Eshelby problem we studied Thermoelastic: examples used to validate VAMUCH thermoelastic capabilities Main References of VAPAS: ======================== 1. Yu, W.: "A Variational-Asymptotic Cell Method for Periodically Heterogeneous Materials," Proceedings of the 2005 ASME International Mechanical Engineering Congress and Exposition, Orlando, Florida, Nov. 5-11, 2005. 2. Yu, W.: "Variational Asymptotic Method for Unit Cell Homogenization of Periodically Heterogeneous Materials," International Journal of Solids and Structures, submitted, Jan. 2006. 3. Yu, W.: “Asymptotical Construction of a Micromechanics Model for Periodically Heterogeneous Anisotropic Materials,” Proceedings of the 47th Structures, Structural Dynamics, and Materials Conference, Newport, Rhode Island, May 1-4, 2006. 4. Yu, W. and Tang, T.: "A New Micromechanics Model for Predicting Thermal Properties of Heterogeneous Materials," Proceedings of the 2006 ASME International Mechanical Engineer-ing Congress and Exposition, Chicago, Illinois, Nov. 5-10, 2006.