MCPcopy Create free account
hub / github.com/OpenFOAM/OpenFOAM-dev / setFromCellLoops

Function setFromCellLoops

src/dynamicMesh/meshCut/cellCuts/cellCuts.C:2119–2200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2117
2118
2119void Foam::cellCuts::setFromCellLoops()
2120{
2121 // 'Uncut' edges/vertices that are not used in loops.
2122 pointIsCut_ = false;
2123
2124 edgeIsCut_ = false;
2125
2126 faceSplitCut_.clear();
2127
2128 forAll(cellLoops_, celli)
2129 {
2130 const labelList& loop = cellLoops_[celli];
2131
2132 if (loop.size())
2133 {
2134 // Storage for cross-face cuts
2135 Map<edge> faceSplitCuts(loop.size());
2136 // Storage for points on one side of cell.
2137 labelList anchorPoints;
2138
2139 if
2140 (
2141 !validLoop
2142 (
2143 celli,
2144 loop,
2145 loopWeights(loop),
2146 faceSplitCuts,
2147 anchorPoints
2148 )
2149 )
2150 {
2151 //writeOBJ(".", celli, loopPoints(celli), anchorPoints);
2152
2153 WarningInFunction
2154 << "Illegal loop " << loop
2155 << " when recreating cut-addressing"
2156 << " from existing cellLoops for cell " << celli
2157 << endl;
2158
2159 cellLoops_[celli].setSize(0);
2160 cellAnchorPoints_[celli].setSize(0);
2161 }
2162 else
2163 {
2164 // Copy anchor points.
2165 cellAnchorPoints_[celli].transfer(anchorPoints);
2166
2167 // Copy faceSplitCuts into overall faceSplit info.
2168 forAllConstIter(Map<edge>, faceSplitCuts, iter)
2169 {
2170 faceSplitCut_.insert(iter.key(), iter());
2171 }
2172
2173 // Update edgeIsCut, pointIsCut information
2174 forAll(loop, cutI)
2175 {
2176 label cut = loop[cutI];

Callers 2

calcLoopsAndAddressingFunction · 0.85
cellCuts.CFile · 0.85

Calls 10

validLoopFunction · 0.85
setFromCellLoopFunction · 0.85
forAllFunction · 0.50
forAllConstIterFunction · 0.50
clearMethod · 0.45
sizeMethod · 0.45
setSizeMethod · 0.45
transferMethod · 0.45
insertMethod · 0.45
keyMethod · 0.45

Tested by

no test coverage detected