Liebe Gitlab-Nutzer, lieber Gitlab-Nutzer, es ist nun möglich sich mittels des ZIH-Logins/LDAP an unserem Dienst anzumelden. Ein Anmelden über dieses erzeugt ein neues Konto. Das alte Konto ist über den Reiter "Standard" erreichbar. Die Administratoren

Dear Gitlab user, it is now possible to log in to our service using the ZIH login/LDAP. Logging in via this will create a new account. The old account can be accessed via the "Standard" tab. The administrators

Commit a4c463df authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

And some more work on demos and tutorial.

parent 4b9e369e
......@@ -28,12 +28,9 @@
namespace AMDiS {
/// Contains boundary constants
/// Flag to denote interior boundaryies.
typedef enum {
INTERIOR = 0, /**< interior => no boundary (b = 0) */
DIRICHLET = 1, /**< dirichlet boundary (b > 0) */
NEUMANN = -1, /**< neumann boundary (-100 < b < 0) */
ROBIN = -100 /**< robin boundary (b <= -100) */
INTERIOR = 0
} BoundaryConstants;
/// Type specifier for the different boundary types
......
......@@ -491,12 +491,16 @@ namespace AMDiS {
void MacroInfo::dirichletBoundary()
{
// === Traverse all elements and set either interior boundaries, if the ===
// === element has a neighbour on this bound. Otherwise set some arbitrary ===
// === Dirichlet boundary conditions. ===
for (int i = 0; i < static_cast<int>(mel.size()); i++)
for (int k = 0; k < mesh->getGeo(NEIGH); k++)
if (mel[i]->neighbour[k])
mel[i]->boundary[k] = INTERIOR;
else
mel[i]->boundary[k] = DIRICHLET;
mel[i]->boundary[k] = 1;
}
......@@ -521,13 +525,17 @@ namespace AMDiS {
++melIt, i++) {
for (int j = 0; j < mesh->getGeo(NEIGH); j++) {
if ((*melIt)->getBoundary(j) != INTERIOR) {
if ((*melIt)->getBoundary(j) >= DIRICHLET) {
if ((*melIt)->getBoundary(j) > 0) {
// Here we have some Dirichlet boundary conditions.
int j1 = mel_vertex[i][(j + 1) % 3];
int j2 = mel_vertex[i][(j + 2) % 3];
bound[j1] = std::max(bound[j1], (*melIt)->getBoundary(j));
bound[j2] = std::max(bound[j2], (*melIt)->getBoundary(j));
} else if ((*melIt)->getBoundary(j) <= NEUMANN) {
} else {
// Otherwise we have some Neumann boundary conditions.
int j1 = mel_vertex[i][(j + 1) % 3];
int j2 = mel_vertex[i][(j + 2) % 3];
......
......@@ -26,16 +26,7 @@ ball->adapt->max iteration: 4
ball->adapt->info: 8
ball->output->filename: ball
ball->output->ParaView format: 1
ball->output->TecPlot format: 0
ball->output->TecPlot ext: .tec
ball->output->AMDiS format: 0
ball->output->AMDiS mesh ext: .mesh
ball->output->AMDiS data ext: .dat
ball->output->append index: 0
ball->output->index length: 6
ball->output->index decimals: 3
......
......@@ -16,10 +16,6 @@ ball->estimator: 0
ball->marker->strategy: 0 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
ball->output->filename: output/ball
ball->output->ParaView format: 1
ball->output->AMDiS format: 0
ball->output->AMDiS mesh ext: .mesh
ball->output->AMDiS data ext: .dat
......@@ -20,27 +20,18 @@ bunny->estimator->error norm: 1 % 1: H1_NORM, 2: L2_NORM
bunny->estimator->C1: 0.1 % constant of jump residual
bunny->marker->strategy: 0 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
bunny->marker->MSGamma: 0.5
bunny->adapt->tolerance: 1e-8
bunny->adapt->refine bisections: 1
bunny->adapt->max iteration: 0
bunny->adapt->info: 8
bunny->output->filename: bunny_fixed
bunny->output->ParaView format: 1
bunny->output->TecPlot format: 0
bunny->output->TecPlot ext: .tec
bunny->output->AMDiS format: 0
bunny->output->AMDiS mesh ext: .mesh
bunny->output->AMDiS data ext: .dat
bunny->output->append index: 0
bunny->output->index length: 6
bunny->output->index decimals: 3
bunny->marker->MSGamma: 0.5
bunny->adapt->tolerance: 1e-8
bunny->adapt->refine bisections: 1
bunny->adapt->max iteration: 0
bunny->adapt->info: 8
bunny->output->filename: bunny_fixed
bunny->output->ParaView format: 1
bunny->output->append index: 0
bunny->output->index length: 6
bunny->output->index decimals: 3
WAIT: 1
......@@ -4,7 +4,7 @@ heatMesh->macro file name: ./macro/macro.stand.1d
heatMesh->global refinements: 0
heat->space->polynomial degree: 1
heat->space->dim: 1
heat->space->dim: 1
heat->space->mesh: heatMesh
heat->space->solver: cg
......
......@@ -24,10 +24,5 @@ neumann->adapt->tolerance: 1e-2
neumann->adapt->max iteration: 100
neumann->adapt->refine bisections: 2
neumann->output->filename: output/neumann
neumann->output->filename: output/neumann
neumann->output->ParaView format: 1
neumann->output->AMDiS format: 0
neumann->output->AMDiS mesh ext: .mesh
neumann->output->AMDiS data ext: .dat
......@@ -19,7 +19,7 @@ parametric->estimator->error norm: 1 % 1: H1_NORM, 2: L2_NORM
parametric->estimator->C1: 0.1 % constant of jump residual
parametric->marker->strategy: 2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
parametric->marker->MSGamma: 0.5
parametric->marker->MSGamma: 0.5
parametric->adapt->tolerance: 1e-8
parametric->adapt->refine bisections: 1
......@@ -27,19 +27,10 @@ parametric->adapt->max iteration: 8
parametric->adapt->info: 8
parametric->output->filename: parametric
parametric->output->ParaView format: 1
parametric->output->TecPlot format: 0
parametric->output->TecPlot ext: .tec
parametric->output->AMDiS format: 0
parametric->output->AMDiS mesh ext: .mesh
parametric->output->AMDiS data ext: .dat
parametric->output->append index: 0
parametric->output->index length: 6
parametric->output->index decimals: 3
parametric->output->append index: 0
parametric->output->index length: 6
parametric->output->index decimals: 3
WAIT: 1
dimension of world: 1
periodicMesh->macro file name: ./macro/periodic.macro.1d
periodicMesh->global refinements: 0
periodicMesh->periodic file: ./init/periodic.per.1d
periodicMesh->preserve coarse dofs: 0
periodicMesh->global refinements: 0
periodic->mesh: periodicMesh
periodic->dim: 1
......@@ -26,24 +23,15 @@ periodic->estimator->C1: 0.0 % constant of jump residual
periodic->marker->strategy: 2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
periodic->marker->MSGamma: 0.5
periodic->adapt->tolerance: 1e-6
periodic->adapt->max iteration: 14
periodic->adapt->tolerance: 1e-6
periodic->adapt->max iteration: 14
periodic->adapt->refine bisections: 2
periodic->adapt->coarsen allowed: 0
periodic->output->filename: periodic
periodic->adapt->coarsen allowed: 0
periodic->output->filename: periodic
periodic->output->ParaView format: 1
periodic->output->TecPlot format: 0
periodic->output->TecPlot ext: .tec
periodic->output->AMDiS format: 0
periodic->output->AMDiS mesh ext: .mesh
periodic->output->AMDiS data ext: .dat
periodic->output->append index: 0
periodic->output->index length: 6
periodic->output->index decimals: 3
periodic->output->append index: 0
periodic->output->index length: 6
periodic->output->index decimals: 3
WAIT: 1
dimension of world: 2
periodicMesh->macro file name: ./macro/periodic.macro.2d
periodicMesh->global refinements: 0
periodicMesh->periodic file: ./init/periodic.per.2d
periodicMesh->preserve coarse dofs: 0
periodicMesh->macro file name: ./macro/periodic.macro.2d
periodicMesh->periodic file: ./init/periodic.per.2d
periodicMesh->global refinements: 0
periodic->mesh: periodicMesh
periodic->dim: 2
......@@ -26,24 +23,14 @@ periodic->estimator->C1: 0.0 % constant of jump residual
periodic->marker->strategy: 2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
periodic->marker->MSGamma: 0.5
periodic->adapt->tolerance: 1e-2
periodic->adapt->max iteration: 100
periodic->adapt->tolerance: 1e-2
periodic->adapt->max iteration: 100
periodic->adapt->refine bisections: 2
periodic->adapt->coarsen allowed: 0
periodic->output->filename: output/periodic
periodic->adapt->coarsen allowed: 0
periodic->output->filename: output/periodic
periodic->output->ParaView format: 1
periodic->output->TecPlot format: 0
periodic->output->TecPlot ext: .tec
periodic->output->AMDiS format: 0
periodic->output->AMDiS mesh ext: .mesh
periodic->output->AMDiS data ext: .dat
periodic->output->append index: 0
periodic->output->index length: 6
periodic->output->index decimals: 3
periodic->output->index length: 6
periodic->output->index decimals: 3
WAIT: 0
dimension of world: 3
periodicMesh->macro file name: ./macro/periodic.macro.3d
periodicMesh->global refinements: 0
periodicMesh->periodic file: ./init/periodic.per.3d
periodicMesh->preserve coarse dofs: 0
periodicMesh->macro file name: ./macro/periodic.macro.3d
periodicMesh->periodic file: ./init/periodic.per.3d
periodicMesh->global refinements: 0
periodic->mesh: periodicMesh
periodic->dim: 3
......@@ -26,24 +23,15 @@ periodic->estimator->C1: 0.0 % constant of jump residual
periodic->marker->strategy: 2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
periodic->marker->MSGamma: 0.5
periodic->adapt->tolerance: 1e-6
periodic->adapt->max iteration: 100
periodic->adapt->tolerance: 1e-6
periodic->adapt->max iteration: 100
periodic->adapt->refine bisections: 3
periodic->adapt->coarsen allowed: 0
periodic->output->filename: periodic
periodic->adapt->coarsen allowed: 0
periodic->output->filename: periodic
periodic->output->ParaView format: 1
periodic->output->TecPlot format: 0
periodic->output->TecPlot ext: .tec
periodic->output->AMDiS format: 0
periodic->output->AMDiS mesh ext: .mesh
periodic->output->AMDiS data ext: .dat
periodic->output->append index: 0
periodic->output->index length: 6
periodic->output->index decimals: 3
periodic->output->append index: 0
periodic->output->index length: 6
periodic->output->index decimals: 3
WAIT: 1
......@@ -15,10 +15,7 @@ sphere->solver->left precon: diag
sphere->estimator: 0
sphere->marker->strategy: 0
sphere->output->filename: output/sphere
sphere->output->ParaView format: 1
sphere->output->AMDiS format: 0
sphere->output->AMDiS mesh ext: .mesh
sphere->output->AMDiS data ext: .dat
sphere->output->filename: output/sphere
sphere->output->ParaView format: 1
......@@ -14,9 +14,6 @@ torus->solver->left precon: diag
torus->estimator: 0
torus->marker->strategy: 0
torus->output->filename: output/torus
torus->output->filename: output/torus
torus->output->ParaView format: 1
torus->output->AMDiS format: 0
torus->output->AMDiS mesh ext: .mesh
torus->output->AMDiS data ext: .dat
......@@ -3,9 +3,9 @@ dimension of world: 1
vecheatMesh->macro file name: ./macro/macro.stand.1d
vecheatMesh->global refinements: 0
vecheat->space->polynomial degree[0]: 1
vecheat->space->polynomial degree[1]: 1
vecheat->space->polynomial degree[0]: 1
vecheat->space->polynomial degree[1]: 1
vecheat->space->dim: 1
vecheat->space->mesh: vecheatMesh
vecheat->space->components: 2
......@@ -29,25 +29,15 @@ vecheat->space->estimator[1]->C3: 1.0
vecheat->theta: 1.0
vecheat->adapt[0]->tolerance: 0.01
vecheat->adapt[1]->tolerance: 0.01
vecheat->adapt->timestep: 0.01
vecheat->adapt->max iteration: 2
vecheat->adapt->refine bisections: 1
vecheat->adapt->coarsen bisections: 1
vecheat->adapt[0]->tolerance: 0.01
vecheat->adapt[1]->tolerance: 0.01
vecheat->adapt[0]->time tolerance: 0.01
vecheat->adapt[1]->time tolerance: 0.01
vecheat->adapt[0]->rel space error: 0.5
vecheat->adapt[0]->rel time error: 0.5
vecheat->adapt[0]->info: 8
vecheat->adapt[0]->coarsen allowed: 1 % 0|1
vecheat->adapt[1]->rel space error: 0.5
vecheat->adapt[1]->rel time error: 0.5
vecheat->adapt[1]->info: 8
vecheat->adapt[1]->coarsen allowed: 1 % 0|1
vecheat->adapt->timestep: 0.01
vecheat->adapt->start time: 0.0
vecheat->adapt->end time: 1.0
vecheat->adapt->strategy: 1 % 0=explicit, 1=implicit
vecheat->adapt->max iteration: 1
......@@ -58,8 +48,6 @@ vecheat->initial->marker[1]->strategy: 2 % 0=none, 1=GR, 2=MS, 3=ES, 4=
vecheat->initial->adapt->max iteration: 10
vecheat->initial->adapt->info: 8
vecheat->space->dim: 1
vecheat->space->marker[0]->strategy: 3 % 0=none, 1=GR, 2=MS, 3=ES, 4=GERS
vecheat->space->marker[0]->ESTheta: 0.9
vecheat->space->marker[0]->ESThetaC: 0.05
......@@ -70,35 +58,19 @@ vecheat->space->marker[1]->ESTheta: 0.9
vecheat->space->marker[1]->ESThetaC: 0.05
vecheat->space->marker[1]->info: 8
vecheat->space->output[0]->filename: vecheat0_
vecheat->space->output[0]->ParaView format: 0
vecheat->space->output[0]->TecPlot format: 0
vecheat->space->output[0]->TecPlot ext: .tec
vecheat->space->output[0]->AMDiS format: 0
vecheat->space->output[0]->AMDiS mesh ext: .mesh
vecheat->space->output[0]->AMDiS data ext: .dat
vecheat->space->output[0]->append index: 1
vecheat->space->output[0]->index length: 6
vecheat->space->output[0]->index decimals: 3
vecheat->space->output[1]->filename: vecheat1_
vecheat->space->output[1]->ParaView format: 0
vecheat->space->output[1]->TecPlot format: 0
vecheat->space->output[1]->TecPlot ext: .tec
vecheat->space->output[1]->AMDiS format: 0
vecheat->space->output[1]->AMDiS mesh ext: .mesh
vecheat->space->output[1]->AMDiS data ext: .dat
vecheat->space->output[1]->append index: 1
vecheat->space->output[1]->index length: 6
vecheat->space->output[1]->index decimals: 3
vecheat->space->output[0]->filename: vecheat0_
vecheat->space->output[0]->ParaView format: 1
vecheat->space->output[0]->ParaView animation: 1
vecheat->space->output[0]->append index: 1
vecheat->space->output[0]->index length: 6
vecheat->space->output[0]->index decimals: 3
vecheat->space->output[1]->filename: vecheat1_
vecheat->space->output[1]->ParaView format: 1
vecheat->space->output[1]->ParaView animation: 1
vecheat->space->output[1]->append index: 1
vecheat->space->output[1]->index length: 6
vecheat->space->output[1]->index decimals: 3
WAIT: 0
......
......@@ -3,9 +3,9 @@ dimension of world: 2
vecheatMesh->macro file name: ./macro/macro.stand.2d
vecheatMesh->global refinements: 5
vecheat->space->polynomial degree[0]: 1
vecheat->space->polynomial degree[1]: 1
vecheat->space->polynomial degree[0]: 1
vecheat->space->polynomial degree[1]: 1
vecheat->space->dim: 2
vecheat->space->mesh: vecheatMesh
vecheat->space->components: 2
......@@ -32,21 +32,15 @@ vecheat->theta: 1.0
vecheat->adapt->refine bisections: 2
vecheat->adapt->coarsen bisections: 2
vecheat->adapt[0]->tolerance: 0.001
vecheat->adapt[0]->tolerance: 0.001
vecheat->adapt[0]->time tolerance: 0.1
vecheat->adapt[1]->time tolerance: 0.1
vecheat->adapt->timestep: 0.01
vecheat->adapt->max iteration: 2
vecheat->adapt[0]->tolerance: 0.001
vecheat->adapt[0]->tolerance: 0.001
vecheat->adapt[0]->time tolerance: 0.1
vecheat->adapt[1]->time tolerance: 0.1
vecheat->adapt[0]->info: 8
vecheat->adapt[0]->coarsen allowed: 1 % 0|1
vecheat->adapt->timestep: 0.01
vecheat->adapt->start time: 0.0
vecheat->adapt->end time: 1.0
vecheat->adapt[1]->info: 8
vecheat->adapt[1]->coarsen allowed: 1 % 0|1
vecheat->adapt->strategy: 1 % 0=explicit, 1=implicit
vecheat->adapt->max iteration: 1
......@@ -57,8 +51,6 @@ vecheat->initial->marker[1]->strategy: 2 % 0=none, 1=GR, 2=MS, 3=ES, 4=
vecheat->initial->adapt->max iteration: 10
vecheat->initial->adapt->info: 8
vecheat->space->dim: 2
vecheat->space->marker[0]->strategy: 3 % 0=none, 1=GR, 2=MS, 3=ES, 4=GERS
vecheat->space->marker[0]->ESTheta: 0.9
vecheat->space->marker[0]->ESThetaC: 0.05
......@@ -69,11 +61,20 @@ vecheat->space->marker[1]->ESTheta: 0.9
vecheat->space->marker[1]->ESThetaC: 0.05
vecheat->space->marker[1]->info: 8
vecheat->space->output->filename: vecheat_
vecheat->space->output->ParaView format: 1
vecheat->space->output->append index: 1
vecheat->space->output->index length: 6
vecheat->space->output->index decimals: 3
vecheat->space->output[0]->filename: vecheat0_
vecheat->space->output[0]->ParaView format: 1
vecheat->space->output[0]->ParaView animation: 1
vecheat->space->output[0]->append index: 1
vecheat->space->output[0]->index length: 6
vecheat->space->output[0]->index decimals: 3
vecheat->space->output[1]->filename: vecheat1_
vecheat->space->output[1]->ParaView format: 1
vecheat->space->output[1]->ParaView animation: 1
vecheat->space->output[1]->append index: 1
vecheat->space->output[1]->index length: 6
vecheat->space->output[1]->index decimals: 3
WAIT: 0
......
dimension of world: 3
vecheatMesh->macro file name: ./macro/macro.stand.3d
vecheatMesh->global refinements: 0
vecheat->space->polynomial degree[0]: 1
vecheat->space->polynomial degree[1]: 1
vecheatMesh->global refinements: 3
vecheat->space->polynomial degree[0]: 1
vecheat->space->polynomial degree[1]: 1
vecheat->space->dim: 3
vecheat->space->mesh: vecheatMesh
vecheat->space->components: 2
vecheat->space->solver: cg
vecheat->space->solver: umfpack
vecheat->space->solver->max iteration: 1000
vecheat->space->solver->tolerance: 1.e-8
vecheat->space->solver->info: 8
vecheat->space->solver->left precon: diag
vecheat->space->solver->info: 2
vecheat->space->solver->left precon: no
vecheat->space->solver->right precon: no
vecheat->space->estimator[0]: residual
......@@ -29,25 +29,18 @@ vecheat->space->estimator[1]->C3: 1.0
vecheat->theta: 1.0
vecheat->adapt->refine bisections: 3
vecheat->adapt->coarsen bisections: 3
vecheat->adapt[0]->tolerance: 0.01
vecheat->adapt[1]->tolerance: 0.01
vecheat->adapt->timestep: 0.01
vecheat->adapt->refine bisections: 2
vecheat->adapt->coarsen bisections: 2
vecheat->adapt->max iteration: 2
vecheat->adapt[0]->tolerance: 0.001
vecheat->adapt[0]->tolerance: 0.001
vecheat->adapt[0]->time tolerance: 0.1
vecheat->adapt[1]->time tolerance: 0.1
vecheat->adapt[0]->rel space error: 0.5
vecheat->adapt[0]->rel time error: 0.5
vecheat->adapt[0]->info: 8
vecheat->adapt[0]->coarsen allowed: 1 % 0|1
vecheat->adapt->timestep: 0.01
vecheat->adapt->start time: 0.0
vecheat->adapt->end time: 1.0
vecheat->adapt[1]->rel space error: 0.5
vecheat->adapt[1]->rel time error: 0.5
vecheat->adapt[1]->info: 8
vecheat->adapt[1]->coarsen allowed: 1 % 0|1
vecheat->adapt->strategy: 1 % 0=explicit, 1=implicit
vecheat->adapt->max iteration: 1
......@@ -58,8 +51,6 @@ vecheat->initial->marker[1]->strategy: 2 % 0=none, 1=GR, 2=MS, 3=ES, 4=
vecheat->initial->adapt->max iteration: 10
vecheat->initial->adapt->info: 8
vecheat->space->dim: 3
vecheat->space->marker[0]->strategy: 3 % 0=none, 1=GR, 2=MS, 3=ES, 4=GERS
vecheat->space->marker[0]->ESTheta: 0.9
vecheat->space->marker[0]->ESThetaC: 0.05
......@@ -70,35 +61,20 @@ vecheat->space->marker[1]->ESTheta: 0.9
vecheat->space->marker[1]->ESThetaC: 0.05
vecheat->space->marker[1]->info: 8
vecheat->space->output[0]->filename: vecheat0_
vecheat->space->output[0]->ParaView format: 0
vecheat->space->output[0]->TecPlot format: 0
vecheat->space->output[0]->TecPlot ext: .tec
vecheat->space->output[0]->AMDiS format: 0
vecheat->space->output[0]->AMDiS mesh ext: .mesh
vecheat->space->output[0]->AMDiS data ext: .dat
vecheat->space->output[0]->append index: 1
vecheat->space->output[0]->index length: 6
vecheat->space->output[0]->index decimals: 3
vecheat->space->output[1]->filename: vecheat1_
vecheat->space->output[1]->ParaView format: 0
vecheat->space->output[1]->TecPlot format: 0
vecheat->space->output[1]->TecPlot ext: .tec
vecheat->space->output[0]->filename: vecheat0_
vecheat->space->output[0]->ParaView format: 1
vecheat->space->output[0]->ParaView animation: 1
vecheat->space->output[0]->append index: 1
vecheat->space->output[0]->index length: 6
vecheat->space->output[0]->index decimals: 3
vecheat->space->output[1]->AMDiS format: 0
vecheat->space->output[1]->AMDiS mesh ext: .mesh
vecheat->space->output[1]->AMDiS data ext: .dat
vecheat->space->output[1]->filename: vecheat1_
vecheat->space->output[1]->ParaView format: 1
vecheat->space->output[1]->ParaView animation: 1
vecheat->space->output[1]->append index: 1
vecheat->space->output[1]->index length: 6
vecheat->space->output[1]->index decimals: 3
vecheat->space->output[1]->append index: 1
vecheat->space->output[1]->index length: 6
vecheat->space->output[1]->index decimals: 3
WAIT: 0
......
......@@ -174,13 +174,6 @@ int main(int argc, char** argv)
adaptInfoInitial);
// ===== create boundary functions =====