Loading examples/mean-curvature-flow/CMakeLists.txt +2 −17 Original line number Diff line number Diff line INSTALL( FILES tnlBackwardFiniteDifference.h tnlBackwardFiniteDifference_impl.h tnlExactFlowDiffusion.h tnlExactFlowDiffusion_impl.h tnlForwardFiniteDifference.h tnlForwardFiniteDifference_impl.h tnl-mean-curvature-flow.cpp INSTALL( FILES tnl-mean-curvature-flow.cpp tnl-mean-curvature-flow.h tnlMeanCurvatureFlowDiffusion.h tnlMeanCurvatureFlowDiffusion_impl.h tnl-mean-curvature-flow-eoc.cpp tnl-mean-curvature-flow-eoc.h tnlMeanCurvatureFlowEocProblem.h tnlMeanCurvatureFlowEocProblem_impl.h tnlMeanCurvatureFlowEocRhs.h tnlMeanCurvatureFlowEocRhs_impl.h tnlMeanCurvatureFlowProblem.h tnlMeanCurvatureFlowProblem_impl.h tnlOperatorQ.h tnlOperatorQ_impl.h tnl-run-mean-curvature-flow tnl-run-mean-curvature-flow-eoc-test Makefile DESTINATION share/tnl-${tnlVersion}/examples/mean-curvature-flow ) examples/mean-curvature-flow/Makefile +3 −3 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ TARGET = mean-curvature-flow-eoc INSTALL_DIR = ${HOME}/local CXX = g++ CUDA_CXX = nvcc CXX_FLAGS = -std=gnu++0x -I$(TNL_INCLUDE_DIR) -g -O0 CXX_FLAGS = -std=gnu++0x -I$(TNL_INCLUDE_DIR) -O0 -g LD_FLAGS = -L$(TNL_INSTALL_DIR) -ltnl-dbg-0.1 SOURCES = tnl-mean-curvature-flow-eoc.cpp Loading @@ -23,11 +23,11 @@ dist: $(DIST) install: $(TARGET) cp $(TARGET) $(INSTALL_DIR)/bin cp $(INSTALL_DIR)/share/tnl-0.1/examples/mean-curvature-flow-eoc cp $(INSTALL_DIR)/share/tnl-0.1/examples/mean-curvature-flow uninstall: $(TARGET) rm -f $(INSTALL_DIR)/bin/$(TARGET) rm -f $(INSTALL_DIR)/share/tnl-0.1/examples/mean-curvature-flow-eoc rm -f $(INSTALL_DIR)/share/tnl-0.1/examples/mean-curvature-flow $(TARGET): $(OBJECTS) $(CXX) -o $(TARGET) $(OBJECTS) $(LD_FLAGS) Loading examples/mean-curvature-flow/tnl-mean-curvature-flow-eoc.h +13 −7 Original line number Diff line number Diff line Loading @@ -24,10 +24,14 @@ #include <functions/tnlTestFunction.h> #include <operators/tnlAnalyticDirichletBoundaryConditions.h> #include <operators/tnlAnalyticNeumannBoundaryConditions.h> #include "tnlMeanCurvatureFlowEocRhs.h" #include "tnlMeanCurvatureFlowEocProblem.h" #include "tnlExactFlowDiffusion.h" #include "tnlMeanCurvatureFlowDiffusion.h" #include <problems/tnlMeanCurvatureFlowEocRhs.h> #include <problems/tnlMeanCurvatureFlowEocProblem.h> #include <operators/diffusion/tnlExactNonlinearDiffusion.h> #include <operators/diffusion/tnlNonlinearDiffusion.h> #include <operators/operator-Q/tnlOneSideDiffOperatorQForGraph.h> #include <operators/diffusion/tnlExactNonlinearDiffusion.h> #include <operators/diffusion/nonlinear-diffusion-operators/tnlOneSideDiffNonlinearOperator.h> #include <operators/operator-Q/tnlExactOperatorQ.h> //typedef tnlDefaultConfigTag BuildConfig; typedef tnlFastBuildConfig BuildConfig; Loading Loading @@ -63,12 +67,14 @@ class meanCurvatureFlowEocSetter static bool run( const tnlParameterContainer& parameters ) { enum { Dimensions = MeshType::Dimensions }; typedef tnlMeanCurvatureFlowDiffusion< MeshType, Real, Index > ApproximateOperator; typedef tnlExactFlowDiffusion< Dimensions > ExactOperator; typedef tnlOneSideDiffOperatorQForGraph<MeshType, Real, Index, 0> OperatorQ; typedef tnlOneSideDiffNonlinearOperator<MeshType, OperatorQ, Real, Index > NonlinearOperator; typedef tnlNonlinearDiffusion< MeshType, NonlinearOperator, Real, Index > ApproximateOperator; typedef tnlExactNonlinearDiffusion< tnlExactOperatorQ<Dimensions>, Dimensions > ExactOperator; typedef tnlTestFunction< MeshType::Dimensions, Real, Device > TestFunction; typedef tnlMeanCurvatureFlowEocRhs< ExactOperator, TestFunction > RightHandSide; typedef tnlStaticVector < MeshType::Dimensions, Real > Vertex; typedef tnlAnalyticNeumannBoundaryConditions< MeshType, TestFunction, Real, Index > BoundaryConditions; typedef tnlAnalyticDirichletBoundaryConditions< MeshType, TestFunction, Real, Index > BoundaryConditions; typedef tnlMeanCurvatureFlowEocProblem< MeshType, BoundaryConditions, RightHandSide, ApproximateOperator > Solver; SolverStarter solverStarter; return solverStarter.template run< Solver >( parameters ); Loading examples/mean-curvature-flow/tnl-mean-curvature-flow.h +7 −5 Original line number Diff line number Diff line Loading @@ -27,10 +27,10 @@ #include <operators/tnlAnalyticNeumannBoundaryConditions.h> #include <operators/tnlNeumannBoundaryConditions.h> #include <functions/tnlConstantFunction.h> #include <problems/tnlHeatEquationProblem.h> #include "tnlMeanCurvatureFlowProblem.h" #include "tnlMeanCurvatureFlowDiffusion.h" #include <problems/tnlMeanCurvatureFlowProblem.h> #include <operators/diffusion/tnlNonlinearDiffusion.h> #include <operators/operator-Q/tnlOneSideDiffOperatorQForGraph.h> #include <operators/diffusion/nonlinear-diffusion-operators/tnlOneSideDiffNonlinearOperator.h> //typedef tnlDefaultConfigTag BuildConfig; typedef tnlFastBuildConfig BuildConfig; Loading Loading @@ -71,7 +71,9 @@ class meanCurvatureFlowSetter static bool run( const tnlParameterContainer& parameters ) { enum { Dimensions = MeshType::Dimensions }; typedef tnlMeanCurvatureFlowDiffusion< MeshType, Real, Index > ApproximateOperator; typedef tnlOneSideDiffOperatorQForGraph<MeshType, Real, Index, 0> OperatorQ; typedef tnlOneSideDiffNonlinearOperator<MeshType, OperatorQ, Real, Index > NonlinearOperator; typedef tnlNonlinearDiffusion< MeshType, NonlinearOperator, Real, Index > ApproximateOperator; typedef tnlConstantFunction< Dimensions, Real > RightHandSide; typedef tnlStaticVector < MeshType::Dimensions, Real > Vertex; Loading examples/mean-curvature-flow/tnl-run-mean-curvature-flow-eoc-test +6 −6 Original line number Diff line number Diff line Loading @@ -2,10 +2,10 @@ device="host" dimensions="2D" sizes2D="16 32 64" sizes2D="16 32" testFunctions="sin-bumps" snapshotPeriod=0.1 finalTime=1.0 finalTime=0.3 timeDependence="cosine" solverName="mean-curvature-flow-eoc" #solverName="gdb --args tnl-heat-equation-eoc-test-dbg" Loading Loading @@ -83,12 +83,12 @@ solve() --mesh mesh.tnl \ --initial-condition exact-u-00000.tnl \ --time-discretisation ${timeDiscretisation} \ --time-step 10 \ --time-step 1 \ --time-step-order 2 \ --discrete-solver ${discreteSolver} \ --merson-adaptivity 1.0e-7 \ --sor-omega 1.95 \ --gmres-restarting 10 \ --gmres-restarting 20 \ --min-iterations 20 \ --convergence-residue 1.0e-12 \ --test-function ${testFunction}\ Loading Loading @@ -168,8 +168,8 @@ runTest() echo "=========================================================================" echo "=== STARTING THE SOLVER ===" echo "=========================================================================" solve explicit merson #solve semi-implicit gmres #solve explicit merson solve semi-implicit gmres mv computation-in-progress computation-done fi echo "=========================================================================" Loading Loading
examples/mean-curvature-flow/CMakeLists.txt +2 −17 Original line number Diff line number Diff line INSTALL( FILES tnlBackwardFiniteDifference.h tnlBackwardFiniteDifference_impl.h tnlExactFlowDiffusion.h tnlExactFlowDiffusion_impl.h tnlForwardFiniteDifference.h tnlForwardFiniteDifference_impl.h tnl-mean-curvature-flow.cpp INSTALL( FILES tnl-mean-curvature-flow.cpp tnl-mean-curvature-flow.h tnlMeanCurvatureFlowDiffusion.h tnlMeanCurvatureFlowDiffusion_impl.h tnl-mean-curvature-flow-eoc.cpp tnl-mean-curvature-flow-eoc.h tnlMeanCurvatureFlowEocProblem.h tnlMeanCurvatureFlowEocProblem_impl.h tnlMeanCurvatureFlowEocRhs.h tnlMeanCurvatureFlowEocRhs_impl.h tnlMeanCurvatureFlowProblem.h tnlMeanCurvatureFlowProblem_impl.h tnlOperatorQ.h tnlOperatorQ_impl.h tnl-run-mean-curvature-flow tnl-run-mean-curvature-flow-eoc-test Makefile DESTINATION share/tnl-${tnlVersion}/examples/mean-curvature-flow )
examples/mean-curvature-flow/Makefile +3 −3 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ TARGET = mean-curvature-flow-eoc INSTALL_DIR = ${HOME}/local CXX = g++ CUDA_CXX = nvcc CXX_FLAGS = -std=gnu++0x -I$(TNL_INCLUDE_DIR) -g -O0 CXX_FLAGS = -std=gnu++0x -I$(TNL_INCLUDE_DIR) -O0 -g LD_FLAGS = -L$(TNL_INSTALL_DIR) -ltnl-dbg-0.1 SOURCES = tnl-mean-curvature-flow-eoc.cpp Loading @@ -23,11 +23,11 @@ dist: $(DIST) install: $(TARGET) cp $(TARGET) $(INSTALL_DIR)/bin cp $(INSTALL_DIR)/share/tnl-0.1/examples/mean-curvature-flow-eoc cp $(INSTALL_DIR)/share/tnl-0.1/examples/mean-curvature-flow uninstall: $(TARGET) rm -f $(INSTALL_DIR)/bin/$(TARGET) rm -f $(INSTALL_DIR)/share/tnl-0.1/examples/mean-curvature-flow-eoc rm -f $(INSTALL_DIR)/share/tnl-0.1/examples/mean-curvature-flow $(TARGET): $(OBJECTS) $(CXX) -o $(TARGET) $(OBJECTS) $(LD_FLAGS) Loading
examples/mean-curvature-flow/tnl-mean-curvature-flow-eoc.h +13 −7 Original line number Diff line number Diff line Loading @@ -24,10 +24,14 @@ #include <functions/tnlTestFunction.h> #include <operators/tnlAnalyticDirichletBoundaryConditions.h> #include <operators/tnlAnalyticNeumannBoundaryConditions.h> #include "tnlMeanCurvatureFlowEocRhs.h" #include "tnlMeanCurvatureFlowEocProblem.h" #include "tnlExactFlowDiffusion.h" #include "tnlMeanCurvatureFlowDiffusion.h" #include <problems/tnlMeanCurvatureFlowEocRhs.h> #include <problems/tnlMeanCurvatureFlowEocProblem.h> #include <operators/diffusion/tnlExactNonlinearDiffusion.h> #include <operators/diffusion/tnlNonlinearDiffusion.h> #include <operators/operator-Q/tnlOneSideDiffOperatorQForGraph.h> #include <operators/diffusion/tnlExactNonlinearDiffusion.h> #include <operators/diffusion/nonlinear-diffusion-operators/tnlOneSideDiffNonlinearOperator.h> #include <operators/operator-Q/tnlExactOperatorQ.h> //typedef tnlDefaultConfigTag BuildConfig; typedef tnlFastBuildConfig BuildConfig; Loading Loading @@ -63,12 +67,14 @@ class meanCurvatureFlowEocSetter static bool run( const tnlParameterContainer& parameters ) { enum { Dimensions = MeshType::Dimensions }; typedef tnlMeanCurvatureFlowDiffusion< MeshType, Real, Index > ApproximateOperator; typedef tnlExactFlowDiffusion< Dimensions > ExactOperator; typedef tnlOneSideDiffOperatorQForGraph<MeshType, Real, Index, 0> OperatorQ; typedef tnlOneSideDiffNonlinearOperator<MeshType, OperatorQ, Real, Index > NonlinearOperator; typedef tnlNonlinearDiffusion< MeshType, NonlinearOperator, Real, Index > ApproximateOperator; typedef tnlExactNonlinearDiffusion< tnlExactOperatorQ<Dimensions>, Dimensions > ExactOperator; typedef tnlTestFunction< MeshType::Dimensions, Real, Device > TestFunction; typedef tnlMeanCurvatureFlowEocRhs< ExactOperator, TestFunction > RightHandSide; typedef tnlStaticVector < MeshType::Dimensions, Real > Vertex; typedef tnlAnalyticNeumannBoundaryConditions< MeshType, TestFunction, Real, Index > BoundaryConditions; typedef tnlAnalyticDirichletBoundaryConditions< MeshType, TestFunction, Real, Index > BoundaryConditions; typedef tnlMeanCurvatureFlowEocProblem< MeshType, BoundaryConditions, RightHandSide, ApproximateOperator > Solver; SolverStarter solverStarter; return solverStarter.template run< Solver >( parameters ); Loading
examples/mean-curvature-flow/tnl-mean-curvature-flow.h +7 −5 Original line number Diff line number Diff line Loading @@ -27,10 +27,10 @@ #include <operators/tnlAnalyticNeumannBoundaryConditions.h> #include <operators/tnlNeumannBoundaryConditions.h> #include <functions/tnlConstantFunction.h> #include <problems/tnlHeatEquationProblem.h> #include "tnlMeanCurvatureFlowProblem.h" #include "tnlMeanCurvatureFlowDiffusion.h" #include <problems/tnlMeanCurvatureFlowProblem.h> #include <operators/diffusion/tnlNonlinearDiffusion.h> #include <operators/operator-Q/tnlOneSideDiffOperatorQForGraph.h> #include <operators/diffusion/nonlinear-diffusion-operators/tnlOneSideDiffNonlinearOperator.h> //typedef tnlDefaultConfigTag BuildConfig; typedef tnlFastBuildConfig BuildConfig; Loading Loading @@ -71,7 +71,9 @@ class meanCurvatureFlowSetter static bool run( const tnlParameterContainer& parameters ) { enum { Dimensions = MeshType::Dimensions }; typedef tnlMeanCurvatureFlowDiffusion< MeshType, Real, Index > ApproximateOperator; typedef tnlOneSideDiffOperatorQForGraph<MeshType, Real, Index, 0> OperatorQ; typedef tnlOneSideDiffNonlinearOperator<MeshType, OperatorQ, Real, Index > NonlinearOperator; typedef tnlNonlinearDiffusion< MeshType, NonlinearOperator, Real, Index > ApproximateOperator; typedef tnlConstantFunction< Dimensions, Real > RightHandSide; typedef tnlStaticVector < MeshType::Dimensions, Real > Vertex; Loading
examples/mean-curvature-flow/tnl-run-mean-curvature-flow-eoc-test +6 −6 Original line number Diff line number Diff line Loading @@ -2,10 +2,10 @@ device="host" dimensions="2D" sizes2D="16 32 64" sizes2D="16 32" testFunctions="sin-bumps" snapshotPeriod=0.1 finalTime=1.0 finalTime=0.3 timeDependence="cosine" solverName="mean-curvature-flow-eoc" #solverName="gdb --args tnl-heat-equation-eoc-test-dbg" Loading Loading @@ -83,12 +83,12 @@ solve() --mesh mesh.tnl \ --initial-condition exact-u-00000.tnl \ --time-discretisation ${timeDiscretisation} \ --time-step 10 \ --time-step 1 \ --time-step-order 2 \ --discrete-solver ${discreteSolver} \ --merson-adaptivity 1.0e-7 \ --sor-omega 1.95 \ --gmres-restarting 10 \ --gmres-restarting 20 \ --min-iterations 20 \ --convergence-residue 1.0e-12 \ --test-function ${testFunction}\ Loading Loading @@ -168,8 +168,8 @@ runTest() echo "=========================================================================" echo "=== STARTING THE SOLVER ===" echo "=========================================================================" solve explicit merson #solve semi-implicit gmres #solve explicit merson solve semi-implicit gmres mv computation-in-progress computation-done fi echo "=========================================================================" Loading