Skip to content
Snippets Groups Projects
Commit 67d251bc authored by Sander, Oliver's avatar Sander, Oliver
Browse files

A testsuite to compute the EOC of skyrmion problems

parent bc5af624
No related branches found
No related tags found
No related merge requests found
Pipeline #
#############################################
# Grid parameters
#############################################
structuredGrid = false
path = /home/sander/data/liquidcrystals
gridFile = hexagon.msh
targetDim = 3
targetSpace = UnitVector
#numLevels = 1
#numReferenceLevels = 2
#order = 2
#simulationData = cosserat-continuum-result-1.data
#referenceData = cosserat-continuum-result-2.data
discretizationErrorMode = discrete
#############################################
# Grid parameters
#############################################
structuredGrid = false
path = /home/sander/data/liquidcrystals
gridFile = hexagon.msh
# Number of grid levels
numLevels = 3
order = 1
#############################################
# Solver parameters
#############################################
# Tolerance of the trust region solver
tolerance = 1e-6
# Max number of steps of the trust region solver
maxTrustRegionSteps = 100
# Initial trust-region radius
initialTrustRegionRadius = 1
# Number of multigrid iterations per trust-region step
numIt = 200
# Number of presmoothing steps
nu1 = 3
# Number of postsmoothing steps
nu2 = 3
# Number of coarse grid corrections
mu = 1
# Number of base solver iterations
baseIt = 100
# Tolerance of the multigrid solver
mgTolerance = 1e-10
# Tolerance of the base grid solver
baseTolerance = 1e-8
############################
# Problem specifications
############################
# Type of energy we are minimizing
energy = chiral_skyrmion
[energyParameters]
h = 3
kappa = 1
[]
# Inverse stereographic projection
initialIterate = inverse-stereographic-projection
dirichletValues = [0, 0, 1]
startFromFile = yes
initialIterateGridFilename = hexagon.msh
initialIterateFilename = initial_skyrmion_hexagon_5_1.vtu
#!/bin/bash
set -e
runComputation(){
numLevels=$1
order=$2
LOGFILE="./harmonicmaps_${order}_${numLevels}.log"
# run the actual simulation
./harmonicmaps-${order} harmonicmaps-skyrmions-hexagon.parset -numLevels ${numLevels} | tee ${LOGFILE}
}
MAXPROCS=1
order=1
numReferenceLevels=10
for numLevels in $(seq 5 ${numReferenceLevels}); do
# Do one simulation run
runComputation $numLevels ${order}
# Measure the discretization errors against the solution on the finest grid
LOGFILE="./compute-disc-error_${order}_${numLevels}.log"
../build-cmake/src/compute-disc-error compute-disc-error-skyrmions-hexagon.parset \
-order ${order} \
-numLevels ${numLevels} \
-numReferenceLevels ${numReferenceLevels} \
-simulationData harmonicmaps-result-${order}-${numLevels}.data \
-referenceData harmonicmaps-result-${order}-${numReferenceLevels}.data | tee ${LOGFILE}
done
order=2
numReferenceLevels=9
for numLevels in $(seq 4 ${numReferenceLevels}); do
# Do one simulation run
runComputation $numLevels $order
# Measure the discretization errors against the solution on the finest grid
LOGFILE="./compute-disc-error_${order}_${numLevels}.log"
../build-cmake/src/compute-disc-error compute-disc-error-skyrmions-hexagon.parset \
-order ${order} \
-numLevels ${numLevels} \
-numReferenceLevels ${numReferenceLevels} \
-simulationData harmonicmaps-result-${order}-${numLevels}.data \
-referenceData harmonicmaps-result-${order}-${numReferenceLevels}.data | tee ${LOGFILE}
done
order=3
numReferenceLevels=8
for numLevels in $(seq 3 $numReferenceLevels); do
# Do one simulation run
runComputation $numLevels $order
# Measure the discretization errors against the solution on the finest grid
LOGFILE="./compute-disc-error_${order}_${numLevels}.log"
../build-cmake/src/compute-disc-error compute-disc-error-skyrmions-hexagon.parset \
-order ${order} \
-numLevels ${numLevels} \
-numReferenceLevels ${numReferenceLevels} \
-simulationData harmonicmaps-result-${order}-${numLevels}.data \
-referenceData harmonicmaps-result-${order}-${numReferenceLevels}.data | tee ${LOGFILE}
done
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