Source code for pyfem.materials.MultiMaterial

# SPDX-License-Identifier: MIT
# Copyright (c) 2011–2026 Joris J.C. Remmers

from pyfem.materials.BaseMaterial import BaseMaterial
from pyfem.materials.MaterialManager import MaterialManager

from numpy import zeros, dot

[docs] class MultiMaterial( BaseMaterial ): def __init__ ( self, props ): BaseMaterial.__init__( self, props ) self.matmodels = [] for material in self.materials: matProps = getattr( props , material ) matProps.rank = props.rank matProps.solverStat = self.solverStat matmodel = MaterialManager( getattr( props , material ) ) self.matmodels.append( matmodel ) #------------------------------------------------------------------------------- # #-------------------------------------------------------------------------------
[docs] def getStress( self, deformation ): stress, tang = self.matmodels[deformation.iMat].getStress( deformation ) self.outData = self.matmodels[deformation.iMat].outData() return stress , tang