Skip to content
Snippets Groups Projects
Commit f0c2a511 authored by podlesny's avatar podlesny
Browse files

.

parent 15e97530
No related branches found
No related tags found
No related merge requests found
......@@ -41,7 +41,7 @@ class LevelInterfaceNetworkWriter {
writeVertex(vertices[i], file);
file << " -- ";
writeVertex(vertices[j], file);
file << ";\n";
file << ";%\n";
}
}
}
......@@ -76,23 +76,23 @@ class LevelInterfaceNetworkWriter {
if (file.is_open()) {
// define custom MATLAB colors
file << "\\definecolor{MATLABred}{RGB}{162,20,47}\n";
file << "\\definecolor{MATLABblue}{RGB}{0,114,189}\n";
file << "\\definecolor{MATLABgreen}{RGB}{60,140,40}\n";
file << "\\definecolor{MATLABorange}{RGB}{212,83,25}\n";
file << "\\definecolor{MATLAByellow}{RGB}{237,177,32}\n";
file << "\\definecolor{lightGray}{RGB}{211,211,211}\n";
file << "\n";
file << "\\colorlet{boundary}{black}\n";
file << "\\colorlet{grid}{lightGray}\n";
file << "\\definecolor{MATLABred}{RGB}{162,20,47}%\n";
file << "\\definecolor{MATLABblue}{RGB}{0,114,189}%\n";
file << "\\definecolor{MATLABgreen}{RGB}{60,140,40}%\n";
file << "\\definecolor{MATLABorange}{RGB}{212,83,25}%\n";
file << "\\definecolor{MATLAByellow}{RGB}{237,177,32}%\n";
file << "\\definecolor{lightGray}{RGB}{211,211,211}%\n";
file << "%\n";
file << "\\colorlet{boundary}{black}%\n";
file << "\\colorlet{grid}{lightGray}%\n";
for (size_t i=0; i<=levelInterfaceNetwork.level(); i++) {
file << "\\colorlet{level" << i << "}{black}\n";
file << "\\colorlet{level" << i << "}{black}%\n";
}
file << "\n";
file << "%\n";
file << "\\begin{tikzpicture}[scale=\\scale]\n";
file << "\\begin{tikzpicture}[scale=\\scale]%\n";
const GridView& gridView = levelInterfaceNetwork.levelGridView();
......@@ -147,7 +147,7 @@ class LevelInterfaceNetworkWriter {
}
}
file << "\\end{tikzpicture}\n";
file << "\\end{tikzpicture}%";
file.close();
} else {
DUNE_THROW(Exception, "Unable to open " << filePath_ << " for writing!");
......
......@@ -161,8 +161,8 @@ int main(int argc, char** argv) { try
CantorFaultFactory<GridType> faultFactory(levelToCantorLevel, coarseResolution, exactLevelIdx, maxCantorLevel);
const InterfaceNetwork<GridType>& interfaceNetwork = faultFactory.interfaceNetwork();
/*if (problemCount==0) {
std::vector<int> writeLevels {1, 2, 8};
if (problemCount==0) {
std::vector<int> writeLevels {1, 2};
for (size_t i=0; i<writeLevels.size(); i++) {
int writeLevel = writeLevels[i];
bool writeGrid = !(writeLevel==8);
......@@ -170,7 +170,7 @@ int main(int argc, char** argv) { try
LevelInterfaceNetworkWriter networkWriter(resultPath + "levelinterfacenetwork_" + std::to_string(writeLevel) + ".tikz");
networkWriter.write(interfaceNetwork.levelInterfaceNetwork(writeLevel), writeGrid);
}
}*/
}
const GridType& grid = faultFactory.grid();
......
......@@ -154,16 +154,16 @@ int main(int argc, char** argv) { try
SparseCantorFaultFactory<GridType> faultFactory(minCantorLevel, maxCantorLevel);
const auto& interfaceNetwork = faultFactory.interfaceNetwork();
if (problemCount==0) {
std::vector<int> writeLevels {0, 1, 2};
/* if (problemCount==0) {
std::vector<int> writeLevels {0, 2, 4, 6, 8};
for (size_t i=0; i<writeLevels.size(); i++) {
int writeLevel = writeLevels[i];
bool writeGrid = !(writeLevel==8);
bool writeGrid = false; //writeLevel<7;
LevelInterfaceNetworkWriter networkWriter(resultPath + "levelinterfacenetwork_" + std::to_string(writeLevel) + ".tikz");
networkWriter.write(interfaceNetwork.levelInterfaceNetwork(writeLevel), writeGrid);
}
}
}*/
const GridType& grid = faultFactory.grid();
......@@ -195,7 +195,7 @@ int main(int argc, char** argv) { try
std::vector<std::shared_ptr<LocalInterfaceAssembler>> coarseLocalInterfaceAssemblers(coarseLevelInterfaceNetwork.size());
for (size_t i=0; i<coarseLocalInterfaceAssemblers.size(); i++) {
const int k = minCantorLevel + coarseLevelInterfaceNetwork.getIntersectionsLevels().at(i);
const int k = minCantorLevel + coarseLevelInterfaceNetwork.getIntersectionsLevels().at(i)/2;
const double pen = (1+1.0/c) * std::pow(1.0+c, k) * std::pow(2.0, k);
coarseLocalInterfaceAssemblers[i] = std::make_shared<LocalInterfaceAssembler>(B, 2, pen);
}
......@@ -236,7 +236,7 @@ int main(int argc, char** argv) { try
std::vector<std::shared_ptr<LocalInterfaceAssembler>> exactLocalInterfaceAssemblers(exactLevelInterfaceNetwork.size());
for (size_t i=0; i<exactLocalInterfaceAssemblers.size(); i++) {
const int k = minCantorLevel + exactLevelInterfaceNetwork.getIntersectionsLevels().at(i);
const int k = minCantorLevel + exactLevelInterfaceNetwork.getIntersectionsLevels().at(i)/2;
const double pen = (1+1.0/c) * std::pow(1.0+c, k) * std::pow(2.0, k);
exactLocalInterfaceAssemblers[i] = std::make_shared<LocalInterfaceAssembler>(B, 2, pen);
}
......@@ -264,7 +264,7 @@ int main(int argc, char** argv) { try
std::vector<std::shared_ptr<LocalInterfaceAssembler>> fineLocalInterfaceAssemblers(fineLevelInterfaceNetwork.size());
for (size_t i=0; i<fineLocalInterfaceAssemblers.size(); i++) {
const int k = minCantorLevel + fineLevelInterfaceNetwork.getIntersectionsLevels().at(i);
const int k = minCantorLevel + fineLevelInterfaceNetwork.getIntersectionsLevels().at(i)/2;
const double pen = (1+1.0/c) * std::pow(1.0+c, k) * std::pow(2.0, k);
fineLocalInterfaceAssemblers[i] = std::make_shared<LocalInterfaceAssembler>(B, 2, pen);
}
......@@ -298,7 +298,7 @@ int main(int argc, char** argv) { try
std::vector<std::shared_ptr<LocalInterfaceAssembler>>& levelLocalIntersectionAssemblers = localIntersectionAssemblers[i];
levelLocalIntersectionAssemblers.resize(levelInterfaceNetwork.size());
for (size_t j=0; j<levelLocalIntersectionAssemblers.size(); j++) {
const int k = minCantorLevel + levelInterfaceNetwork.getIntersectionsLevels().at(j);
const int k = minCantorLevel + levelInterfaceNetwork.getIntersectionsLevels().at(j)/2;
const double pen = (1+1.0/c) * std::pow(1.0+c, k) * std::pow(2.0, k);
levelLocalIntersectionAssemblers[j] = std::make_shared<LocalInterfaceAssembler>(B, 2, pen);
}
......
......@@ -3,7 +3,7 @@ resultPath = ../cantorfaultnetworks/results/sparse/
[preconditioner]
patch = SUPPORT # CELL , SUPPORT
mode = MULTIPLICATIVE # ADDITIVE , MULTIPLICATIVE
mode = ADDITIVE # ADDITIVE , MULTIPLICATIVE
multDirection = SYMMETRIC # SYMMETRIC , FORWARD , BACKWARD
patchDepth = 1
......@@ -12,6 +12,37 @@ patchDepth = 1
[problem0]
oscDataFile = oscDataLaplace4.mat
# level resolution in 2^(-...)
coarseCantorLevel = 1
fineCantorLevel = 2
maxCantorLevel = 3
penaltyFactor = 1
# cg solver
nestedIteration = 0
tol = 1e-12
maxIterations = 8
[problem1]
oscDataFile = oscDataLaplace4.mat
# level resolution in 2^(-...)
coarseCantorLevel = 1
fineCantorLevel = 3
maxCantorLevel = 4
penaltyFactor = 1
# cg solver
nestedIteration = 0
tol = 1e-12
maxIterations = 8
[problem2]
oscDataFile = oscDataLaplace4.mat
# level resolution in 2^(-...)
coarseCantorLevel = 1
fineCantorLevel = 4
......@@ -23,5 +54,3 @@ penaltyFactor = 1
nestedIteration = 0
tol = 1e-12
maxIterations = 8
###########################################
......@@ -7,19 +7,21 @@
\def\scale{6}
\begin{minipage}[t]{0.45\linewidth}
\flushleft
\input{levelinterfacenetwork_0.tikz}\\
%\input{levelinterfacenetwork_0.tikz}\\
\vspace{2em}
\input{levelinterfacenetwork_1.tikz}\\
%\input{levelinterfacenetwork_1.tikz}\\
\vspace{2em}
\input{levelinterfacenetwork_2.tikz}\\
%\input{levelinterfacenetwork_2.tikz}\\
\vfill
\end{minipage}
\hspace{3em}
\begin{minipage}[t]{0.45\linewidth}
\flushright
\input{levelinterfacenetwork_3.tikz}\\
%\input{levelinterfacenetwork_3.tikz}\\
\vspace{2em}
\input{levelinterfacenetwork_4.tikz}
%\input{levelinterfacenetwork_4.tikz}\\
\vspace{2em}
\input{levelinterfacenetwork_5.tikz}
\vfill
\end{minipage}
\end{document}
\ No newline at end of file
......@@ -2,7 +2,7 @@ path = ../data/
resultPath = ../geofaultnetworks/results/rock/
[network]
randomSeed = 5
randomSeed = 15
maxAngle = 2.0
[preconditioner]
......@@ -17,7 +17,24 @@ patchDepth = 1
oscDataFile = oscDataLaplace4.mat
# level resolution in 2^(-...)
coarseResolution = 5
coarseResolution = 4
fineResolution = 9
exactResolution = 10
penaltyFactor = 1
# cg solver
nestedIteration = 0
tol = 1e-12
maxIterations = 8
###########################################
[problem1]
oscDataFile = oscDataLaplace4.mat
# level resolution in 2^(-...)
coarseResolution = 4
fineResolution = 8
exactResolution = 9
......@@ -29,3 +46,54 @@ tol = 1e-12
maxIterations = 8
###########################################
[problem2]
oscDataFile = oscDataLaplace4.mat
# level resolution in 2^(-...)
coarseResolution = 4
fineResolution = 7
exactResolution = 8
penaltyFactor = 1
# cg solver
nestedIteration = 0
tol = 1e-12
maxIterations = 8
###########################################
[problem3]
oscDataFile = oscDataLaplace4.mat
# level resolution in 2^(-...)
coarseResolution = 4
fineResolution = 6
exactResolution = 7
penaltyFactor = 1
# cg solver
nestedIteration = 0
tol = 1e-12
maxIterations = 8
###########################################
[problem4]
oscDataFile = oscDataLaplace4.mat
# level resolution in 2^(-...)
coarseResolution = 4
fineResolution = 5
exactResolution = 6
penaltyFactor = 1
# cg solver
nestedIteration = 0
tol = 1e-12
maxIterations = 8
###########################################
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment