R11.1.0 release note says, Fix effect of FBRT on tensile strength, XT, for *MAT_ENHANCED_COMPOSITE_DAMAGE/*MAT_055. FBRT should only affect the tensile strength upon compressive maxtrix mode failure. ___________________________________________________________________ In your model, if we set DFAILT=1.0 and DFAILC=-1.0, elements are not eroded as seen without these values. According to the concerned developer, here is what happens with SLIMx values: 1) If DFAILT=0, SLIMx values are not applicable in this case and failure occurs immediately when Chang-Chang tensile fiber mode is satisfied. 2) If DFAILT>0, stresses are limited by SLIMx values until failure happens when fiber strain exceeds DFAILT or DFAILC. (Note: DFAILC should be negative and is required if DFAILT > 0). babu Ticket#2019041510000091 _________________________________________ RE: Transverse isotropy option, TI=1 You're referring to Remark 1, which the Manual say applies only to the case of TI=1 (transverse isotropy option) for solid elements. I don't believe this applies to type 5 or 7 tshells. For solids only and TI=1, the source code says, c This is a modified version of f3dm54 with the purpose to c achieve a transversal isotropic material behavior. c c This is invoked by setting: TI=1 in the material card c (card 2, column 7) c c This is realized as follows: c 1. ymz=ymy, prca=prab, szx=sxy c 2. s33=s22, s13=s12, s66=s44 and the same for cXX c 3. In the 2-3 plane the principal stresses are computed c and the stress state as well as the strain state is rotated c around the material A-axis (1-direction) into the c principal system c 4. The rotation is chosen such that the abs(sig2).gt.abs(sig3) c 5. The failure criteria is unchanged is uses sig1, sig2, sig4 c where sig2 and sig4 are in the principal system c 6. Damage acts simultaneously for sig2/sig3 and sig4/sig6 c 7. At the end, the stresses are rotated back (first into the c material system, then to the global system)." and c material constants ymx =cm(mx+1) ymy =cm(mx+2) ymz =ymy nux =cm(mx+4) nuz =cm(mx+6) sxy =cm(mx+7) syz =cm(mx+8) szx =sxy jd Ticket#2018072410000122 _________________________________________________________ The problem is evidently fixed in the recently released R9.3.0. The release notes for R9.3.0 state, "When EPSR and EPSF are defined in *MAT_054, made a correction to the computation of transverse shear strains for solids and tshells." I see the same fix mentioned in the SVN log for R10 r128298, R11 r128297, and dev r128295. jd Ticket#2018070410000062 ______________________________________________________________________ There are some examples in http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/, which illustrate how the failure criteria and results output work. (specifically, see the four allin1_ortho_fail_*.k and allin1_ortho_bend.54.k). I would start with Look at part 54 only which has seven integration points and is loaded in bending. The evolution of failure for the tensile fibre mode can be tracked by viewing history variable # 1 (). At time 0.25, the history variable at IP7 drops from 1 to 0, showing that tensile fibre failure occurs at integration point 7 (on the global -y side of the element), followed by failure of integration points 6,5,4. At the termination time, four out of seven of the integration points have failed in tensile fibre mode, as reflected by the information in 'effective plastic strain' d3plot slot, IP 1. Although labelled 'effective plastic strain', for this material, the data in this slot is the average through the thickness of the tensile fibre mode failure history variable #1. (Similar to plotting Avg of the history variable #1 on the shell). The element is therefore partially failed. Full through -thickness failure, and element deletion would occur when all integration points have failed and eps, IP 1 goes to 0. A fringe plot of 'effective plastic strain at integration point 1' can therefore be used on a component to show the proportion of failed layers/'damage' the component has sustained in terms of this failure mode. Similarly, plots of 'effective plastic strain' at integration point 2 and 3 slots can be used to show the proportion of failed layers/'amount of damage' in the fibre compressive and tensile matrix modes. alex Ticket#2018061410000134 _________________________________________________________ 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 __________________________________________________________ RE: EFS Unlike mats 58, 261, 262, there is no EFS<0 option for mat 54. 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 is true both for shells and (per Ticket#2018060610000113 and a peek at subroutine f3dm54) for solids. This scalar value is not available directly in the output, however, the three values of strain eps1, eps2, and eps4 that go into its computation are available for output as extra history variables sa=0.5*(eps1(i)+eps2(i)) sb=0.5*(eps1(i)-eps2(i)) scc= sb**2+eps4(i)**2 effstn(i)=1.1547*sqrt(3.0*sa**2+scc) i.e., 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 (shells) or #15 (solids) eps2 = history var #11 (shells) or #16 (solids) eps4 = history var #12 (shells) or #17 (solids) To get these history variables, you'd need to set NEIPS in *DATABASE_EXTENT_BINARY to at least 12 for shells and NEIPH to at least 17 for solids. 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 (see ** note) 6: dam -1=intact, 0=failed 7: dtfail 8: q1 9: q2 10,11,12: eps1,eps2,eps4(nlq) --------------------------- ** Comment # 9 on bug 12971 from Satish Pathy Hi Satish, I have looked again into the code and into the input file and yes, this behavior of reducing the stiffness in 100 cycles is there, but this is only activated when DFAILT.eq.0.0 (which is actually the case in your example) and the model fails in fiber tensile mode. If you would define the values DFAILx (strain limits until failure in various directions) then the 100 cycle behavior shouldn't be there (maybe you can check this). So therefore it seems as if your user picked out a very special scenario and I am not sure if we should actually put this into the manual. We normally recommend our customers to set reasonable values for DFAILx. Stefan ------------------------------------- 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