65 omp_set_lock(&initLock);
67 omp_unset_lock(&initLock);
74 for (
int ie=0; ie<
domain->giveNumberOfElements(); ie++) {
78 int nbc =
domain->giveNumberOfBoundaryConditions();
79 for (
int ibc = 1; ibc <= nbc; ++ibc ) {
91 if ( ( bodyLoad =
dynamic_cast< BodyLoad *
>(bc) ) ) {
93 for (
int ielem = 1; ielem <= elements.
giveSize(); ++ielem ) {
95 this->
elemList[elements.
at(ielem)-1].push_back(entry);
97 }
else if ( ( bLoad =
dynamic_cast< BoundaryLoad *
>(bc) ) ) {
99 for (
int ibnd = 1; ibnd <= boundaries.
giveSize() / 2; ++ibnd ) {
100 int eid = boundaries.
at(ibnd * 2 - 1) ;
101 int bid = boundaries.
at(ibnd * 2);
102 Entry entry (ibc, bid);
103 this->
elemList[eid-1].push_back(entry);
108 for (
int ibnd = 1; ibnd <= edgeBoundaries.
giveSize() / 2; ++ibnd ) {
109 int eid = edgeBoundaries.
at(ibnd * 2 - 1) ;
110 int bid = edgeBoundaries.
at(ibnd * 2);
111 Entry entry(ibc, bid);
112 this->
elemList[eid-1].push_back(entry);
118 for (
int ielem = 1; ielem <= elements.
giveSize(); ++ielem ) {
119 Entry entry (ibc, 0);
120 this->
elemList[elements.
at(ielem)-1].push_back(entry);
128 omp_unset_lock(&initLock);
Helper class storing a sigle record for component (element, node, etc).