diff --git a/CMakeFiles/Makefile.cmake b/CMakeFiles/Makefile.cmake index ea0045c..760f001 100644 --- a/CMakeFiles/Makefile.cmake +++ b/CMakeFiles/Makefile.cmake @@ -11,98 +11,21 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.31.6/CMakeCXXCompiler.cmake" "CMakeFiles/3.31.6/CMakeSystem.cmake" "CMakeLists.txt" - "/usr/share/cmake-3.31/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.31/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.31/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.31/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.31/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.31/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.31/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.31/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.31/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.31/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.31/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.31/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.31/Modules/CMakeDetermineCompilerSupport.cmake" - "/usr/share/cmake-3.31/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.31/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.31/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.31/Modules/CMakeInitializeConfigs.cmake" "/usr/share/cmake-3.31/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.31/Modules/CMakeParseImplicitIncludeInfo.cmake" - "/usr/share/cmake-3.31/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.31/Modules/CMakeParseLibraryArchitecture.cmake" - "/usr/share/cmake-3.31/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.31/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.31/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.31/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.31/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.31/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.31/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/ARMClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.31/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/CrayClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/GNU-C-DetermineCompiler.cmake" "/usr/share/cmake-3.31/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" "/usr/share/cmake-3.31/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.31/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/LCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/NVHPC-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/OrangeC-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/TIClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Tasking-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.31/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" "/usr/share/cmake-3.31/Modules/Internal/CMakeCLinkerInformation.cmake" "/usr/share/cmake-3.31/Modules/Internal/CMakeCXXLinkerInformation.cmake" "/usr/share/cmake-3.31/Modules/Internal/CMakeCommonLinkerInformation.cmake" - "/usr/share/cmake-3.31/Modules/Internal/CMakeDetermineLinkerId.cmake" - "/usr/share/cmake-3.31/Modules/Internal/FeatureTesting.cmake" "/usr/share/cmake-3.31/Modules/Linker/GNU-C.cmake" "/usr/share/cmake-3.31/Modules/Linker/GNU-CXX.cmake" "/usr/share/cmake-3.31/Modules/Linker/GNU.cmake" @@ -110,7 +33,6 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU-C.cmake" "/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU.cmake" - "/usr/share/cmake-3.31/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.31/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.31/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.31/Modules/Platform/Linux-GNU.cmake" @@ -140,11 +62,6 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.31.6/CMakeSystem.cmake" - "CMakeFiles/3.31.6/CMakeCCompiler.cmake" - "CMakeFiles/3.31.6/CMakeCXXCompiler.cmake" - "CMakeFiles/3.31.6/CMakeCCompiler.cmake" - "CMakeFiles/3.31.6/CMakeCXXCompiler.cmake" "CMakeFiles/CMakeDirectoryInformation.cmake" ) diff --git a/CMakeFiles/nufi_poisson.dir/nufi_poisson.cc.o b/CMakeFiles/nufi_poisson.dir/nufi_poisson.cc.o index 66464cb..e4c2501 100644 Binary files a/CMakeFiles/nufi_poisson.dir/nufi_poisson.cc.o and b/CMakeFiles/nufi_poisson.dir/nufi_poisson.cc.o differ diff --git a/density.vtk b/density.vtk index c4807d9..e91f56c 100644 --- a/density.vtk +++ b/density.vtk @@ -1,5 +1,5 @@ # vtk DataFile Version 3.0 -#This file was generated by the deal.II library on 2026/2/22 at 5:11:33 +#This file was generated by the deal.II library on 2026/2/23 at 20:47:29 ASCII DATASET UNSTRUCTURED_GRID diff --git a/electric_field.vtk b/electric_field.vtk index 6106895..5ac1196 100644 --- a/electric_field.vtk +++ b/electric_field.vtk @@ -1,5 +1,5 @@ # vtk DataFile Version 3.0 -#This file was generated by the deal.II library on 2026/2/22 at 5:11:33 +#This file was generated by the deal.II library on 2026/2/23 at 20:47:29 ASCII DATASET UNSTRUCTURED_GRID @@ -394,263 +394,263 @@ CELLS 128 384 CELL_TYPES 128 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 POINT_DATA 256 -VECTORS E_field double -0 0 0 -0.000567925 0 0 -0.000567925 0 0 -0.00122363 0 0 -0.00122363 0 0 -0.00196682 0 0 -0.00196682 0 0 -0.00279702 0 0 -0.00279702 0 0 -0.00371355 0 0 -0.00371355 0 0 -0.00471555 0 0 -0.00471555 0 0 -0.00580197 0 0 -0.00580197 0 0 -0.00697158 0 0 -0.00697158 0 0 -0.00822296 0 0 -0.00822296 0 0 -0.0095545 0 0 -0.0095545 0 0 -0.0109644 0 0 -0.0109644 0 0 -0.0124508 0 0 -0.0124508 0 0 -0.0140116 0 0 -0.0140116 0 0 -0.0156443 0 0 -0.0156443 0 0 -0.0173467 0 0 -0.0173467 0 0 -0.0191162 0 0 -0.0191162 0 0 -0.0209499 0 0 -0.0209499 0 0 -0.0228451 0 0 -0.0228451 0 0 -0.0247986 0 0 -0.0247986 0 0 -0.0268074 0 0 -0.0268074 0 0 -0.0288683 0 0 -0.0288683 0 0 -0.0309777 0 0 -0.0309777 0 0 -0.0331323 0 0 -0.0331323 0 0 -0.0353285 0 0 -0.0353285 0 0 -0.0375625 0 0 -0.0375625 0 0 -0.0398307 0 0 -0.0398307 0 0 -0.0421292 0 0 -0.0421292 0 0 -0.0444541 0 0 -0.0444541 0 0 -0.0468014 0 0 -0.0468014 0 0 -0.0491672 0 0 -0.0491672 0 0 -0.0515473 0 0 -0.0515473 0 0 -0.0539378 0 0 -0.0539378 0 0 -0.0563345 0 0 -0.0563345 0 0 -0.0587333 0 0 -0.0587333 0 0 -0.0611301 0 0 -0.0611301 0 0 -0.0635207 0 0 -0.0635207 0 0 -0.0659011 0 0 -0.0659011 0 0 -0.0682672 0 0 -0.0682672 0 0 -0.070615 0 0 -0.070615 0 0 -0.0729403 0 0 -0.0729403 0 0 -0.0752394 0 0 -0.0752394 0 0 -0.0775082 0 0 -0.0775082 0 0 -0.079743 0 0 -0.079743 0 0 -0.08194 0 0 -0.08194 0 0 -0.0840955 0 0 -0.0840955 0 0 -0.0862059 0 0 -0.0862059 0 0 -0.0882677 0 0 -0.0882677 0 0 -0.0902776 0 0 -0.0902776 0 0 -0.0922323 0 0 -0.0922323 0 0 -0.0941287 0 0 -0.0941287 0 0 -0.0959637 0 0 -0.0959637 0 0 -0.0977345 0 0 -0.0977345 0 0 -0.0994383 0 0 -0.0994383 0 0 -0.101072 0 0 -0.101072 0 0 -0.102635 0 0 -0.102635 0 0 -0.104123 0 0 -0.104123 0 0 -0.105534 0 0 -0.105534 0 0 -0.106867 0 0 -0.106867 0 0 -0.10812 0 0 -0.10812 0 0 -0.109292 0 0 -0.109292 0 0 -0.11038 0 0 -0.11038 0 0 -0.111383 0 0 -0.111383 0 0 -0.112302 0 0 -0.112302 0 0 -0.113134 0 0 -0.113134 0 0 -0.113879 0 0 -0.113879 0 0 -0.114536 0 0 -0.114536 0 0 -0.115106 0 0 -0.115106 0 0 -0.115588 0 0 -0.115588 0 0 -0.115982 0 0 -0.115982 0 0 -0.116288 0 0 -0.116288 0 0 -0.116508 0 0 -0.116508 0 0 -0.116641 0 0 -0.116641 0 0 -0.116688 0 0 -0.116688 0 0 -0.116652 0 0 -0.116652 0 0 -0.116532 0 0 -0.116532 0 0 -0.11633 0 0 -0.11633 0 0 -0.116048 0 0 -0.116048 0 0 -0.115688 0 0 -0.115688 0 0 -0.115251 0 0 -0.115251 0 0 -0.114739 0 0 -0.114739 0 0 -0.114156 0 0 -0.114156 0 0 -0.113503 0 0 -0.113503 0 0 -0.112783 0 0 -0.112783 0 0 -0.111998 0 0 -0.111998 0 0 -0.111152 0 0 -0.111152 0 0 -0.110248 0 0 -0.110248 0 0 -0.109288 0 0 -0.109288 0 0 -0.108276 0 0 -0.108276 0 0 -0.107215 0 0 -0.107215 0 0 -0.10611 0 0 -0.10611 0 0 -0.104962 0 0 -0.104962 0 0 -0.103777 0 0 -0.103777 0 0 -0.102557 0 0 -0.102557 0 0 -0.101307 0 0 -0.101307 0 0 -0.100031 0 0 -0.100031 0 0 -0.0987317 0 0 -0.0987317 0 0 -0.0974141 0 0 -0.0974141 0 0 -0.0960821 0 0 -0.0960821 0 0 -0.0947397 0 0 -0.0947397 0 0 -0.093391 0 0 -0.093391 0 0 -0.0920401 0 0 -0.0920401 0 0 -0.0906911 0 0 -0.0906911 0 0 -0.0893482 0 0 -0.0893482 0 0 -0.0880154 0 0 -0.0880154 0 0 -0.0866968 0 0 -0.0866968 0 0 -0.0853966 0 0 -0.0853966 0 0 -0.0841186 0 0 -0.0841186 0 0 -0.0828668 0 0 -0.0828668 0 0 -0.0816452 0 0 -0.0816452 0 0 -0.0804575 0 0 -0.0804575 0 0 -0.0793076 0 0 -0.0793076 0 0 -0.0781991 0 0 -0.0781991 0 0 -0.0771356 0 0 -0.0771356 0 0 -0.0761206 0 0 -0.0761206 0 0 -0.0751575 0 0 -0.0751575 0 0 -0.0742495 0 0 -0.0742495 0 0 -0.0733997 0 0 -0.0733997 0 0 -0.0726113 0 0 -0.0726113 0 0 -0.071887 0 0 -0.071887 0 0 -0.0712297 0 0 -0.0712297 0 0 -0.0706419 0 0 -0.0706419 0 0 -0.070126 0 0 -0.070126 0 0 -0.0696844 0 0 -0.0696844 0 0 -0.0693192 0 0 -0.0693192 0 0 -0.0690322 0 0 -0.0690322 0 0 -0.0688254 0 0 -0.0688254 0 0 -0.0687003 0 0 -0.0687003 0 0 -0.0686583 0 0 +VECTORS electric_field double +-0.00558919 0 0 +-0.00652637 0 0 +-0.00652634 0 0 +-0.00746147 0 0 +-0.00746143 0 0 +-0.00839244 0 0 +-0.00839241 0 0 +-0.00931726 0 0 +-0.00931723 0 0 +-0.0102339 0 0 +-0.0102339 0 0 +-0.0111403 0 0 +-0.0111403 0 0 +-0.0120345 0 0 +-0.0120345 0 0 +-0.0129146 0 0 +-0.0129146 0 0 +-0.0137786 0 0 +-0.0137786 0 0 +-0.0146246 0 0 +-0.0146246 0 0 +-0.0154507 0 0 +-0.0154507 0 0 +-0.0162552 0 0 +-0.0162552 0 0 +-0.0170362 0 0 +-0.0170362 0 0 +-0.0177921 0 0 +-0.0177921 0 0 +-0.0185212 0 0 +-0.0185212 0 0 +-0.0192219 0 0 +-0.0192219 0 0 +-0.0198926 0 0 +-0.0198926 0 0 +-0.0205319 0 0 +-0.0205319 0 0 +-0.0211384 0 0 +-0.0211384 0 0 +-0.0217107 0 0 +-0.0217107 0 0 +-0.0222476 0 0 +-0.0222476 0 0 +-0.0227479 0 0 +-0.0227479 0 0 +-0.0232105 0 0 +-0.0232105 0 0 +-0.0236344 0 0 +-0.0236344 0 0 +-0.0240186 0 0 +-0.0240186 0 0 +-0.0243624 0 0 +-0.0243624 0 0 +-0.0246649 0 0 +-0.0246649 0 0 +-0.0249255 0 0 +-0.0249255 0 0 +-0.0251437 0 0 +-0.0251437 0 0 +-0.0253189 0 0 +-0.0253188 0 0 +-0.0254507 0 0 +-0.0254507 0 0 +-0.0255389 0 0 +-0.0255389 0 0 +-0.0255833 0 0 +-0.0255833 0 0 +-0.0255837 0 0 +-0.0255837 0 0 +-0.0255402 0 0 +-0.0255402 0 0 +-0.0254529 0 0 +-0.0254529 0 0 +-0.025322 0 0 +-0.025322 0 0 +-0.0251477 0 0 +-0.0251477 0 0 +-0.0249304 0 0 +-0.0249304 0 0 +-0.0246706 0 0 +-0.0246706 0 0 +-0.024369 0 0 +-0.024369 0 0 +-0.024026 0 0 +-0.024026 0 0 +-0.0236426 0 0 +-0.0236426 0 0 +-0.0232195 0 0 +-0.0232195 0 0 +-0.0227577 0 0 +-0.0227577 0 0 +-0.0222581 0 0 +-0.0222581 0 0 +-0.0217219 0 0 +-0.021722 0 0 +-0.0211503 0 0 +-0.0211503 0 0 +-0.0205445 0 0 +-0.0205445 0 0 +-0.0199059 0 0 +-0.0199059 0 0 +-0.0192358 0 0 +-0.0192358 0 0 +-0.0185357 0 0 +-0.0185357 0 0 +-0.0178072 0 0 +-0.0178072 0 0 +-0.0170518 0 0 +-0.0170518 0 0 +-0.0162712 0 0 +-0.0162713 0 0 +-0.0154672 0 0 +-0.0154672 0 0 +-0.0146415 0 0 +-0.0146415 0 0 +-0.0137959 0 0 +-0.0137959 0 0 +-0.0129322 0 0 +-0.0129323 0 0 +-0.0120525 0 0 +-0.0120525 0 0 +-0.0111585 0 0 +-0.0111585 0 0 +-0.0102523 0 0 +-0.0102523 0 0 +-0.00933583 0 0 +-0.00933586 0 0 +-0.00841114 0 0 +-0.00841118 0 0 +-0.00748026 0 0 +-0.00748029 0 0 +-0.00654522 0 0 +-0.00654525 0 0 +-0.00560807 0 0 +-0.00560811 0 0 +-0.00467089 0 0 +-0.00467092 0 0 +-0.00373572 0 0 +-0.00373576 0 0 +-0.00280462 0 0 +-0.00280466 0 0 +-0.00187964 0 0 +-0.00187968 0 0 +-0.00096281 0 0 +-0.000962843 0 0 +-5.61397e-05 0 0 +-5.61726e-05 0 0 +0.000838376 0 0 +0.000838344 0 0 +0.00171877 0 0 +0.00171874 0 0 +0.00258312 0 0 +0.00258308 0 0 +0.00342951 0 0 +0.00342948 0 0 +0.00425609 0 0 +0.00425606 0 0 +0.00506104 0 0 +0.00506101 0 0 +0.00584259 0 0 +0.00584257 0 0 +0.00659904 0 0 +0.00659901 0 0 +0.0073287 0 0 +0.00732868 0 0 +0.00802999 0 0 +0.00802997 0 0 +0.00870137 0 0 +0.00870134 0 0 +0.00934135 0 0 +0.00934132 0 0 +0.00994853 0 0 +0.0099485 0 0 +0.0105216 0 0 +0.0105216 0 0 +0.0110592 0 0 +0.0110592 0 0 +0.0115603 0 0 +0.0115603 0 0 +0.0120237 0 0 +0.0120237 0 0 +0.0124484 0 0 +0.0124484 0 0 +0.0128335 0 0 +0.0128335 0 0 +0.0131781 0 0 +0.0131781 0 0 +0.0134815 0 0 +0.0134815 0 0 +0.013743 0 0 +0.013743 0 0 +0.0139621 0 0 +0.0139621 0 0 +0.0141382 0 0 +0.0141381 0 0 +0.0142709 0 0 +0.0142709 0 0 +0.01436 0 0 +0.01436 0 0 +0.0144053 0 0 +0.0144053 0 0 +0.0144067 0 0 +0.0144067 0 0 +0.0143641 0 0 +0.0143641 0 0 +0.0142777 0 0 +0.0142777 0 0 +0.0141477 0 0 +0.0141477 0 0 +0.0139743 0 0 +0.0139743 0 0 +0.0137579 0 0 +0.0137579 0 0 +0.013499 0 0 +0.0134991 0 0 +0.0131982 0 0 +0.0131982 0 0 +0.0128562 0 0 +0.0128562 0 0 +0.0124736 0 0 +0.0124736 0 0 +0.0120513 0 0 +0.0120513 0 0 +0.0115903 0 0 +0.0115903 0 0 +0.0110915 0 0 +0.0110915 0 0 +0.0105561 0 0 +0.0105561 0 0 +0.0099852 0 0 +0.00998522 0 0 +0.00938011 0 0 +0.00938013 0 0 +0.00874214 0 0 +0.00874216 0 0 +0.00807268 0 0 +0.0080727 0 0 +0.00737321 0 0 +0.00737323 0 0 +0.00664527 0 0 +0.00664529 0 0 +0.00589045 0 0 +0.00589047 0 0 +0.00511041 0 0 +0.00511044 0 0 +0.00430687 0 0 +0.0043069 0 0 +0.00348159 0 0 +0.00348162 0 0 +0.00263639 0 0 +0.00263642 0 0 +0.00177311 0 0 +0.00177315 0 0 +0.000893668 0 0 +0.000893701 0 0 +-1.6382e-08 0 0 SCALARS potential double 1 LOOKUP_TABLE default 0 0.000567925 0.000567925 0.00122363 0.00122363 0.00196682 0.00196682 0.00279702 0.00279702 0.00371355 0.00371355 0.00471555 0.00471555 0.00580197 0.00580197 0.00697158 0.00697158 0.00822296 0.00822296 0.0095545 0.0095545 0.0109644 0.0109644 0.0124508 0.0124508 0.0140116 0.0140116 0.0156443 0.0156443 0.0173467 0.0173467 0.0191162 0.0191162 0.0209499 0.0209499 0.0228451 0.0228451 0.0247986 0.0247986 0.0268074 0.0268074 0.0288683 0.0288683 0.0309777 0.0309777 0.0331323 0.0331323 0.0353285 0.0353285 0.0375625 0.0375625 0.0398307 0.0398307 0.0421292 0.0421292 0.0444541 0.0444541 0.0468014 0.0468014 0.0491672 0.0491672 0.0515473 0.0515473 0.0539378 0.0539378 0.0563345 0.0563345 0.0587333 0.0587333 0.0611301 0.0611301 0.0635207 0.0635207 0.0659011 0.0659011 0.0682672 0.0682672 0.070615 0.070615 0.0729403 0.0729403 0.0752394 0.0752394 0.0775082 0.0775082 0.079743 0.079743 0.08194 0.08194 0.0840955 0.0840955 0.0862059 0.0862059 0.0882677 0.0882677 0.0902776 0.0902776 0.0922323 0.0922323 0.0941287 0.0941287 0.0959637 0.0959637 0.0977345 0.0977345 0.0994383 0.0994383 0.101072 0.101072 0.102635 0.102635 0.104123 0.104123 0.105534 0.105534 0.106867 0.106867 0.10812 0.10812 0.109292 0.109292 0.11038 0.11038 0.111383 0.111383 0.112302 0.112302 0.113134 0.113134 0.113879 0.113879 0.114536 0.114536 0.115106 0.115106 0.115588 0.115588 0.115982 0.115982 0.116288 0.116288 0.116508 0.116508 0.116641 0.116641 0.116688 0.116688 0.116652 0.116652 0.116532 0.116532 0.11633 0.11633 0.116048 0.116048 0.115688 0.115688 0.115251 0.115251 0.114739 0.114739 0.114156 0.114156 0.113503 0.113503 0.112783 0.112783 0.111998 0.111998 0.111152 0.111152 0.110248 0.110248 0.109288 0.109288 0.108276 0.108276 0.107215 0.107215 0.10611 0.10611 0.104962 0.104962 0.103777 0.103777 0.102557 0.102557 0.101307 0.101307 0.100031 0.100031 0.0987317 0.0987317 0.0974141 0.0974141 0.0960821 0.0960821 0.0947397 0.0947397 0.093391 0.093391 0.0920401 0.0920401 0.0906911 0.0906911 0.0893482 0.0893482 0.0880154 0.0880154 0.0866968 0.0866968 0.0853966 0.0853966 0.0841186 0.0841186 0.0828668 0.0828668 0.0816452 0.0816452 0.0804575 0.0804575 0.0793076 0.0793076 0.0781991 0.0781991 0.0771356 0.0771356 0.0761206 0.0761206 0.0751575 0.0751575 0.0742495 0.0742495 0.0733997 0.0733997 0.0726113 0.0726113 0.071887 0.071887 0.0712297 0.0712297 0.0706419 0.0706419 0.070126 0.070126 0.0696844 0.0696844 0.0693192 0.0693192 0.0690322 0.0690322 0.0688254 0.0688254 0.0687003 0.0687003 0.0686583 diff --git a/nufi_poisson b/nufi_poisson index a81de5b..8063062 100755 Binary files a/nufi_poisson and b/nufi_poisson differ diff --git a/nufi_poisson.cc b/nufi_poisson.cc index 54b6339..98e272f 100644 --- a/nufi_poisson.cc +++ b/nufi_poisson.cc @@ -71,11 +71,10 @@ double f0(const double x, // =-=-=-=-= Compute rho(x) =-=-=-=-= -double compute_rho(const double x) +double compute_rho(const double x, const unsigned int Nv=NV) { const double v_min = V_DOMAIN_LEFT; const double v_max = V_DOMAIN_RIGHT; - const double Nv = NV; const double dv = std::abs(v_min - v_max)/Nv; @@ -98,30 +97,35 @@ template class ChargeDensity : public Function { public: - ChargeDensity(double eps, double k) - : Function(1), eps(eps), k(k) {} + ChargeDensity(double eps, + double k, + unsigned int Nv) + : Function(1), eps(eps), k(k), Nv(Nv) {} virtual double value(const Point &p, - const unsigned int component = 0) const override + [[maybe_unused]] const unsigned int component = 0) const override { - return compute_rho(p[0]); + return compute_rho(p[0], Nv); } private: const double eps; const double k; + const unsigned int Nv; }; -/* ------------------------------ - Poisson Solver ---------------------------------*/ + +// =-=-=-=-= Poisson Solver =-=-=-=-= + template class PoissonProblem { public: - PoissonProblem(unsigned int degree); + PoissonProblem(unsigned int degree, unsigned int Nv); void run(); + void set_Nv(unsigned int new_Nv); + private: void setup_system(); void assemble_system(); @@ -139,13 +143,21 @@ private: Vector solution; // phi Vector system_rhs; + + unsigned int Nv; }; +template +void PoissonProblem::set_Nv(unsigned int new_Nv) +{ + Nv = new_Nv; +} template -PoissonProblem::PoissonProblem(unsigned int degree) +PoissonProblem::PoissonProblem(unsigned int degree, unsigned int Nv) : fe(degree) , dof_handler(triangulation) + , Nv(Nv) {} @@ -176,6 +188,35 @@ void PoissonProblem::setup_system() } +// =-=-=-=-= E_field = -dPhi/dx =-=-=-=-= + +template +class ElectricFieldPostprocessor : public DataPostprocessorVector +{ +public: + ElectricFieldPostprocessor() + : DataPostprocessorVector("electric_field", update_gradients) + {} + + virtual void evaluate_scalar_field( + const DataPostprocessorInputs::Scalar &input_data, + std::vector> &computed_quantities) const override + { + AssertDimension(input_data.solution_gradients.size(), + computed_quantities.size()); + + for (unsigned int p = 0; p < input_data.solution_gradients.size(); ++p) + { + AssertDimension(computed_quantities[p].size(), dim); + for (unsigned int d = 0; d < dim; ++d) + computed_quantities[p][d] = -input_data.solution_gradients[p][d]; + } + } +}; + + +// =-=-=-=-= Poisson equation solver =-=-=-=-= + template void PoissonProblem::assemble_system() { @@ -193,7 +234,7 @@ void PoissonProblem::assemble_system() Vector cell_rhs(dofs_per_cell); std::vector local_dof_indices(dofs_per_cell); - ChargeDensity rhs_function(EPS, WAVE_NR); + ChargeDensity rhs_function(EPS, WAVE_NR, Nv); for (const auto &cell : dof_handler.active_cell_iterators()) { @@ -261,9 +302,8 @@ void PoissonProblem::output_results() const for (unsigned int i = 0; i < support_points.size(); ++i) x_coordinate[i] = support_points[i][0]; // x-component in 1D - - /* ---- Output density ---- */ - ChargeDensity rho(EPS, WAVE_NR); + //---- Output density ---- + ChargeDensity rho(EPS, WAVE_NR, Nv); Vector density(triangulation.n_active_cells()); DataOut data_out_rho; @@ -280,25 +320,15 @@ void PoissonProblem::output_results() const std::ofstream out1("density.vtk"); data_out_rho.write_vtk(out1); - - /* ---- Output electric field ---- */ + //---- Output electric field & potential ---- DataOut data_out_E; data_out_E.attach_dof_handler(dof_handler); - std::vector E_names(dim, "E"); - std::vector - interpretation(dim, - DataComponentInterpretation::component_is_part_of_vector); - + ElectricFieldPostprocessor electric_field; Vector dummy(solution.size() * dim); - data_out_E.add_data_vector(solution, - "potential"); - - data_out_E.add_data_vector(solution, - "E_field", - DataOut::type_dof_data, - interpretation); + data_out_E.add_data_vector(solution, "potential"); + data_out_E.add_data_vector(solution, electric_field); data_out_E.add_data_vector(x_coordinate, "x_coordinate"); data_out_E.build_patches(); @@ -328,7 +358,8 @@ int main() { try { - PoissonProblem poisson_problem(FE_DEGREE); + PoissonProblem poisson_problem(FE_DEGREE, NV); + poisson_problem.set_Nv(NV); poisson_problem.run(); } catch (std::exception &exc)