diff --git a/NonLinearSolver/materialLaw/mlawGenericCrackPhaseField.cpp b/NonLinearSolver/materialLaw/mlawGenericCrackPhaseField.cpp index e68411c25e75eb634259e0215e826999756165a2..a7e8f2aafdcca5f7fecf7df1b3c88d1e69da9360 100644 --- a/NonLinearSolver/materialLaw/mlawGenericCrackPhaseField.cpp +++ b/NonLinearSolver/materialLaw/mlawGenericCrackPhaseField.cpp @@ -261,7 +261,7 @@ void mlawGenericCrackPhaseField::constitutive( // get length scale from Prescribed CLengthLaw _cLLaw->computeCL(qPF0->getConstRefToLocalDamageVariable(), qPF1->getRefToIPCLength()); characteristicLength[0]=qPF1->getRefToIPCLength().getConstRefToCL(); - double _lc = characteristicLength[0](0,0); + double _lc = std::sqrt(characteristicLength[0](0,0)); // const IPVariableMechanics* qMeca0 = dynamic_cast<const IPGenericCrackPhaseField *>(q0->getConstRefToIpMeca()); diff --git a/dG3D/benchmarks/CrackPhaseField/pf.py b/dG3D/benchmarks/CrackPhaseField/pf.py index c2b8541d74c491c61b27792371bb88b7d810d03f..5c83da1dc36680edc16039bc97df8e548b7bc630 100644 --- a/dG3D/benchmarks/CrackPhaseField/pf.py +++ b/dG3D/benchmarks/CrackPhaseField/pf.py @@ -1,7 +1,7 @@ #coding-Utf-8-*- from gmshpy import* -from dG3DpyDebug import* -#from dG3Dpy import* +#from dG3DpyDebug import* +from dG3Dpy import* @@ -207,7 +207,7 @@ if LoadingMode == 0: #mysolver.displacementBC("Edge",104,0,0.) # face y = 0 - method = 1 + method = 2 mysolver.pathFollowing(True,method) diff --git a/dG3D/benchmarks/CrackPhaseField3D/pf.py b/dG3D/benchmarks/CrackPhaseField3D/pf.py index 345eca1fb7cbc4af09062dbfe9b36cf3ddafc15c..30c92564f6b6f09964d2a71da3463c411be6a87e 100644 --- a/dG3D/benchmarks/CrackPhaseField3D/pf.py +++ b/dG3D/benchmarks/CrackPhaseField3D/pf.py @@ -1,7 +1,7 @@ #coding-Utf-8-*- from gmshpy import* -from dG3DpyDebug import* -#from dG3Dpy import* +# from dG3DpyDebug import* +from dG3Dpy import* @@ -31,7 +31,7 @@ rho = 2450.0 # kg/m3 : density E = 210.0e9 # Pa : Young modulus nu = 0.3 # - : poisson coefficient -cl = (0.015*1.0e-3) * (0.015*1.0e-3) # m2: non-local parameter (== NL-length^2) +cl = (0.015*1.0e-3) * (0.015*1.0e-3)*1.1*1.1 # m2: non-local parameter (== NL-length^2) # # material parameters (2) - cohesive law @@ -67,7 +67,7 @@ law1.setUseBarF(False) # FracLaw1 = FractureByCohesive3DLaw(FracLawNum1,BulkLawNum1,InterfaceLawNum1) -mylaw1 = GenericCrackPhaseFieldDG3DMaterialLaw(lawnum3, rho, Cl_Law1, 2700.0, 1.0) +mylaw1 = GenericCrackPhaseFieldDG3DMaterialLaw(lawnum3, rho, Cl_Law1, 2700.0) mylaw1.setMechanicalMaterialLaw(law1) # Solver parameters @@ -76,7 +76,7 @@ sol = 2 # Library for solving: Gmm=0 (default) Taucs=1 PETsc=2 if Solving_mode == 1: soltype = 1 # StaticLinear=0 (default, StaticNonLinear=1, Explicit=2, # Multi=3, Implicit=4, Eigen=5) - nstep = 100 # Number of step + nstep = 1000 # Number of step ftime =1.0 # Final time tol=1.e-5 # Relative tolerance for NR scheme tolAbs = 1.e-6 # Absolute tolerance for NR scheme @@ -292,6 +292,8 @@ mysolver.internalPointBuildView("sig_xy",IPField.SIG_XY, 1, 1) mysolver.internalPointBuildView("sig_yz",IPField.SIG_YZ, 1, 1) mysolver.internalPointBuildView("sig_xz",IPField.SIG_XZ, 1, 1) mysolver.internalPointBuildView("damage",IPField.DAMAGE,1,1) +mysolver.internalPointBuildView("local",IPField.LOCAL_0,1,1) +mysolver.internalPointBuildView("nonlocal",IPField.NONLOCAL_0,1,1) # mysolver.internalPointBuildView("eff_eps",IPField.LOCAL_EQUIVALENT_STRAINS,1,1) # mysolver.internalPointBuildView("NL_eps",IPField.NONLOCAL_EQUIVALENT_STRAINS,1,1) # mysolver.internalPointBuildView("Blocked_element",IPField.DAMAGE_IS_BLOCKED,1,1)