#include "petscmat.h"
#include "omg.h"
#include "oda.h"
#include "odaUtils.h"
#include "elasticityJac.h"
Go to the source code of this file.
Definition in file elasticityJac.C.
|
Definition at line 321 of file elasticityJac.C. Referenced by ComputeElasticityMat(). |
|
Definition at line 241 of file elasticityJac.C. |
|
Value: {\ unsigned int idx = da->curr();\ unsigned int lev = da->getLevel(idx);\ double h = hFac*(1u << (maxD - lev));\ double fac = h/2.0;\ unsigned int indices[8];\ da->getNodeIndices(indices);\ unsigned char childNum = da->getChildNumber();\ unsigned char hnMask = da->getHangingNodeIndex(idx);\ unsigned char elemType = 0;\ GET_ETYPE_BLOCK(elemType,hnMask,childNum)\ for(int k = 0;k < 8;k++) {\ /*Insert values for Dirichlet Node Rows only.*/\ if(bdyArr[indices[k]]) {\ for(int dof = 0; dof < 3; dof++) {\ ot::MatRecord currRec;\ currRec.rowIdx = indices[k];\ currRec.colIdx = indices[k];\ currRec.rowDim = dof;\ currRec.colDim = dof;\ currRec.val = 1.0;\ records.push_back(currRec);\ } /*end for dof*/\ }\ } /*end for k*/\ if(records.size() > 1000) {\ /*records will be cleared inside the function*/\ da->setValuesInMatrix(B, records, 3, INSERT_VALUES);\ }\ } Definition at line 290 of file elasticityJac.C. |
|
Value: {\ ot::DA* da = damg->da;\ ElasticityData* data = (static_cast<ElasticityData*>(damg->user));\ iC(VecZeroEntries(diag));\ PetscScalar *diagArr = NULL;\ unsigned char* bdyArr = data->bdyArr;\ double mu = data->mu;\ double lambda = data->lambda;\ unsigned int maxD;\ double hFac;\ /*Nodal,Non-Ghosted,Write,3 dof*/\ da->vecGetBuffer(diag,diagArr,false,false,false,3);\ if(da->iAmActive()) {\ maxD = (da->getMaxDepth());\ hFac = 1.0/((double)(1u << (maxD-1)));\ /*Loop through All Elements including ghosted*/\ for(da->init<ot::DA_FLAGS::ALL>();\ da->curr() < da->end<ot::DA_FLAGS::ALL>();\ da->next<ot::DA_FLAGS::ALL>()) {\ ELASTICITY_ELEM_DIAG_BLOCK \ } /*end i*/\ } /*end if active*/\ da->vecRestoreBuffer(diag,diagArr,false,false,false,3);\ /*2 IOP = 1 FLOP. Loop counters are included too.*/\ PetscLogFlops(235*(da->getGhostedElementSize()));\ } Definition at line 75 of file elasticityJac.C. Referenced by ElasticityMatGetDiagonal(). |
|
Value: {\ unsigned int idx = da->curr();\ unsigned int lev = da->getLevel(idx);\ double h = hFac*(1u << (maxD - lev));\ double fac = h/2.0;\ unsigned int indices[8];\ da->getNodeIndices(indices);\ unsigned char childNum = da->getChildNumber();\ unsigned char hnMask = da->getHangingNodeIndex(idx);\ unsigned char elemType = 0;\ GET_ETYPE_BLOCK(elemType,hnMask,childNum)\ for(int k = 0; k < 8; k++) {\ if(bdyArr[indices[k]]) {\ /*Dirichlet Node*/\ for(int dof = 0; dof < 3; dof++) {\ diagArr[(3*indices[k])+dof] = 1.0;\ } /*end dof*/\ } else { \ for(int dof = 0; dof < 3; dof++) {\ diagArr[(3*indices[k])+dof] += (fac*(\ (mu*LaplacianType2Stencil[childNum][elemType][k][k])\ + ((mu+lambda)*GradDivType2Stencil[childNum][elemType][(3*k) + dof][(3*k) + dof])));\ } /*end dof*/\ }\ } /*end k*/\ } Definition at line 48 of file elasticityJac.C. |
|
Definition at line 130 of file elasticityJac.C. |
|
Definition at line 168 of file elasticityJac.C. Referenced by ElasticityMatMult(). |
|
Definition at line 360 of file elasticityJac.C. References BUILD_FULL_ELASTICITY_BLOCK, ot::DAMG, ElasticityData::Jmat_private, and ot::_p_DAMG::user. Referenced by main(). |
|
|
|
Definition at line 485 of file elasticityJac.C. References ElasticityData::bdyArr, ot::DAMG, ElasticityData::inTmp, ElasticityData::Jmat_private, ot::_p_DAMG::nlevels, ElasticityData::outTmp, and ot::_p_DAMG::user. Referenced by main(). |
|
Definition at line 653 of file elasticityJac.C. Referenced by CreateElasticityMat(). |
|
Definition at line 102 of file elasticityJac.C. References ot::DAMG, ELASTICITY_DIAG_BLOCK, and iC. Referenced by CreateElasticityMat(). |
|
Definition at line 212 of file elasticityJac.C. References ot::DAMG, ELASTICITY_MULT_BLOCK, and iC. Referenced by CreateElasticityMat(). |
|
Definition at line 510 of file elasticityJac.C. References ot::DAMG, iC, ElasticityData::inTmp, ElasticityData::Jmat_private, and ElasticityData::outTmp. Referenced by CreateElasticityMat(). |
|
Definition at line 23 of file elasticityJac.C. References ot::DAMG, ot::DA::getCommActive(), and ot::DA::iAmActive(). |
|
Definition at line 771 of file elasticityJac.C. References ot::DAMG, and ot::DA::getNodeSize(). |
|
Definition at line 35 of file elasticityJac.C. References ot::DAMG, and ElasticityData::Jmat_private. |
|
|
Definition at line 71 of file elasticitySolver.C. Referenced by computeInvBlockDiagEntriesForElasticityMat(), and main(). |
|