Skip to content

Commit

Permalink
Bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
uphoffc authored and swollherr committed May 14, 2018
1 parent 27e4416 commit f077d72
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 16 deletions.
14 changes: 3 additions & 11 deletions generated_code/DynamicRupture.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,17 +59,9 @@ def addMatrices(db, matricesDir, order, dynamicRuptureMethod, numberOfElasticQua

# Determine matrices
# Note: This does only work because the flux does not depend on the mechanisms in the case of viscoelastic attenuation
godunovMatrixSpp = np.matlib.zeros((numberOfQuantities,numberOfQuantities))
godunovMatrixSpp[0:numberOfElasticQuantities,0:numberOfElasticQuantities] = 1.
db.insert(DB.MatrixInfo('godunovMatrix', numberOfQuantities, numberOfQuantities, matrix=godunovMatrixSpp))

fluxSolverSpp = np.matlib.zeros((numberOfQuantities,numberOfQuantities))
fluxSolverSpp[0:numberOfElasticQuantities,:] = 1.
db.insert(DB.MatrixInfo('fluxSolver', numberOfQuantities, numberOfQuantities, matrix=fluxSolverSpp))

godunovStateSpp = np.matlib.zeros((numberOfPoints,numberOfQuantities))
godunovStateSpp[:,0:numberOfElasticQuantities] = 1.
db.insert(DB.MatrixInfo('godunovState', numberOfPoints, numberOfQuantities, matrix=godunovStateSpp))
db.insert(DB.MatrixInfo('godunovMatrix', numberOfElasticQuantities, numberOfElasticQuantities))
db.insert(DB.MatrixInfo('fluxSolver', numberOfElasticQuantities, numberOfQuantities))
db.insert(DB.MatrixInfo('godunovState', numberOfPoints, numberOfElasticQuantities))

stiffnessOrder = { 'Xi': 0, 'Eta': 1, 'Zeta': 2 }
globalMatrixIdRules = [
Expand Down
3 changes: 2 additions & 1 deletion generated_code/viscoelastic2.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@
db.insert(DB.MatrixInfo('reducedTimeIntegratedDofs', numberOfBasisFunctions, numberOfReducedQuantities))
db.insert(DB.MatrixInfo('reducedDofs', numberOfBasisFunctions, numberOfReducedQuantities))
db.insert(DB.MatrixInfo('mechanism', numberOfBasisFunctions, numberOfMechanismQuantities))
db.insert(DB.MatrixInfo('timeDerivative0_elastic', numberOfBasisFunctions, numberOfElasticQuantities))

volume = db['kXiDivM'] * db['reducedTimeIntegratedDofs'] * db['AstarT'] \
+ db['kEtaDivM'] * db['reducedTimeIntegratedDofs'] * db['BstarT'] \
Expand Down Expand Up @@ -136,7 +137,7 @@
source = db['mechanism'] * db['ET']
kernels.append(Kernel.Prototype('source', source))

DynamicRupture.addKernels(db, kernels, 'reducedDofs')
DynamicRupture.addKernels(db, kernels, 'timeDerivative0_elastic')
Plasticity.addKernels(db, kernels)
SurfaceDisplacement.addKernels(db, kernels)

Expand Down
8 changes: 4 additions & 4 deletions src/Initializer/CellLocalMatrices.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,8 @@ void seissol::initializers::initializeDynamicRuptureMatrices( MeshReader const&
GlobalData const& global,
TimeStepping const&/* timeStepping*/ )
{
real TData[seissol::model::godunovMatrix::rows * seissol::model::godunovMatrix::cols];
real TinvData[seissol::model::godunovMatrix::rows * seissol::model::godunovMatrix::cols];
real TData[seissol::model::AplusT::rows * seissol::model::AplusT::cols];
real TinvData[seissol::model::AplusT::rows * seissol::model::AplusT::cols];
real QgodLocalData[9*9];
real QgodNeighborData[9*9];
real APlusData[seissol::model::AstarT::reals];
Expand Down Expand Up @@ -340,8 +340,8 @@ void seissol::initializers::initializeDynamicRuptureMatrices( MeshReader const&
}

/// Transformation matrix
DenseMatrixView<seissol::model::godunovMatrix::rows, seissol::model::godunovMatrix::cols> T(TData);
DenseMatrixView<seissol::model::godunovMatrix::cols, seissol::model::godunovMatrix::rows> Tinv(TinvData);
DenseMatrixView<seissol::model::AplusT::rows, seissol::model::AplusT::cols> T(TData);
DenseMatrixView<seissol::model::AplusT::cols, seissol::model::AplusT::rows> Tinv(TinvData);
seissol::model::getFaceRotationMatrix(fault[meshFace].normal, fault[meshFace].tangent1, fault[meshFace].tangent2, T, Tinv);

/// Materials
Expand Down

0 comments on commit f077d72

Please sign in to comment.