def _preinitialize(self): """ Setup mesh and integrator and preinitialize integrator. """ from spatialdata.units.Nondimensional import Nondimensional normalizer = Nondimensional() normalizer._configure() # Setup mesh cs = CSCart() cs.inventory.spaceDim = 2 cs._configure() from pylith.meshio.MeshIOAscii import MeshIOAscii importer = MeshIOAscii() importer.inventory.filename = "data/tri3.mesh" importer.inventory.coordsys = cs importer._configure() mesh = importer.read(debug=False, interpolate=False) # Setup material from pylith.feassemble.FIATSimplex import FIATSimplex cell = FIATSimplex() cell.inventory.dimension = 2 cell.inventory.degree = 1 cell.inventory.order = 1 cell._configure() from pylith.feassemble.Quadrature import Quadrature quadrature = Quadrature() quadrature.inventory.cell = cell quadrature._configure() from spatialdata.spatialdb.SimpleDB import SimpleDB from spatialdata.spatialdb.SimpleIOAscii import SimpleIOAscii iohandler = SimpleIOAscii() iohandler.inventory.filename = "data/elasticplanestrain.spatialdb" iohandler._configure() db = SimpleDB() db.inventory.label = "elastic plane strain" db.inventory.iohandler = iohandler db._configure() from pylith.materials.ElasticPlaneStrain import ElasticPlaneStrain material = ElasticPlaneStrain() material.inventory.label = "elastic plane strain" material.inventory.id = 0 material.inventory.dbProperties = db material.inventory.quadrature = quadrature material._configure() from pylith.meshio.OutputMatElastic import OutputMatElastic material.output = OutputMatElastic() material.output._configure() material.output.writer._configure() # Setup integrator integrator = ElasticityImplicitLgDeform() integrator.preinitialize(mesh, material) return (mesh, integrator)
def test_preinitialize(self): """ Test preinitialize(). WARNING: This is not a rigorous test of initialize() because we don't verify the results. """ from pylith.feassemble.FIATSimplex import FIATSimplex cell = FIATSimplex() cell.inventory.dimension = 2 cell.inventory.order = 1 cell.inventory.degree = 1 cell._configure() from pylith.feassemble.Quadrature import Quadrature quadrature = Quadrature() quadrature.inventory.cell = cell quadrature.inventory.minJacobian = 1.0e-4 quadrature._configure() from spatialdata.spatialdb.SimpleDB import SimpleDB from spatialdata.spatialdb.SimpleIOAscii import SimpleIOAscii iohandler = SimpleIOAscii() iohandler.inventory.filename = "data/matinitialize.spatialdb" iohandler._configure() db = SimpleDB() db.inventory.label = "material properties" db.inventory.iohandler = iohandler db._configure() from pylith.materials.ElasticPlaneStrain import ElasticPlaneStrain material = ElasticPlaneStrain() material.inventory.quadrature = quadrature material.inventory.dbProperties = db material.inventory.label = "my material" material.inventory.id = 54 material._configure() from spatialdata.geocoords.CSCart import CSCart cs = CSCart() cs.inventory.spaceDim = 2 cs._configure() from spatialdata.units.Nondimensional import Nondimensional normalizer = Nondimensional() normalizer._configure() from pylith.meshio.MeshIOAscii import MeshIOAscii importer = MeshIOAscii() importer.inventory.filename = "data/twoelems.mesh" importer.inventory.coordsys = cs importer._configure() mesh = importer.read(debug=False, interpolate=False) material.preinitialize(mesh) # No test of result. return