RE: 2WAY r78657 | arup | 2012-12-20 06:14:31 -0800 (Thu, 20 Dec 2012) | 9 lines Changed paths: M /ls971/trunk/dyn1.F M /ls971/trunk/dyn4.F M /ls971/trunk/dynkam.F Richard Sturt 20-dec-2012 new option in MAT_054. If Field 6 of Card 2 is 1.0, we assume fibres in both X and Y local diections (the default is fibres in local X only). The new option affects failure and damage behaviour, for example the inputs YC and YT will be interpreted as fibre failure stress in compression and tension, while matrix failure will occur only in shear. More details will be provided in the User Manual. Models without the new option are unaffected. ____________________________________________________ Starting with 971 R3.1, mats 54 and 55 are implemented for solids. Bug 7074, addressing ambiguity of whether solids are implemented, is resolved. Author: Tobias Erhart (or possibly Stefan Hartmann) Date: 2012-06-06 00:42:27 -0700 (Wed, 06 Jun 2012) New Revision: 1450 Log: Changes for MAT_054, which is available for shells and solids. ---------------------------------------------- Author: Tobias Erhart (or possibly Stefan Hartmann) Date: 2012-06-06 00:45:35 -0700 (Wed, 06 Jun 2012) New Revision: 1451 Log: Changes for MAT_054, which is available for shells and solids. ________________________________________________________ Author: Tobias Erhart Date: 2012-08-06 07:34:29 -0700 (Mon, 06 Aug 2012) New Revision: 1628 Modified: trunk/Vol_II_Materials/54.docx Log: Add new options to *MAT_054, rate dependent strenghts. ---- tobias on 2010-10-27 at 03:11:16 Revision 62863 Updates for *MAT_054 (shells - shl54s, shl54sl) for JSOL/Toyota. 1. If XC<0, Poisson's ratio becomes zero after failure in compressive fiber mode. 2. Corrected the behavior for the SLIMx values. ----- tobias on 2010-02-12 at 07:09:51 Revision 58222 Fix for *MAT_054-055. This was bug 3700 (created by rev 58014 below). ----- tobias on 2010-02-05 at 05:38:56 Revision 58039 New feature for *MAT_054 (thin shells): optional minimum stress limits similar to *MAT_058. ----- tobias on 2010-02-04 at 06:11:54 Revision 58014 First commit of new options for *MAT_054 (thin shells) and undo my changes from rev. 54444. ------ tobias on 2009-09-02 at 07:23:11 Revision 55119 (and later bugfix in 55578) New option for *MAT_054 requested by Toyota. Number of in-plane integration points for layer failure: 1 (PFL>0) or 4 (PFL<0). ----- tobias on 2009-07-24 at 05:57:58 Revision 54444 Added new option to *MAT_054 for shells (shl54s, shl54sl). After total tensile matrix failure, layer is not removed, but can still carry tensile fiber load and compressive loads. Compressive strengths are reduced by factor REDMTF (new input parameter on card 7, column 6). ----- tobias on 2009-02-02 at 03:39:25 Revision 50581 Added new feature to *MAT_054 for shells (shl54s, shl54sl). Strength reduction depends on fiber direction (two SOFT parameters). Requested by Toyota. Still under development. ----- tobias on 2008-11-26 at 00:52:02 Revision 49227 Swap history variables 18 <--> 16 in *MAT_054 (shl54sl). ----- tobias on 2008-11-19 at 08:21:44 Revision 49096 More change for *MAT_054: transverse shear maximum damage. ----- tobias on 2008-11-14 at 14:40:48 Revision 48999 Added new feature to *MAT_054 (shells). Linear damage for transverse shear, defined by two new input parameters: damage initiation strain and final rupture strain. ----- tobias on 2008-11-12 at 10:27:12 Revision 48922 New option for *MAT_054 (shells): New parameter PFL (Card 7,Column 1) defines the percentage of layers which mush fail until crashfront is initiated (reduced strengths in neighbor elements). ----- ______________________________________________________ When dealing with composites, I suggest you set CMPFLG=1 in *database_extent_binary so that stresses (and strains if written) are in the material coordinate system, i.e., fiber direction = x, matrix direction = y. With this flag set, x-stress will be the fiber stress in the composite shells. Also, for stability and consistency, always set INN=2 in *control_accuracy and I strongly suggest you leave ISTUPD=0 in *control_shell. Mat_54 shells can fail in any of several ways: - Due to NFAIL1 or NFAIL4 set to nonzero values in *control_shell. - Due to time step criterion TFAIL being given in *mat_054. - Due to effective strain exceeding EFS as given in *mat_054. - All integration points having failed by way of reaching a strain value imposed by any one of the DFAIL parameters given in *mat_054. - If DFAIL values are NOT given, behavior is elasto-brittle in fiber tension whereby integration points fail when reaching the stress-based failure criterion in fiber tension. For other modes (compression modes and matrix tension mode), the behavior is elastic-perfectly plastic. These criterion are listed in the Users Manual. Test models allin1*k located in http://ftp.lstc.com/anonymous/outgoing/jday/composites help to illustrate composite material model behavior. The crashfront algorithm is invoked only if TFAIL>0. The following parameters apply only to mat54 (not mat55): Card 4: DFAILM, DFAILS Card 5: YCFAC, DFAILT, DFAILC, EFS Card 6: BETA If DFAIL values are specified, a layer, i.e., an integration point, is elasto-plastic after reaching the strength value until failure occurs (stress drops to zero) at the DFAIL value of strain. If a value for DFAILT is given, you must also give a value for DFAILC or else DFAILC will be taken literally as zero and IP will fail immediately if fibers develop ANY nonzero compressive strain. DFAILM and DFAILS are disregarded unless DFAILT is also given. If DFAIL is not used (set to zero), behavior is elasto-brittle, that is, the integration point fails and IP stresses drop to zero (quickly but not instantaneously -- see http://ftp.lstc.com/anonymous/outgoing/jday/composites/mat54.XTfailure.k ) if (in example of uniaxial tension): a) fiber tension reaches XT or b) fiber tension reaches XT*FBRT if matrix compression has reached YC The strength XC (or YC * YCFAC) serves as a cap for fiber compression, YT as a cap for matrix tension, and YC as a cap for matrix compression. Failure in an integration point is triggered by fiber tension stress or by various strain limits (EFS, DFAILx). By use of FBRT and YCFAC, the tensile fiber strength (XT) and compressive fiber strength (XC) are reduced, respectively, after compressive matrix failure (YC exceeded). The through-thickness integration points of an element are allowed to fail progressively. When an integration point fails, it ceases to carry load whereas unfailed integration points continue to be load bearing. When all integration points have failed, the element is deleted. For an illustrative example, plot x-stresses from the elout file produced by http://ftp.lstc.com/outgoing/jday/composites/mat54.cantilever.failure.k In mat_54, the scalar strain quantity which is evaluated against the failure strain EFS is computed, at each integration point, from the two in-plane normal strains and the in-plane shear strain. This scalar value is not available directly in the output, however, the three values of strain that go into its computation are available for output as extra history variables 10, 11, and 12. scalar strain = 2/sqrt(3) * sqrt[ 3*((eps1+eps2)/2)^2 + ((eps1-eps2)/2)^2 + eps4^2 ] where, in LS-Prepost, under History > Element ... eps1 = history var#10 eps2 = history var#11 eps4 = history var#12 To get these history variables, you'd need to set NEIPS=12 in *database_extent_binary. The scalar strain computed from the 3 history variables is not equivalent to LS-Prepost's "effective strain". The latter is computed from the 6 global strain components. Shell history variables for mat54: History var#1: ef tensile fiber mode (1=elastic, 0=fail) 2: ec compres fiber mode 3: em tensile matrix mode 4: ed compres matrix mode 5: efail 1=integration point intact; 0=integration point failed Transitions from 1 to 0 over 100 time steps 6: dam -1=intact, 0=failed 7: dtfail 8: q1 9: q2 10,11,12: eps1,eps2,eps4(nlq) The 'plastic strain' stored in d3plot and elout is not a strain value at all in the case of mat_54 but rather an indicator flag for failure. If you're looking at plastic strain for a mat_054 integration point as written to dynain or to elout, it represents "dam" where dam=-1 only means that the overall element is intact. The history variable ("effective plastic strain") stored in d3plot is different by design in 3 of the integration points than in dynain and elout. The 2nd table under *mat_54 gives the meaning of "eff. plastic strain" for those 3 integration points. What needs to be clarified however is that the 3rd one is stored, not in the slot for IP #3 but rather in the slot for the last integration point.*** So in the 7 IP example mentioned below, integration points 1, 2, and 7 hold the values shown in the 2nd table (d3plot only). For IP's 3,4,5, and 6 in d3plot, the variable dam is stored wherein -1 means element is intact and 0 means element is failed. Again, for elout and dynain, all the IP locations hold the variable dam. I suspect that table 2 applies only in the case where all the integration points of the shell are mat_054 and probably only if they all reference the same material ID. Example: http://ftp.lstc.com/anonymous/outgoing/jday/composites/allin1_ortho_bend.54.k All 7 integration points of element 54 use the same mat_054 material ID. I've written elout and dynain files for this element. Also learned from this test case: Additional history variable #6 is 0, not +1, for a deleted/failed element. This test case is not able to test for the crashfront indicator mentioned in the Users Manual. ***On 11/16/10,Tobias added the average value of "em" in integration point 3 but keeps storing it at the MAXINT position (for d3plot). Then, old results keep the same and the manual doesn't have to be changed. Regarding shear: The local XY (in-plane) shear stress is capped by the shear strength SC. When the tensorial in-plane shear strain reaches DFAILS, the integration point fails. In the example allin1_ortho_fail-in-shear.k, all the integration points are aligned the same and thus reach the failure shear strain DFAILS simultaneously. At that instant, the element is deleted. Shear stress is included in the check for failures in tensile fiber, tensile matrix, and compressive matrix modes. See the equations for these failure modes in the User's Manual. It's complicated and not very intuitive, especially if ALPH is nonzero. For an explanation of how ALPH is used, see the variable taubar under mat22 in the Theory Manual. To simplify matters while trying to understand what's going on, you could set ALPH, FBRT, and SOFT to zero and BETA to 1. Plot history variables 1, 2, 3, and 4 which correspond to the failure flags for the 4 different modes of failure that are checked. _________________________________________________________________________________ MAT_055: Nonzero FBRT has dubious effect on mat_055. Suggest setting FBRT to zero. I did some more testing on mat_55 with FBRT set to 0 and found that an integration point is deleted (all stresses go to zero) only if the tensile fiber stress in that integration point reaches XT. Unlike mat_054, the IP will not fail in matrix compression. Other strengths (XC, YT, YC, SC) serve to cap stresses but don't delete the integration point. Furthermore, the cap on fiber compression, if the IP is 'damaged' in matrix compression, is somewhere in the range between XC and 2*YC. Like mat_054, the element is deleted only if ALL the integration points are deleted. Unlike mat_054, there are no strain-based failure criteria. Clearly, mat_055 is a much different animal than mat_054 and the User's Manual needs to spell out these differences. See: http://ftp.lstc.com/anonymous/outgoing/jday/composites/allin1_ortho_tension_15layers.k http://ftp.lstc.com/anonymous/outgoing/jday/composites/allin1_ortho_compres_15layers.k