def getCellField(self, name, fields=None): """ Get cell field. """ if None == fields: field = ModuleFaultCohesiveImpulses.cellField(self, name) else: field = ModuleFaultCohesiveImpulses.cellField(self, name, fields) return field
def getVertexField(self, name, fields=None): """ Get vertex field. """ if None == fields: field = ModuleFaultCohesiveImpulses.vertexField(self, name) else: field = ModuleFaultCohesiveImpulses.vertexField(self, name, fields) return field
def verifyConfiguration(self): """ Verify compatibility of configuration. """ logEvent = "%sverify" % self._loggingPrefix self._eventLogger.eventBegin(logEvent) FaultCohesive.verifyConfiguration(self) Integrator.verifyConfiguration(self) ModuleFaultCohesiveImpulses.verifyConfiguration(self, self.mesh()) self._eventLogger.eventEnd(logEvent) return
def preinitialize(self, mesh): """ Do pre-initialization setup. """ from pylith.mpi.Communicator import mpi_comm_world comm = mpi_comm_world() if 0 == comm.rank: self._info.log("Pre-initializing fault '%s'." % self.label()) FaultCohesive.preinitialize(self, mesh) Integrator.preinitialize(self, mesh) ModuleFaultCohesiveImpulses.quadrature(self, self.faultQuadrature) if mesh.dimension() == 2: self.availableFields['vertex']['info'] += ["strike_dir"] elif mesh.dimension() == 3: self.availableFields['vertex']['info'] += ["strike_dir", "dip_dir"] return
def _configure(self): """ Setup members using inventory. """ import numpy FaultCohesive._configure(self) self.output = self.inventory.output ModuleFaultCohesiveImpulses.threshold(self, self.inventory.threshold.value) impulseDOF = numpy.array(self.inventory.impulseDOF, dtype=numpy.int32) ModuleFaultCohesiveImpulses.impulseDOF(self, impulseDOF) ModuleFaultCohesiveImpulses.dbImpulseAmp(self, self.inventory.dbImpulseAmp) return
def _createModuleObj(self): """ Create handle to C++ FaultCohesiveImpulses. """ ModuleFaultCohesiveImpulses.__init__(self) return