Skip to content

haiiliin/abageotests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

abageotests

A package to generate and execute python scripts of abaqus models of geotechnical tests.

Dependencies

In order to use this package, you need to install the numpy and matplotlib package:

pip install numpy
pip install matplotlib

And furthermore, install abaqus properly, and link the FORTRAN compiler to abaqus, and add the abaqus commands directory to the system path environment.

And then install this package:

pip install abageotests

You can also find this project in abageotests · PyPI.

Examples

An example of direct shear test

from abageotests import *

dst = AbaqusDirectShearTest(AbaqusCalculationMethod.Standard)
dst.InitialStressGeneralStaticStep(
    time_period=1.0, initial_increment_size=0.1,
    maximal_increment_size=1.0, maximal_increments=10000)
dst.ShearGeneralStaticStep(
    time_period=1.0, initial_increment_size=0.01,
    maximal_increment_size=0.01, maximal_increments=1000000)

dst.Displacement(0.006, 0, 0, 0, 0, 0)
dst.NormalContact(AbaqusNormalContactType.Hard, constraintEnforcementMethod=DEFAULT)
dst.TangentialContact(AbaqusTangentialContactType.Frictionless)

dst.WorkDirectory('dst-example')

dst.SoilGeometry(0.06, 0.06, 0.02)
dst.SolidGeometry(0.1, 0.1, 0.02)
dst.SoilMesh(AbaqusMeshMethod.BySize, 0.01)
dst.SolidMesh(AbaqusMeshMethod.BySize, 0.01)

dst.SoilMaterial(4e4, 0.0, 2e8)
dst.SolidMaterial(2e8, 0.0, 2.0)

dst.FieldOutput(['S', 'E', 'LE', 'U', 'RF', 'RT', 'RM', 'P', 
                 'CSTRESS', 'CDISP', 'CFORCE', 'CNAREA', 'CSTATUS'])
dst.HistoryOutput(['U1', 'RF1'], 50)

dst.Pressure(310)
dst.PredefinedStress(-310, -310, -310, 0, 0, 0)

dst.ModelName('dst')
dst.OutputName('output')
dst.generateAbaqusPythonScript()
dst.generateAbaqusCaeModel()
dst.submit()
dst.extractOutputData()
dst.plot()
dst.resetWorkDirectory()

An example of pullout test

from abageotests import *

pullout = AbaqusPullOut(AbaqusCalculationMethod.Standard)
pullout.NailGeometry(0.05, 1.2)
pullout.SoilGeometry(1.0, 0.3, 0.8)
pullout.NailOffsetGeometry(0.4)

pullout.SoilMaterial(4e4, 0.3, None, 30.0, 3.0, 5.0, 0.0)
pullout.NailMaterial(3.2e7, 0.2)

pullout.Displacement(0.0, 0.0, 8e-4, 0.0, 0.0, 0.0)
pullout.Pressure(310.0)
pullout.PredefinedStress(-310.0, -310.0, -310.0, 0.0, 0.0, 0.0)

pullout.NormalContact(AbaqusNormalContactType.Hard, constraintEnforcementMethod=DEFAULT)
pullout.TangentialContact(AbaqusTangentialContactType.Frictionless)

pullout.SoilMesh(AbaqusMeshDenseMethod.General, AbaqusMeshMethod.BySize, 0.025)
pullout.SoilMesh(AbaqusMeshDenseMethod.Dense, AbaqusMeshMethod.BySize, 0.01)
pullout.NailMesh(AbaqusMeshDenseMethod.General, AbaqusMeshMethod.BySize, 0.025)
pullout.NailMesh(AbaqusMeshDenseMethod.Dense, AbaqusMeshMethod.BySize, 0.01)

pullout.InitialStressGeneralStaticStep(
    time_period=1.0, initial_increment_size=0.01, maximal_increment_size=0.1,
    minimal_increment_size=0.001, maximal_increments=1000)
pullout.PulloutGeneralStaticStep(
    time_period=1.0, initial_increment_size=0.01, maximal_increment_size=0.1,
    minimal_increment_size=0.001, maximal_increments=1000)

pullout.FieldOutput(['S', 'E', 'LE', 'U', 'V', 'A', 'RF', 'P', 
                     'CSTRESS', 'CFORCE', 'FSLIPR', 'FSLIP', 'PPRESS'])
pullout.HistoryOutput(['U1', 'RF1'], 50)

pullout.WorkDirectory('pullout-example')
pullout.ModelName('pullout')
pullout.OutputName('output')
pullout.generateAbaqusPythonScript()
pullout.generateAbaqusCaeModel()
pullout.submit()
pullout.extractOutputData()
pullout.resetWorkDirectory()

About

A package to generate and execute python scripts of abaqus models of geotechnical tests.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages