self.runTest("test_C3D8R_schapery12") def test_C3D8R_matrixCompression(self): """ Simple compression in the matrix direction """ self.runTest("test_C3D8R_matrixCompression") def test_C3D8R_elastic_matrixTension(self): """ Simple tension in the matrix direction, no damage """ self.runTest("test_C3D8R_elastic_matrixTension") def test_C3D8R_elastic_fiberTension(self): """ Simple tension in the fiber direction, no damage """ self.runTest("test_C3D8R_elastic_fiberTension") def test_C3D8R_elastic_simpleShear12(self): """ Simple shear in the 1-2 plane, no damage """ self.runTest("test_C3D8R_elastic_simpleShear12") def test_CPS4R_elementSize(self): """ Characteristic element size test, plane stress element """ self.runTest("test_CPS4R_elementSize") if __name__ == "__main__": av.runTests(relPathToUserSub='../for/CompDam_DGD', double=True)
os.path.join(os.getcwd(), 'testOutput', propsFile)) class SingleElementTests(av.TestCase): """ Single element models to tests the DGD code base with the VUMAT wrapper """ # Class-wide methods @classmethod def setUpClass(cls): copyMatProps() # ----------------------------------------------------------------------------------------- # Test methods def test_C3D8R_UMAT_elastic_matrixTension(self): """ Elastic matrix tension, Abaqus/Standard """ self.runTest("test_C3D8R_UMAT_elastic_matrixTension") def test_C3D8R_UMAT_matrixTension(self): """ Matrix tension, Abaqus/Standard """ self.runTest("test_C3D8R_UMAT_matrixTension") def test_C3D8R_UMAT_simpleShear12(self): """ Simple shear in the 1-2 plane, Abaqus/Standard """ self.runTest("test_C3D8R_UMAT_simpleShear12") if __name__ == "__main__": av.runTests(relPathToUserSub='../for/UMAT', double=True)
class DCB_fatigue(av.TestCase): """ Demonstrates the cohesive fatigue model with double cantilever beam analyses under displacement control """ # Specify meta class __metaclass__ = av.ParametricMetaClass # Refers to the template input file name baseName = "test_DCB_fatigue" # disp is the maximum applied displacement during each fatigue cycle parameters = {'disp': [1.48, 1.70, 1.92, 2.25]} # staticLoad is the maximum reaction force in the initial static loading step expectedpy_parameters = {'staticLoad': [1.813, 2.083, 2.352, 2.754]} @classmethod def setUpClass(cls): modifyParametersFile(fatigue_step='2', fatigue_R_ratio='0.1d0', cycles_per_increment_init='1.d-5', cycles_per_increment_mod='0.1d0', fatigue_damage_min_threshold='5.d-5', fatigue_damage_max_threshold='1.d-3') if __name__ == "__main__": av.runTests(relPathToUserSub='../for/CompDam_DGD', double=True)
def test_C3D8R_UMAT_matrixTension(self): """ Matrix tension, Abaqus/Standard """ self.runTest("test_C3D8R_UMAT_matrixTension") def test_C3D8R_UMAT_simpleShear12(self): """ Simple shear in the 1-2 plane, Abaqus/Standard """ self.runTest("test_C3D8R_UMAT_simpleShear12") def test_C3D8R_UMAT_nonlinearShear12(self): """ Nonlinear shear model, loading and unloading in 1-2 plane, Abaqus/Standard """ self.runTest("test_C3D8R_UMAT_nonlinearShear12") def test_C3D8R_UMAT_nonlinearShear13(self): """ Nonlinear shear model, loading and unloading in 1-3 plane, Abaqus/Standard """ self.runTest("test_C3D8R_UMAT_nonlinearShear13") def test_C3D8R_UMAT_fiberCompression_FKT(self): """ Fiber kinking model, Abaqus/Standard """ self.runTest("test_C3D8R_UMAT_fiberCompression_FKT") if __name__ == "__main__": av.runTests(relPathToUserSub='../for/UMAT', double=True)
import abaverify as av class SingleElementTests(av.TestCase): def test_CPS4R_tension(self): self.runTest('test_CPS4R_tension_implicit') def test_CPS4R_compression(self): self.runTest('test_CPS4R_compression_implicit') # That's it for setup. Add as many tests as you want! # See test_runner.py for a few other examples of how test cases can be setup. # This last line is critical, it calls the abaverify code so that when you run this script # abaverify is executed. The function takes one optional argument: a function to call to compile # the subroutine code with abaqus make (not shown here). if __name__ == "__main__": av.runTests(relPathToUserSub='../for/umat')
#class SingleC3D8RElementTests(av.TestCase): #Name of class irrelevant #def test_MaxStress_FiberDir(self): #Name of def irrelevant #self.runTest('test_C3D8R_MaxStress_FiberDir') #Name of test relevant! #def test_MaxStress_MatrixDir(self): #self.runTest('test_C3D8R_MaxStress_MatrixDir') class ParametricTests(av.TestCase): """ Parametric IncrementSizeTest. """ # Class-wide methods @classmethod def setUpClass(cls): copyMatProps() # Specify meta class __metaclass__ = av.ParametricMetaClass # Refers to the template input file name baseName = "test_C3D8R_IncrementSizeNASA" # Range of parameters to test; all combinations are tested, but here parameters = {'IncrementSize': [0.01,0.02],'U1':[0.05,0.1]} if __name__ == "__main__": #av.runTests(relPathToUserSub='../for/vumatWrapper') av.runTests(relPathToUserSub='../for')#, double=True)
This input deck checks both forms of the tabular input (list tolerance and a single tuple tolerance) ''' self.runTest('test_CPS4R_tension_tabular') def test_CPS4R_tension_tabular_with_eval(self): ''' Confirm that the tabular query works with eval statements. Eval statements allow you to assign a label_name to the results defined by an identifying dict and then use those results in some algebraic combination. For example, if there was a label = '1' and '2' these could be summed using the eval statement d['1'] + d['2'] (where d is an implicitly defined dictionary with keys of labels defined inside a ident dict using the "av_id" key ''' self.runTest('test_CPS4R_tension_tabular_with_eval') def test_CPS4R_compression_with_eval(self): self.runTest('test_CPS4R_compression_with_eval') # That's it for setup. Add as many tests as you want! # This last line is critical, it calls the abaverify code so that when you run this script # abaverify is executed. The function takes one optional argument: a function to call to compile # the subroutine code with abaqus make (not shown here). if __name__ == "__main__": av.runTests(relPathToUserSub='../for/vumat', double=True)
import os import shutil import abaverify as av class SingleC3D8RElementTests(av.TestCase): #Name of class irrelevant def test_MaxStress_FiberDir(self): #Name of def irrelevant self.runTest('test_C3D8R_MaxStress_FiberDir') #Name of test relevant! def test_MaxStress_MatrixDir(self): self.runTest('test_C3D8R_MaxStress_MatrixDir') class ParametricTests(av.TestCase): """ Parametric IncrementSizeTest. """ # Specify meta class __metaclass__ = av.ParametricMetaClass # Refers to the template input file name baseName = "test_C3D8R_IncrementSize" # Range of parameters to test; all combinations are tested, but here parameters = {'IncrementSize': [0.01, 0.02], 'U1': [0.05, 0.1]} if __name__ == "__main__": av.runTests(relPathToUserSub='../for/UMAT_1_3_MaxStress')