114 std::vector<int> essEqns;
115 std::vector<double> essGamma;
119 int localsize = vecSpace->getNumIndices_Owned();
120 bool zeroSharedRows =
false;
126 std::map<int,fei::FillableMat*>::iterator
127 it = remotes.begin(),
128 it_end = remotes.end();
129 for(; it!=it_end; ++it) {
137 int len = essEqns.size();
138 essEqns.resize(len*3);
139 int* nodeNumbers = &essEqns[0]+len;
140 int* dof_ids = nodeNumbers+len;
143 int* essEqnsPtr = &essEqns[0];
144 double* gammaPtr = &essGamma[0];
146 for(
int i=0; i<len; ++i) {
147 int eqn = essEqnsPtr[i];
148 nodeNumbers[i] =
lookup_->getAssociatedNodeNumber(eqn);
149 int fieldID =
lookup_->getAssociatedFieldID(eqn);
150 int base_eqn =
lookup_->getEqnNumber(nodeNumbers[i], fieldID);
151 dof_ids[i]=vecSpace->getFieldDofMap().get_dof_id(fieldID, eqn-base_eqn);
155 CHK_ERR(
feData_->setDirichletBCs(len, nodeNumbers, dof_ids, gammaPtr) );