From 680a6ba1e2aecf1d9275787fa2f67613788d0dae Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Thu, 27 Jul 2023 20:33:52 +0200 Subject: [PATCH 01/29] revise header txt in User1Mate --- src/MateSystem/User1Material.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/MateSystem/User1Material.cpp b/src/MateSystem/User1Material.cpp index 37afb743..3f6d0298 100644 --- a/src/MateSystem/User1Material.cpp +++ b/src/MateSystem/User1Material.cpp @@ -8,12 +8,8 @@ //**************************************************************** //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++ Author : Yang Bai -//+++ Date : 2022.08.26 -//+++ Purpose: Calculate the material properties required by diffusion -//+++ element. In this code, we can define: -//+++ 1) D -//+++ 2) dD/dc -//+++ Standard benchmark test for 2d nonlinear diffusion equation +//+++ Date : 2023.07.27 +//+++ Purpose: Calculate User-1 defined materials //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #include "MateSystem/User1Material.h" @@ -60,4 +56,4 @@ void User1Material::computeMaterialProperties(const nlohmann::json &inputparams, } } -} \ No newline at end of file +} From 9a872d663e00d6e3edbe0471972fa1f3b1e4db47 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Fri, 29 Dec 2023 18:42:53 +0100 Subject: [PATCH 02/29] small changes to group info --- external/nlohmann/json.hpp | 2 +- include/BCSystem/BCBlock.h | 6 +++--- include/BCSystem/BCSystem.h | 6 +++--- include/BCSystem/BCType.h | 6 +++--- include/BCSystem/DirichletBC.h | 6 +++--- include/BCSystem/DirichletBCBase.h | 6 +++--- include/BCSystem/IntegrateBCBase.h | 6 +++--- include/BCSystem/NeumannBC.h | 6 +++--- include/BCSystem/Poisson2DBenchmarkBC.h | 6 +++--- include/BCSystem/PressureBC.h | 6 +++--- include/BCSystem/RotatedDirichletBC.h | 6 +++--- include/BCSystem/TractionBC.h | 6 +++--- include/BCSystem/User1DirichletBC.h | 6 +++--- include/BCSystem/User2DirichletBC.h | 6 +++--- include/BCSystem/User3DirichletBC.h | 6 +++--- include/BCSystem/User4DirichletBC.h | 6 +++--- include/BCSystem/User5DirichletBC.h | 6 +++--- include/DofHandler/BulkDofHandler.h | 6 +++--- include/DofHandler/DofHandler.h | 6 +++--- include/ElmtSystem/AllenCahnElement.h | 6 +++--- include/ElmtSystem/AllenCahnFractureElement.h | 6 +++--- include/ElmtSystem/BulkElmtBase.h | 6 +++--- include/ElmtSystem/BulkElmtSystem.h | 6 +++--- include/ElmtSystem/CahnHilliardElement.h | 6 +++--- include/ElmtSystem/DiffusionACFractureElement.h | 6 +++--- include/ElmtSystem/DiffusionElement.h | 6 +++--- include/ElmtSystem/ElmtBlock.h | 6 +++--- include/ElmtSystem/ElmtSystem.h | 6 +++--- include/ElmtSystem/ElmtType.h | 6 +++--- include/ElmtSystem/KobayashiElement.h | 6 +++--- include/ElmtSystem/LaplaceElement.h | 6 +++--- include/ElmtSystem/LocalElmtData.h | 6 +++--- include/ElmtSystem/MechanicsElement.h | 6 +++--- include/ElmtSystem/MieheFractureElement.h | 6 +++--- include/ElmtSystem/PoissonElement.h | 6 +++--- include/ElmtSystem/ScalarBodySourceElement.h | 6 +++--- include/ElmtSystem/StressCahnHilliardElement.h | 6 +++--- include/ElmtSystem/StressDiffusionElement.h | 6 +++--- include/EquationSystem/EquationSystem.h | 6 +++--- include/FE/FE.h | 6 +++--- include/FE/QPoint.h | 6 +++--- include/FE/QPoint1DGenerator.h | 6 +++--- include/FE/QPoint1DLobattoGenerator.h | 6 +++--- include/FE/QPoint2DGenerator.h | 6 +++--- include/FE/QPoint2DLobattoGenerator.h | 6 +++--- include/FE/QPoint3DGenerator.h | 6 +++--- include/FE/QPoint3DLobattoGenerator.h | 6 +++--- include/FE/QPointGeneratorBase.h | 6 +++--- include/FE/QPointType.h | 6 +++--- include/FE/QPointUser1Generator.h | 6 +++--- include/FE/QPointUser2Generator.h | 6 +++--- include/FE/QPointUser3Generator.h | 6 +++--- include/FE/QPointUser4Generator.h | 6 +++--- include/FE/QPointUser5Generator.h | 6 +++--- include/FE/QPointUserGeneratorBase.h | 6 +++--- include/FE/ShapeFun.h | 6 +++--- include/FE/ShapeFun1D.h | 6 +++--- include/FE/ShapeFun1DBase.h | 6 +++--- include/FE/ShapeFun1DEdge2.h | 6 +++--- include/FE/ShapeFun1DEdge3.h | 6 +++--- include/FE/ShapeFun1DEdge4.h | 6 +++--- include/FE/ShapeFun2D.h | 6 +++--- include/FE/ShapeFun2DBase.h | 6 +++--- include/FE/ShapeFun2DQuad4.h | 6 +++--- include/FE/ShapeFun2DQuad8.h | 6 +++--- include/FE/ShapeFun2DQuad9.h | 6 +++--- include/FE/ShapeFun2DTri3.h | 6 +++--- include/FE/ShapeFun2DTri6.h | 6 +++--- include/FE/ShapeFun3D.h | 6 +++--- include/FE/ShapeFun3DBase.h | 6 +++--- include/FE/ShapeFun3DHex20.h | 6 +++--- include/FE/ShapeFun3DHex27.h | 6 +++--- include/FE/ShapeFun3DHex8.h | 6 +++--- include/FE/ShapeFun3DTet10.h | 6 +++--- include/FE/ShapeFun3DTet4.h | 6 +++--- include/FE/ShapeFunType.h | 6 +++--- include/FE/ShapeFunUser.h | 6 +++--- include/FE/ShapeFunUser1.h | 6 +++--- include/FE/ShapeFunUser2.h | 6 +++--- include/FE/ShapeFunUser3.h | 6 +++--- include/FE/ShapeFunUser4.h | 6 +++--- include/FE/ShapeFunUser5.h | 6 +++--- include/FE/ShapeFunUserBase.h | 6 +++--- include/FEProblem/FEControlInfo.h | 6 +++--- include/FEProblem/FEJobBlock.h | 6 +++--- include/FEProblem/FEJobType.h | 6 +++--- include/FEProblem/FEProblem.h | 6 +++--- include/FESystem/BulkFESystem.h | 6 +++--- include/FESystem/FECalcType.h | 6 +++--- include/FESystem/FESystem.h | 6 +++--- include/ICSystem/CircleIC.h | 6 +++--- include/ICSystem/ConstantIC.h | 6 +++--- include/ICSystem/ICBlock.h | 6 +++--- include/ICSystem/ICSystem.h | 6 +++--- include/ICSystem/ICType.h | 6 +++--- include/ICSystem/InitialConditionBase.h | 6 +++--- include/ICSystem/RandomIC.h | 6 +++--- include/InputSystem/InputSystem.h | 6 +++--- include/MateSystem/BinaryMixtureMaterial.h | 6 +++--- include/MateSystem/BulkMateSystem.h | 6 +++--- include/MateSystem/BulkMaterialBase.h | 6 +++--- include/MateSystem/ConstDiffusionMaterial.h | 6 +++--- include/MateSystem/ConstPoissonMaterial.h | 6 +++--- include/MateSystem/DiffusionACFractureMaterial.h | 6 +++--- include/MateSystem/DoubleWellPotentialMaterial.h | 6 +++--- include/MateSystem/ElasticMaterialBase.h | 6 +++--- include/MateSystem/FreeEnergyMaterialBase.h | 6 +++--- include/MateSystem/KobayashiDendriteMaterial.h | 6 +++--- include/MateSystem/LinearElasticFractureMaterial.h | 6 +++--- include/MateSystem/LinearElasticMaterial.h | 6 +++--- include/MateSystem/MateSystem.h | 6 +++--- include/MateSystem/MateType.h | 6 +++--- include/MateSystem/MaterialsContainer.h | 6 +++--- include/MateSystem/MaterialsName.h | 6 +++--- include/MateSystem/MieheFractureMaterial.h | 6 +++--- include/MateSystem/NeoHookeanMaterial.h | 6 +++--- include/MateSystem/NeoHookeanPFFractureMaterial.h | 6 +++--- include/MateSystem/NonlinearDiffusion2DMaterial.h | 6 +++--- include/MateSystem/NonlinearPoisson2DMaterial.h | 6 +++--- include/MateSystem/NonlinearPoisson3DMaterial.h | 6 +++--- include/MateSystem/PlasticMaterialBase.h | 6 +++--- include/MateSystem/Poisson1DBenchmarkMaterial.h | 6 +++--- include/MateSystem/Poisson2DBenchmarkMaterial.h | 6 +++--- include/MateSystem/SaintVenantMaterial.h | 6 +++--- include/MateSystem/SmallStrainCahnHilliardMaterial.h | 6 +++--- include/MateSystem/SmallStrainDiffusionJ2Material.h | 6 +++--- include/MateSystem/SmallStrainDiffusionMaterial.h | 6 +++--- .../MateSystem/SmallStrainExpLawJ2PlasticityMaterial.h | 6 +++--- include/MateSystem/SmallStrainJ2PlasticityMaterial.h | 6 +++--- include/MateSystem/User1Material.h | 6 +++--- include/MathUtils/MathFuns.h | 6 +++--- include/MathUtils/MatrixXd.h | 6 +++--- include/MathUtils/Rank2Tensor.h | 6 +++--- include/MathUtils/Rank4Tensor.h | 6 +++--- include/MathUtils/SparseMatrix.h | 6 +++--- include/MathUtils/Vector.h | 6 +++--- include/MathUtils/Vector3d.h | 6 +++--- include/MathUtils/VectorXd.h | 6 +++--- include/Mesh/BulkMesh.h | 6 +++--- include/Mesh/Gmsh2FileImporter.h | 6 +++--- include/Mesh/Lagrange1DMeshGenerator.h | 6 +++--- include/Mesh/Lagrange2DMeshGenerator.h | 6 +++--- include/Mesh/Lagrange3DMeshGenerator.h | 6 +++--- include/Mesh/Mesh.h | 6 +++--- include/Mesh/MeshData.h | 6 +++--- include/Mesh/MeshFileImporter.h | 6 +++--- include/Mesh/MeshFileImporterBase.h | 6 +++--- include/Mesh/MeshGenerator.h | 6 +++--- include/Mesh/MeshGeneratorBase.h | 6 +++--- include/Mesh/MeshType.h | 6 +++--- include/Mesh/Msh2FileImporter.h | 6 +++--- include/Mesh/Msh4FileImporter.h | 6 +++--- include/Mesh/MshFileUtils.h | 6 +++--- include/Mesh/Nodes.h | 6 +++--- include/NonlinearSolver/NonlinearSolver.h | 6 +++--- include/NonlinearSolver/NonlinearSolverBase.h | 6 +++--- include/NonlinearSolver/NonlinearSolverBlock.h | 6 +++--- include/NonlinearSolver/NonlinearSolverType.h | 6 +++--- include/NonlinearSolver/SNESSolver.h | 6 +++--- include/OutputSystem/OutputSystem.h | 6 +++--- include/OutputSystem/ResultFileFormat.h | 6 +++--- include/OutputSystem/ResultWriterBase.h | 6 +++--- include/OutputSystem/VTUWriter.h | 6 +++--- include/Postprocess/AreaPostprocessor.h | 6 +++--- include/Postprocess/NodalPostprocessorBase.h | 6 +++--- include/Postprocess/NodalRank2MatePostprocessor.h | 6 +++--- include/Postprocess/NodalRank4MatePostprocessor.h | 6 +++--- include/Postprocess/NodalScalarMatePostprocessor.h | 6 +++--- include/Postprocess/NodalValuePostprocessor.h | 6 +++--- include/Postprocess/NodalVectorMatePostprocessor.h | 6 +++--- include/Postprocess/Postprocessor.h | 6 +++--- include/Postprocess/PostprocessorBlock.h | 6 +++--- include/Postprocess/PostprocessorType.h | 6 +++--- include/Postprocess/SideIntegralPostprocessorBase.h | 6 +++--- .../Postprocess/SideIntegralRank2MatePostprocessor.h | 6 +++--- .../Postprocess/SideIntegralRank4MatePostprocessor.h | 6 +++--- .../Postprocess/SideIntegralScalarMatePostprocessor.h | 6 +++--- include/Postprocess/SideIntegralValuePostprocessor.h | 6 +++--- .../Postprocess/SideIntegralVectorMatePostprocessor.h | 6 +++--- include/Postprocess/User1SideIntegralPostprocessor.h | 6 +++--- include/Postprocess/User1VolumeIntegralPostprocessor.h | 6 +++--- include/Postprocess/VolumeIntegralPostprocessorBase.h | 6 +++--- .../Postprocess/VolumeIntegralRank2MatePostprocessor.h | 6 +++--- .../Postprocess/VolumeIntegralRank4MatePostprocessor.h | 6 +++--- .../VolumeIntegralScalarMatePostprocessor.h | 6 +++--- include/Postprocess/VolumeIntegralValuePostprocessor.h | 6 +++--- .../VolumeIntegralVectorMatePostprocessor.h | 6 +++--- include/Postprocess/VolumePostprocessor.h | 6 +++--- include/ProjectionSystem/LeastSquareProjection.h | 6 +++--- include/ProjectionSystem/ProjectionBase.h | 6 +++--- include/ProjectionSystem/ProjectionData.h | 6 +++--- include/ProjectionSystem/ProjectionSystem.h | 6 +++--- include/ProjectionSystem/ProjectionType.h | 6 +++--- include/SolutionSystem/SolutionSystem.h | 6 +++--- include/TimeStepping/TimeStepping.h | 6 +++--- include/TimeStepping/TimeSteppingData.h | 6 +++--- include/TimeStepping/TimeSteppingTool.h | 6 +++--- include/TimeStepping/TimeSteppingType.h | 6 +++--- include/Utils/JsonUtils.h | 6 +++--- include/Utils/MessageColor.h | 6 +++--- include/Utils/MessagePrinter.h | 6 +++--- include/Utils/StringUtils.h | 6 +++--- include/Utils/Timer.h | 6 +++--- include/Welcome.h | 6 +++--- src/BCSystem/ApplyBoundaryConditions.cpp | 6 +++--- src/BCSystem/ApplyDirichletBC.cpp | 6 +++--- src/BCSystem/ApplyIntegratedBC.cpp | 6 +++--- src/BCSystem/BCSystem.cpp | 6 +++--- src/BCSystem/BCSystemAssemble.cpp | 6 +++--- src/BCSystem/DirichletBC.cpp | 6 +++--- src/BCSystem/NeumannBC.cpp | 6 +++--- src/BCSystem/Poisson2DBenchmarkBC.cpp | 6 +++--- src/BCSystem/PressureBC.cpp | 6 +++--- src/BCSystem/RotatedDirichletBC.cpp | 6 +++--- src/BCSystem/RunBCLibs.cpp | 6 +++--- src/BCSystem/TractionBC.cpp | 6 +++--- src/BCSystem/User1DirichletBC.cpp | 6 +++--- src/BCSystem/User2DirichletBC.cpp | 6 +++--- src/BCSystem/User3DirichletBC.cpp | 6 +++--- src/BCSystem/User4DirichletBC.cpp | 6 +++--- src/BCSystem/User5DirichletBC.cpp | 6 +++--- src/DofHandler/BulkDofHandler.cpp | 6 +++--- src/DofHandler/BulkDofHandlerSettings.cpp | 6 +++--- src/DofHandler/CreateBulkDofsMap.cpp | 6 +++--- src/ElmtSystem/AllenCahnElement.cpp | 6 +++--- src/ElmtSystem/AllenCahnFractureElement.cpp | 6 +++--- src/ElmtSystem/BulkElmtSystem.cpp | 6 +++--- src/ElmtSystem/BulkElmtSystemInit.cpp | 6 +++--- src/ElmtSystem/CahnHilliardElement.cpp | 6 +++--- src/ElmtSystem/DiffusionACFractureElement.cpp | 6 +++--- src/ElmtSystem/DiffusionElement.cpp | 6 +++--- src/ElmtSystem/ElmtSystem.cpp | 6 +++--- src/ElmtSystem/KobayashiElement.cpp | 6 +++--- src/ElmtSystem/LaplaceElement.cpp | 6 +++--- src/ElmtSystem/MechanicsElement.cpp | 6 +++--- src/ElmtSystem/MieheFractureElement.cpp | 6 +++--- src/ElmtSystem/PoissonElement.cpp | 6 +++--- src/ElmtSystem/RunBulkElmtLibs.cpp | 6 +++--- src/ElmtSystem/ScalarBodySourceElement.cpp | 6 +++--- src/ElmtSystem/StressCahnHilliardElement.cpp | 6 +++--- src/ElmtSystem/StressDiffusionElement.cpp | 6 +++--- src/EquationSystem/EquationSystem.cpp | 6 +++--- src/FE/FE.cpp | 6 +++--- src/FE/QPoints/QPoint.cpp | 6 +++--- src/FE/QPoints/QPoint1DGenerator.cpp | 6 +++--- src/FE/QPoints/QPoint1DLobattoGenerator.cpp | 6 +++--- src/FE/QPoints/QPoint2DGenerator.cpp | 6 +++--- src/FE/QPoints/QPoint2DLobattoGenerator.cpp | 6 +++--- src/FE/QPoints/QPoint3DGenerator.cpp | 6 +++--- src/FE/QPoints/QPoint3DLobattoGenerator.cpp | 6 +++--- src/FE/QPoints/QPointUser1Generator.cpp | 6 +++--- src/FE/QPoints/QPointUser2Generator.cpp | 6 +++--- src/FE/QPoints/QPointUser3Generator.cpp | 6 +++--- src/FE/QPoints/QPointUser4Generator.cpp | 6 +++--- src/FE/QPoints/QPointUser5Generator.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun1D.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun1DEdge2.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun1DEdge3.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun1DEdge4.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun2D.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun2DQuad4.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun2DQuad8.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun2DQuad9.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun2DTri3.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun2DTri6.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun3D.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun3DHex20.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun3DHex27.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun3DHex8.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun3DTet10.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFun3DTet4.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFunCalc.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFunUser.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFunUser1.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFunUser2.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFunUser3.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFunUser4.cpp | 6 +++--- src/FE/ShapeFuns/ShapeFunUser5.cpp | 6 +++--- src/FEProblem/FEProblem.cpp | 6 +++--- src/FEProblem/RunFEProblem.cpp | 6 +++--- src/FEProblem/RunStaticAnalysis.cpp | 6 +++--- src/FEProblem/RunTransientAnalysis.cpp | 6 +++--- src/FESystem/BulkFESystem.cpp | 6 +++--- src/FESystem/BulkFESystemAssemble.cpp | 6 +++--- src/FESystem/BulkFESystemInit.cpp | 6 +++--- src/FESystem/FESystem.cpp | 6 +++--- src/FESystem/FormBulkFE.cpp | 6 +++--- src/ICSystem/ApplyInitialConditions.cpp | 6 +++--- src/ICSystem/CircleIC.cpp | 6 +++--- src/ICSystem/ConstantIC.cpp | 6 +++--- src/ICSystem/ICSystem.cpp | 6 +++--- src/ICSystem/RandomIC.cpp | 6 +++--- src/ICSystem/RunICLibs.cpp | 6 +++--- src/InputSystem/InputSystem.cpp | 6 +++--- src/InputSystem/ReadBCsBlock.cpp | 6 +++--- src/InputSystem/ReadDofsBlock.cpp | 6 +++--- src/InputSystem/ReadElmtsBlock.cpp | 6 +++--- src/InputSystem/ReadICsBlock.cpp | 6 +++--- src/InputSystem/ReadInputFile.cpp | 6 +++--- src/InputSystem/ReadJobBlock.cpp | 6 +++--- src/InputSystem/ReadMeshBlock.cpp | 6 +++--- src/InputSystem/ReadNLSolverBlock.cpp | 6 +++--- src/InputSystem/ReadOutputBlock.cpp | 6 +++--- src/InputSystem/ReadPostprocessBlock.cpp | 6 +++--- src/InputSystem/ReadProjectionBlock.cpp | 6 +++--- src/InputSystem/ReadQPointBlock.cpp | 6 +++--- src/InputSystem/ReadShapeFunBlock.cpp | 6 +++--- src/InputSystem/ReadTimeSteppingBlock.cpp | 6 +++--- src/MateSystem/BinaryMixtureMaterial.cpp | 6 +++--- src/MateSystem/BulkMateSystem.cpp | 6 +++--- src/MateSystem/ConstDiffusionMaterial.cpp | 6 +++--- src/MateSystem/ConstPoissonMaterial.cpp | 6 +++--- src/MateSystem/DiffusionACFractureMaterial.cpp | 6 +++--- src/MateSystem/DoubleWellPotentialMaterial.cpp | 6 +++--- src/MateSystem/InitBulkMateLibs.cpp | 6 +++--- src/MateSystem/KobayashiDendriteMaterial.cpp | 6 +++--- src/MateSystem/LinearElasticFractureMaterial.cpp | 6 +++--- src/MateSystem/LinearElasticMaterial.cpp | 6 +++--- src/MateSystem/MateSystem.cpp | 6 +++--- src/MateSystem/MaterialsContainer.cpp | 6 +++--- src/MateSystem/MieheFractureMaterial.cpp | 6 +++--- src/MateSystem/NeoHookeanMaterial.cpp | 6 +++--- src/MateSystem/NeoHookeanPFFractureMaterial.cpp | 6 +++--- src/MateSystem/NonlinearDiffusion2DMaterial.cpp | 6 +++--- src/MateSystem/NonlinearPoisson2DMaterial.cpp | 6 +++--- src/MateSystem/NonlinearPoisson3DMaterial.cpp | 6 +++--- src/MateSystem/Poisson1DBenchmarkMaterial.cpp | 6 +++--- src/MateSystem/Poisson2DBenchmarkMaterial.cpp | 6 +++--- src/MateSystem/RunBulkMateLibs.cpp | 6 +++--- src/MateSystem/SaintVenantMaterial.cpp | 6 +++--- src/MateSystem/SmallStrainCahnHilliardMaterial.cpp | 6 +++--- src/MateSystem/SmallStrainDiffusionJ2Material.cpp | 6 +++--- src/MateSystem/SmallStrainDiffusionMaterial.cpp | 6 +++--- .../SmallStrainExpLawJ2PlasticityMaterial.cpp | 6 +++--- src/MateSystem/SmallStrainJ2PlasticityMaterial.cpp | 6 +++--- src/MateSystem/User1Material.cpp | 6 +++--- src/MathUtils/MathFuns.cpp | 6 +++--- src/MathUtils/MatrixXd.cpp | 6 +++--- src/MathUtils/Rank2Tensor.cpp | 6 +++--- src/MathUtils/Rank4Tensor.cpp | 6 +++--- src/MathUtils/SparseMatrix.cpp | 10 +++++----- src/MathUtils/Vector.cpp | 6 +++--- src/MathUtils/Vector3d.cpp | 6 +++--- src/MathUtils/VectorXd.cpp | 6 +++--- src/Mesh/BulkMesh.cpp | 6 +++--- src/Mesh/Gmsh2FileImporter.cpp | 6 +++--- src/Mesh/Lagrange1DMeshGenerator.cpp | 6 +++--- src/Mesh/Lagrange2DMeshGenerator.cpp | 6 +++--- src/Mesh/Lagrange3DMeshGenerator.cpp | 6 +++--- src/Mesh/MeshFileImporter.cpp | 6 +++--- src/Mesh/MeshGenerator.cpp | 6 +++--- src/Mesh/Msh2FileImporter.cpp | 6 +++--- src/Mesh/Msh4FileImporter.cpp | 6 +++--- src/Mesh/MshFileUtils.cpp | 6 +++--- src/Mesh/PrintMesh.cpp | 6 +++--- src/Mesh/SaveMesh.cpp | 6 +++--- src/NonlinearSolver/NonlinearSolver.cpp | 6 +++--- src/NonlinearSolver/SNESSolve.cpp | 6 +++--- src/NonlinearSolver/SNESSolver.cpp | 6 +++--- src/OutputSystem/OutputSystem.cpp | 6 +++--- src/OutputSystem/SaveResults.cpp | 6 +++--- src/OutputSystem/VTUWriter.cpp | 6 +++--- src/Postprocess/AreaPostprocessor.cpp | 6 +++--- src/Postprocess/ExecuteNodalPostprocess.cpp | 6 +++--- src/Postprocess/ExecutePostprocess.cpp | 6 +++--- src/Postprocess/ExecuteSideIntegralPostprocess.cpp | 6 +++--- src/Postprocess/ExecuteVolumeIntegralPostprocess.cpp | 6 +++--- src/Postprocess/NodalRank2MatePostprocessor.cpp | 6 +++--- src/Postprocess/NodalRank4MatePostprocessor.cpp | 6 +++--- src/Postprocess/NodalScalarMatePostprocessor.cpp | 6 +++--- src/Postprocess/NodalValuePostprocessor.cpp | 6 +++--- src/Postprocess/NodalVectorMatePostprocessor.cpp | 6 +++--- src/Postprocess/Postprocessor.cpp | 6 +++--- src/Postprocess/RunSideIntegralPostprocessLibs.cpp | 6 +++--- src/Postprocess/RunVolumeIntegralPostprocessLibs.cpp | 6 +++--- src/Postprocess/SavePostprocessResults.cpp | 6 +++--- src/Postprocess/SideIntegralRank2MatePostprocessor.cpp | 6 +++--- src/Postprocess/SideIntegralRank4MatePostprocessor.cpp | 6 +++--- .../SideIntegralScalarMatePostprocessor.cpp | 6 +++--- src/Postprocess/SideIntegralValuePostprocessor.cpp | 6 +++--- .../SideIntegralVectorMatePostprocessor.cpp | 6 +++--- src/Postprocess/User1SideIntegralPostprocessor.cpp | 6 +++--- src/Postprocess/User1VolumeIntegralPostprocessor.cpp | 6 +++--- .../VolumeIntegralRank2MatePostprocessor.cpp | 6 +++--- .../VolumeIntegralRank4MatePostprocessor.cpp | 6 +++--- .../VolumeIntegralScalarMatePostprocessor.cpp | 6 +++--- src/Postprocess/VolumeIntegralValuePostprocessor.cpp | 6 +++--- .../VolumeIntegralVectorMatePostprocessor.cpp | 6 +++--- src/Postprocess/VolumePostprocessor.cpp | 6 +++--- src/ProjectionSystem/LeastSquareProjection.cpp | 6 +++--- src/ProjectionSystem/Projection.cpp | 6 +++--- src/ProjectionSystem/ProjectionGettings.cpp | 6 +++--- src/ProjectionSystem/ProjectionLibs.cpp | 6 +++--- src/ProjectionSystem/ProjectionSystem.cpp | 6 +++--- src/SolutionSystem/SolutionSystem.cpp | 6 +++--- src/SolutionSystem/SolutionSystemInit.cpp | 6 +++--- src/SolutionSystem/SolutionUpdate.cpp | 6 +++--- src/TimeStepping/TimeStepping.cpp | 6 +++--- src/TimeStepping/TimeSteppingSolve.cpp | 6 +++--- src/Utils/JsonUtils.cpp | 6 +++--- src/Utils/MessagePrinter.cpp | 6 +++--- src/Utils/StringUtils.cpp | 6 +++--- src/Utils/Timer.cpp | 6 +++--- src/main.cpp | 6 +++--- tests/interpolation/test.cpp | 6 +++--- tests/tensor/test.cpp | 6 +++--- tests/vector/test.cpp | 6 +++--- 408 files changed, 1224 insertions(+), 1224 deletions(-) diff --git a/external/nlohmann/json.hpp b/external/nlohmann/json.hpp index bdde90b4..45222bb3 100644 --- a/external/nlohmann/json.hpp +++ b/external/nlohmann/json.hpp @@ -16798,7 +16798,7 @@ NLOHMANN_JSON_NAMESPACE_END // | | |__ | | | | | | version 3.11.2 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2008-2009 Björn Hoehrmann +// SPDX-FileCopyrightText: 2008-2009 Björn Hoehrmann // SPDX-FileCopyrightText: 2013-2022 Niels Lohmann // SPDX-License-Identifier: MIT diff --git a/include/BCSystem/BCBlock.h b/include/BCSystem/BCBlock.h index 77d6172e..68a8ae84 100644 --- a/include/BCSystem/BCBlock.h +++ b/include/BCSystem/BCBlock.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/BCSystem.h b/include/BCSystem/BCSystem.h index 88f1fe43..ac78162f 100644 --- a/include/BCSystem/BCSystem.h +++ b/include/BCSystem/BCSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/BCType.h b/include/BCSystem/BCType.h index 39d3dae3..75c57ed5 100644 --- a/include/BCSystem/BCType.h +++ b/include/BCSystem/BCType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/DirichletBC.h b/include/BCSystem/DirichletBC.h index 259325f6..9c09205a 100644 --- a/include/BCSystem/DirichletBC.h +++ b/include/BCSystem/DirichletBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/DirichletBCBase.h b/include/BCSystem/DirichletBCBase.h index 0570e25f..ede5f54e 100644 --- a/include/BCSystem/DirichletBCBase.h +++ b/include/BCSystem/DirichletBCBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/IntegrateBCBase.h b/include/BCSystem/IntegrateBCBase.h index 819b136a..013b814d 100644 --- a/include/BCSystem/IntegrateBCBase.h +++ b/include/BCSystem/IntegrateBCBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/NeumannBC.h b/include/BCSystem/NeumannBC.h index 32e49314..ce0d97bd 100644 --- a/include/BCSystem/NeumannBC.h +++ b/include/BCSystem/NeumannBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/Poisson2DBenchmarkBC.h b/include/BCSystem/Poisson2DBenchmarkBC.h index 19e193a7..9b31c7cb 100644 --- a/include/BCSystem/Poisson2DBenchmarkBC.h +++ b/include/BCSystem/Poisson2DBenchmarkBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/PressureBC.h b/include/BCSystem/PressureBC.h index 7017832b..f3f9673d 100644 --- a/include/BCSystem/PressureBC.h +++ b/include/BCSystem/PressureBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/RotatedDirichletBC.h b/include/BCSystem/RotatedDirichletBC.h index b457de9f..1f78a265 100644 --- a/include/BCSystem/RotatedDirichletBC.h +++ b/include/BCSystem/RotatedDirichletBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/TractionBC.h b/include/BCSystem/TractionBC.h index 5fb54d32..ded32ca5 100644 --- a/include/BCSystem/TractionBC.h +++ b/include/BCSystem/TractionBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/User1DirichletBC.h b/include/BCSystem/User1DirichletBC.h index 44c1fbc7..0ca6a599 100644 --- a/include/BCSystem/User1DirichletBC.h +++ b/include/BCSystem/User1DirichletBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/User2DirichletBC.h b/include/BCSystem/User2DirichletBC.h index 92995c88..7a2a2642 100644 --- a/include/BCSystem/User2DirichletBC.h +++ b/include/BCSystem/User2DirichletBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/User3DirichletBC.h b/include/BCSystem/User3DirichletBC.h index c0573ece..95c5d9b5 100644 --- a/include/BCSystem/User3DirichletBC.h +++ b/include/BCSystem/User3DirichletBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/User4DirichletBC.h b/include/BCSystem/User4DirichletBC.h index 6ed80ed0..55c452bd 100644 --- a/include/BCSystem/User4DirichletBC.h +++ b/include/BCSystem/User4DirichletBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/BCSystem/User5DirichletBC.h b/include/BCSystem/User5DirichletBC.h index 8e2af5a6..b33246e7 100644 --- a/include/BCSystem/User5DirichletBC.h +++ b/include/BCSystem/User5DirichletBC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/DofHandler/BulkDofHandler.h b/include/DofHandler/BulkDofHandler.h index 8c7395ed..9a32a7cd 100644 --- a/include/DofHandler/BulkDofHandler.h +++ b/include/DofHandler/BulkDofHandler.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/DofHandler/DofHandler.h b/include/DofHandler/DofHandler.h index 67faf196..54c824c8 100644 --- a/include/DofHandler/DofHandler.h +++ b/include/DofHandler/DofHandler.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/AllenCahnElement.h b/include/ElmtSystem/AllenCahnElement.h index a1fe1815..03e23542 100644 --- a/include/ElmtSystem/AllenCahnElement.h +++ b/include/ElmtSystem/AllenCahnElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/AllenCahnFractureElement.h b/include/ElmtSystem/AllenCahnFractureElement.h index 5d181ea9..79832aad 100644 --- a/include/ElmtSystem/AllenCahnFractureElement.h +++ b/include/ElmtSystem/AllenCahnFractureElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/BulkElmtBase.h b/include/ElmtSystem/BulkElmtBase.h index 2c10fdf4..9bfadaaa 100644 --- a/include/ElmtSystem/BulkElmtBase.h +++ b/include/ElmtSystem/BulkElmtBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/BulkElmtSystem.h b/include/ElmtSystem/BulkElmtSystem.h index 48dcb5d0..a054a3fc 100644 --- a/include/ElmtSystem/BulkElmtSystem.h +++ b/include/ElmtSystem/BulkElmtSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/CahnHilliardElement.h b/include/ElmtSystem/CahnHilliardElement.h index 3bdc8330..40cb08a1 100644 --- a/include/ElmtSystem/CahnHilliardElement.h +++ b/include/ElmtSystem/CahnHilliardElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/DiffusionACFractureElement.h b/include/ElmtSystem/DiffusionACFractureElement.h index 60e472c0..c4db9b1f 100644 --- a/include/ElmtSystem/DiffusionACFractureElement.h +++ b/include/ElmtSystem/DiffusionACFractureElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/DiffusionElement.h b/include/ElmtSystem/DiffusionElement.h index 3dcb5b1d..e5756c07 100644 --- a/include/ElmtSystem/DiffusionElement.h +++ b/include/ElmtSystem/DiffusionElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/ElmtBlock.h b/include/ElmtSystem/ElmtBlock.h index 846f97bf..a4e7b458 100644 --- a/include/ElmtSystem/ElmtBlock.h +++ b/include/ElmtSystem/ElmtBlock.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/ElmtSystem.h b/include/ElmtSystem/ElmtSystem.h index 37960443..7e3c058e 100644 --- a/include/ElmtSystem/ElmtSystem.h +++ b/include/ElmtSystem/ElmtSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/ElmtType.h b/include/ElmtSystem/ElmtType.h index 63b8423c..7b2dee1f 100644 --- a/include/ElmtSystem/ElmtType.h +++ b/include/ElmtSystem/ElmtType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/KobayashiElement.h b/include/ElmtSystem/KobayashiElement.h index 429845bb..170da144 100644 --- a/include/ElmtSystem/KobayashiElement.h +++ b/include/ElmtSystem/KobayashiElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/LaplaceElement.h b/include/ElmtSystem/LaplaceElement.h index 50b310c3..2b5da41a 100644 --- a/include/ElmtSystem/LaplaceElement.h +++ b/include/ElmtSystem/LaplaceElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/LocalElmtData.h b/include/ElmtSystem/LocalElmtData.h index 72cfeb65..c2b2f2f2 100644 --- a/include/ElmtSystem/LocalElmtData.h +++ b/include/ElmtSystem/LocalElmtData.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/MechanicsElement.h b/include/ElmtSystem/MechanicsElement.h index 6eac17bc..b9b9a9a8 100644 --- a/include/ElmtSystem/MechanicsElement.h +++ b/include/ElmtSystem/MechanicsElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/MieheFractureElement.h b/include/ElmtSystem/MieheFractureElement.h index 28a9d6f0..9d36f3c8 100644 --- a/include/ElmtSystem/MieheFractureElement.h +++ b/include/ElmtSystem/MieheFractureElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/PoissonElement.h b/include/ElmtSystem/PoissonElement.h index 1f00133a..e5f71f4c 100644 --- a/include/ElmtSystem/PoissonElement.h +++ b/include/ElmtSystem/PoissonElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/ScalarBodySourceElement.h b/include/ElmtSystem/ScalarBodySourceElement.h index 3e2d559d..18fbc136 100644 --- a/include/ElmtSystem/ScalarBodySourceElement.h +++ b/include/ElmtSystem/ScalarBodySourceElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/StressCahnHilliardElement.h b/include/ElmtSystem/StressCahnHilliardElement.h index 90aab5d4..ed71e4cb 100644 --- a/include/ElmtSystem/StressCahnHilliardElement.h +++ b/include/ElmtSystem/StressCahnHilliardElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ElmtSystem/StressDiffusionElement.h b/include/ElmtSystem/StressDiffusionElement.h index 9fa48818..9a9947c0 100644 --- a/include/ElmtSystem/StressDiffusionElement.h +++ b/include/ElmtSystem/StressDiffusionElement.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/EquationSystem/EquationSystem.h b/include/EquationSystem/EquationSystem.h index 6aeb0c65..d9810e0f 100644 --- a/include/EquationSystem/EquationSystem.h +++ b/include/EquationSystem/EquationSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/FE.h b/include/FE/FE.h index 4750ed8a..130d8221 100644 --- a/include/FE/FE.h +++ b/include/FE/FE.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPoint.h b/include/FE/QPoint.h index 8cd3eda3..21842c27 100644 --- a/include/FE/QPoint.h +++ b/include/FE/QPoint.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPoint1DGenerator.h b/include/FE/QPoint1DGenerator.h index 149444a4..5da01889 100644 --- a/include/FE/QPoint1DGenerator.h +++ b/include/FE/QPoint1DGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPoint1DLobattoGenerator.h b/include/FE/QPoint1DLobattoGenerator.h index 9653a633..b593d840 100644 --- a/include/FE/QPoint1DLobattoGenerator.h +++ b/include/FE/QPoint1DLobattoGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPoint2DGenerator.h b/include/FE/QPoint2DGenerator.h index 98e59915..21595cdc 100644 --- a/include/FE/QPoint2DGenerator.h +++ b/include/FE/QPoint2DGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPoint2DLobattoGenerator.h b/include/FE/QPoint2DLobattoGenerator.h index 4d2e7ae7..e2beb7ef 100644 --- a/include/FE/QPoint2DLobattoGenerator.h +++ b/include/FE/QPoint2DLobattoGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPoint3DGenerator.h b/include/FE/QPoint3DGenerator.h index 9389e8c3..c1954cd9 100644 --- a/include/FE/QPoint3DGenerator.h +++ b/include/FE/QPoint3DGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPoint3DLobattoGenerator.h b/include/FE/QPoint3DLobattoGenerator.h index 5dcb6638..063cf7b9 100644 --- a/include/FE/QPoint3DLobattoGenerator.h +++ b/include/FE/QPoint3DLobattoGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPointGeneratorBase.h b/include/FE/QPointGeneratorBase.h index 1ea47cd9..1192752e 100644 --- a/include/FE/QPointGeneratorBase.h +++ b/include/FE/QPointGeneratorBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPointType.h b/include/FE/QPointType.h index 0d733fde..657273dc 100644 --- a/include/FE/QPointType.h +++ b/include/FE/QPointType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPointUser1Generator.h b/include/FE/QPointUser1Generator.h index 7ae0f753..40062504 100644 --- a/include/FE/QPointUser1Generator.h +++ b/include/FE/QPointUser1Generator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPointUser2Generator.h b/include/FE/QPointUser2Generator.h index 77685fb9..29833d0b 100644 --- a/include/FE/QPointUser2Generator.h +++ b/include/FE/QPointUser2Generator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPointUser3Generator.h b/include/FE/QPointUser3Generator.h index 8d307993..eacd98cf 100644 --- a/include/FE/QPointUser3Generator.h +++ b/include/FE/QPointUser3Generator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPointUser4Generator.h b/include/FE/QPointUser4Generator.h index be4ff5e0..a315b677 100644 --- a/include/FE/QPointUser4Generator.h +++ b/include/FE/QPointUser4Generator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPointUser5Generator.h b/include/FE/QPointUser5Generator.h index 38fecba5..e46d2fcf 100644 --- a/include/FE/QPointUser5Generator.h +++ b/include/FE/QPointUser5Generator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/QPointUserGeneratorBase.h b/include/FE/QPointUserGeneratorBase.h index 6fb13e42..0fbb16f2 100644 --- a/include/FE/QPointUserGeneratorBase.h +++ b/include/FE/QPointUserGeneratorBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun.h b/include/FE/ShapeFun.h index 614a8022..29084eb2 100644 --- a/include/FE/ShapeFun.h +++ b/include/FE/ShapeFun.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun1D.h b/include/FE/ShapeFun1D.h index 276253bf..55be02e2 100644 --- a/include/FE/ShapeFun1D.h +++ b/include/FE/ShapeFun1D.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun1DBase.h b/include/FE/ShapeFun1DBase.h index 1ed0e0ae..fe8a1d59 100644 --- a/include/FE/ShapeFun1DBase.h +++ b/include/FE/ShapeFun1DBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun1DEdge2.h b/include/FE/ShapeFun1DEdge2.h index 6bc796e0..2bf95316 100644 --- a/include/FE/ShapeFun1DEdge2.h +++ b/include/FE/ShapeFun1DEdge2.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun1DEdge3.h b/include/FE/ShapeFun1DEdge3.h index 72e34ff9..8d03e0f1 100644 --- a/include/FE/ShapeFun1DEdge3.h +++ b/include/FE/ShapeFun1DEdge3.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun1DEdge4.h b/include/FE/ShapeFun1DEdge4.h index c18f7ed7..7e56d571 100644 --- a/include/FE/ShapeFun1DEdge4.h +++ b/include/FE/ShapeFun1DEdge4.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun2D.h b/include/FE/ShapeFun2D.h index f7925259..e6108fa4 100644 --- a/include/FE/ShapeFun2D.h +++ b/include/FE/ShapeFun2D.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun2DBase.h b/include/FE/ShapeFun2DBase.h index 972ec4c9..6bda492f 100644 --- a/include/FE/ShapeFun2DBase.h +++ b/include/FE/ShapeFun2DBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun2DQuad4.h b/include/FE/ShapeFun2DQuad4.h index 7d74ae66..ffb13728 100644 --- a/include/FE/ShapeFun2DQuad4.h +++ b/include/FE/ShapeFun2DQuad4.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun2DQuad8.h b/include/FE/ShapeFun2DQuad8.h index 0c8d3f70..1022f489 100644 --- a/include/FE/ShapeFun2DQuad8.h +++ b/include/FE/ShapeFun2DQuad8.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun2DQuad9.h b/include/FE/ShapeFun2DQuad9.h index f99a55ea..8723e7ba 100644 --- a/include/FE/ShapeFun2DQuad9.h +++ b/include/FE/ShapeFun2DQuad9.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun2DTri3.h b/include/FE/ShapeFun2DTri3.h index fa12e314..491347ed 100644 --- a/include/FE/ShapeFun2DTri3.h +++ b/include/FE/ShapeFun2DTri3.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun2DTri6.h b/include/FE/ShapeFun2DTri6.h index 39268cc4..1c702cbc 100644 --- a/include/FE/ShapeFun2DTri6.h +++ b/include/FE/ShapeFun2DTri6.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun3D.h b/include/FE/ShapeFun3D.h index 84e69e58..7fe10e31 100644 --- a/include/FE/ShapeFun3D.h +++ b/include/FE/ShapeFun3D.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun3DBase.h b/include/FE/ShapeFun3DBase.h index 32612203..0044afe3 100644 --- a/include/FE/ShapeFun3DBase.h +++ b/include/FE/ShapeFun3DBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun3DHex20.h b/include/FE/ShapeFun3DHex20.h index d3551906..9b92dedf 100644 --- a/include/FE/ShapeFun3DHex20.h +++ b/include/FE/ShapeFun3DHex20.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun3DHex27.h b/include/FE/ShapeFun3DHex27.h index f03ee5c8..feb23e11 100644 --- a/include/FE/ShapeFun3DHex27.h +++ b/include/FE/ShapeFun3DHex27.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun3DHex8.h b/include/FE/ShapeFun3DHex8.h index e0255269..e77de07b 100644 --- a/include/FE/ShapeFun3DHex8.h +++ b/include/FE/ShapeFun3DHex8.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun3DTet10.h b/include/FE/ShapeFun3DTet10.h index 1bb135cd..f3ae9cf7 100644 --- a/include/FE/ShapeFun3DTet10.h +++ b/include/FE/ShapeFun3DTet10.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFun3DTet4.h b/include/FE/ShapeFun3DTet4.h index a761ea8b..1273b468 100644 --- a/include/FE/ShapeFun3DTet4.h +++ b/include/FE/ShapeFun3DTet4.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFunType.h b/include/FE/ShapeFunType.h index ffcdf387..a6917a08 100644 --- a/include/FE/ShapeFunType.h +++ b/include/FE/ShapeFunType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFunUser.h b/include/FE/ShapeFunUser.h index 09caaaeb..35aaf51e 100644 --- a/include/FE/ShapeFunUser.h +++ b/include/FE/ShapeFunUser.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFunUser1.h b/include/FE/ShapeFunUser1.h index 17391485..47012c07 100644 --- a/include/FE/ShapeFunUser1.h +++ b/include/FE/ShapeFunUser1.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFunUser2.h b/include/FE/ShapeFunUser2.h index 9b4a4e16..8ca37054 100644 --- a/include/FE/ShapeFunUser2.h +++ b/include/FE/ShapeFunUser2.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFunUser3.h b/include/FE/ShapeFunUser3.h index 2315e865..fd2c82ef 100644 --- a/include/FE/ShapeFunUser3.h +++ b/include/FE/ShapeFunUser3.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFunUser4.h b/include/FE/ShapeFunUser4.h index fbe92acb..f481db1c 100644 --- a/include/FE/ShapeFunUser4.h +++ b/include/FE/ShapeFunUser4.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFunUser5.h b/include/FE/ShapeFunUser5.h index 1e2aed95..591b90c4 100644 --- a/include/FE/ShapeFunUser5.h +++ b/include/FE/ShapeFunUser5.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FE/ShapeFunUserBase.h b/include/FE/ShapeFunUserBase.h index c3d36067..e29c16d3 100644 --- a/include/FE/ShapeFunUserBase.h +++ b/include/FE/ShapeFunUserBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FEProblem/FEControlInfo.h b/include/FEProblem/FEControlInfo.h index 2f2f7187..014ad7a3 100644 --- a/include/FEProblem/FEControlInfo.h +++ b/include/FEProblem/FEControlInfo.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FEProblem/FEJobBlock.h b/include/FEProblem/FEJobBlock.h index b7123975..a2bc8b5f 100644 --- a/include/FEProblem/FEJobBlock.h +++ b/include/FEProblem/FEJobBlock.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FEProblem/FEJobType.h b/include/FEProblem/FEJobType.h index f2396150..fef0ae73 100644 --- a/include/FEProblem/FEJobType.h +++ b/include/FEProblem/FEJobType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FEProblem/FEProblem.h b/include/FEProblem/FEProblem.h index 90982d1e..2724383c 100644 --- a/include/FEProblem/FEProblem.h +++ b/include/FEProblem/FEProblem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FESystem/BulkFESystem.h b/include/FESystem/BulkFESystem.h index 00e9c634..cfbe28ad 100644 --- a/include/FESystem/BulkFESystem.h +++ b/include/FESystem/BulkFESystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FESystem/FECalcType.h b/include/FESystem/FECalcType.h index 8018de9b..d1dc00f8 100644 --- a/include/FESystem/FECalcType.h +++ b/include/FESystem/FECalcType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/FESystem/FESystem.h b/include/FESystem/FESystem.h index 00d0450f..b9d5c9cb 100644 --- a/include/FESystem/FESystem.h +++ b/include/FESystem/FESystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ICSystem/CircleIC.h b/include/ICSystem/CircleIC.h index da78f3cc..4cbdcd0a 100644 --- a/include/ICSystem/CircleIC.h +++ b/include/ICSystem/CircleIC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ICSystem/ConstantIC.h b/include/ICSystem/ConstantIC.h index 16c26e02..0cd7a5b7 100644 --- a/include/ICSystem/ConstantIC.h +++ b/include/ICSystem/ConstantIC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ICSystem/ICBlock.h b/include/ICSystem/ICBlock.h index b5eec4f5..fd645205 100644 --- a/include/ICSystem/ICBlock.h +++ b/include/ICSystem/ICBlock.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ICSystem/ICSystem.h b/include/ICSystem/ICSystem.h index f6fe68c6..e54c1684 100644 --- a/include/ICSystem/ICSystem.h +++ b/include/ICSystem/ICSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ICSystem/ICType.h b/include/ICSystem/ICType.h index 110d693f..2b9b9b6b 100644 --- a/include/ICSystem/ICType.h +++ b/include/ICSystem/ICType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ICSystem/InitialConditionBase.h b/include/ICSystem/InitialConditionBase.h index 7fefb175..b1494d9a 100644 --- a/include/ICSystem/InitialConditionBase.h +++ b/include/ICSystem/InitialConditionBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ICSystem/RandomIC.h b/include/ICSystem/RandomIC.h index 77f110c4..87814cd7 100644 --- a/include/ICSystem/RandomIC.h +++ b/include/ICSystem/RandomIC.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/InputSystem/InputSystem.h b/include/InputSystem/InputSystem.h index 4d3e5aac..2c1fcef7 100644 --- a/include/InputSystem/InputSystem.h +++ b/include/InputSystem/InputSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/BinaryMixtureMaterial.h b/include/MateSystem/BinaryMixtureMaterial.h index 0d9dcaaf..c67b3205 100644 --- a/include/MateSystem/BinaryMixtureMaterial.h +++ b/include/MateSystem/BinaryMixtureMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/BulkMateSystem.h b/include/MateSystem/BulkMateSystem.h index 0e297e32..7b1ebaa1 100644 --- a/include/MateSystem/BulkMateSystem.h +++ b/include/MateSystem/BulkMateSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/BulkMaterialBase.h b/include/MateSystem/BulkMaterialBase.h index 01e79a66..215f7160 100644 --- a/include/MateSystem/BulkMaterialBase.h +++ b/include/MateSystem/BulkMaterialBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/ConstDiffusionMaterial.h b/include/MateSystem/ConstDiffusionMaterial.h index 087f8ec4..560a5369 100644 --- a/include/MateSystem/ConstDiffusionMaterial.h +++ b/include/MateSystem/ConstDiffusionMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/ConstPoissonMaterial.h b/include/MateSystem/ConstPoissonMaterial.h index e3ff2131..db37bdbe 100644 --- a/include/MateSystem/ConstPoissonMaterial.h +++ b/include/MateSystem/ConstPoissonMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/DiffusionACFractureMaterial.h b/include/MateSystem/DiffusionACFractureMaterial.h index a8068668..d65bfdeb 100644 --- a/include/MateSystem/DiffusionACFractureMaterial.h +++ b/include/MateSystem/DiffusionACFractureMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/DoubleWellPotentialMaterial.h b/include/MateSystem/DoubleWellPotentialMaterial.h index 188b26b8..d4f1c603 100644 --- a/include/MateSystem/DoubleWellPotentialMaterial.h +++ b/include/MateSystem/DoubleWellPotentialMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/ElasticMaterialBase.h b/include/MateSystem/ElasticMaterialBase.h index 84f91235..f98cf23e 100644 --- a/include/MateSystem/ElasticMaterialBase.h +++ b/include/MateSystem/ElasticMaterialBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/FreeEnergyMaterialBase.h b/include/MateSystem/FreeEnergyMaterialBase.h index 87bf6b28..a7005969 100644 --- a/include/MateSystem/FreeEnergyMaterialBase.h +++ b/include/MateSystem/FreeEnergyMaterialBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/KobayashiDendriteMaterial.h b/include/MateSystem/KobayashiDendriteMaterial.h index aa06539b..d1440975 100644 --- a/include/MateSystem/KobayashiDendriteMaterial.h +++ b/include/MateSystem/KobayashiDendriteMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/LinearElasticFractureMaterial.h b/include/MateSystem/LinearElasticFractureMaterial.h index c69b0b82..44f31b18 100644 --- a/include/MateSystem/LinearElasticFractureMaterial.h +++ b/include/MateSystem/LinearElasticFractureMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/LinearElasticMaterial.h b/include/MateSystem/LinearElasticMaterial.h index 30b4e7a6..d6ab7584 100644 --- a/include/MateSystem/LinearElasticMaterial.h +++ b/include/MateSystem/LinearElasticMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/MateSystem.h b/include/MateSystem/MateSystem.h index d13559f2..871cb192 100644 --- a/include/MateSystem/MateSystem.h +++ b/include/MateSystem/MateSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/MateType.h b/include/MateSystem/MateType.h index 39be1db8..f79f9300 100644 --- a/include/MateSystem/MateType.h +++ b/include/MateSystem/MateType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/MaterialsContainer.h b/include/MateSystem/MaterialsContainer.h index 16dde39c..da9d6e2e 100644 --- a/include/MateSystem/MaterialsContainer.h +++ b/include/MateSystem/MaterialsContainer.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/MaterialsName.h b/include/MateSystem/MaterialsName.h index 65346a29..c67c88b7 100644 --- a/include/MateSystem/MaterialsName.h +++ b/include/MateSystem/MaterialsName.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/MieheFractureMaterial.h b/include/MateSystem/MieheFractureMaterial.h index d0429a7b..3fdb5272 100644 --- a/include/MateSystem/MieheFractureMaterial.h +++ b/include/MateSystem/MieheFractureMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/NeoHookeanMaterial.h b/include/MateSystem/NeoHookeanMaterial.h index ce37bf33..18c00cb5 100644 --- a/include/MateSystem/NeoHookeanMaterial.h +++ b/include/MateSystem/NeoHookeanMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/NeoHookeanPFFractureMaterial.h b/include/MateSystem/NeoHookeanPFFractureMaterial.h index 2cb8aaf8..f94f6b80 100644 --- a/include/MateSystem/NeoHookeanPFFractureMaterial.h +++ b/include/MateSystem/NeoHookeanPFFractureMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/NonlinearDiffusion2DMaterial.h b/include/MateSystem/NonlinearDiffusion2DMaterial.h index b324e3d9..bf956e67 100644 --- a/include/MateSystem/NonlinearDiffusion2DMaterial.h +++ b/include/MateSystem/NonlinearDiffusion2DMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/NonlinearPoisson2DMaterial.h b/include/MateSystem/NonlinearPoisson2DMaterial.h index abc32fad..8c3df6cb 100644 --- a/include/MateSystem/NonlinearPoisson2DMaterial.h +++ b/include/MateSystem/NonlinearPoisson2DMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/NonlinearPoisson3DMaterial.h b/include/MateSystem/NonlinearPoisson3DMaterial.h index 065d6b45..fd60cb37 100644 --- a/include/MateSystem/NonlinearPoisson3DMaterial.h +++ b/include/MateSystem/NonlinearPoisson3DMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/PlasticMaterialBase.h b/include/MateSystem/PlasticMaterialBase.h index ef75f8e0..3afb5166 100644 --- a/include/MateSystem/PlasticMaterialBase.h +++ b/include/MateSystem/PlasticMaterialBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/Poisson1DBenchmarkMaterial.h b/include/MateSystem/Poisson1DBenchmarkMaterial.h index e19f1309..67f60d93 100644 --- a/include/MateSystem/Poisson1DBenchmarkMaterial.h +++ b/include/MateSystem/Poisson1DBenchmarkMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/Poisson2DBenchmarkMaterial.h b/include/MateSystem/Poisson2DBenchmarkMaterial.h index 43bd14f3..cfa0b28a 100644 --- a/include/MateSystem/Poisson2DBenchmarkMaterial.h +++ b/include/MateSystem/Poisson2DBenchmarkMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/SaintVenantMaterial.h b/include/MateSystem/SaintVenantMaterial.h index 4ce13385..829d0617 100644 --- a/include/MateSystem/SaintVenantMaterial.h +++ b/include/MateSystem/SaintVenantMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/SmallStrainCahnHilliardMaterial.h b/include/MateSystem/SmallStrainCahnHilliardMaterial.h index ae2057be..4b41bdbc 100644 --- a/include/MateSystem/SmallStrainCahnHilliardMaterial.h +++ b/include/MateSystem/SmallStrainCahnHilliardMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/SmallStrainDiffusionJ2Material.h b/include/MateSystem/SmallStrainDiffusionJ2Material.h index 2176b483..397d6563 100644 --- a/include/MateSystem/SmallStrainDiffusionJ2Material.h +++ b/include/MateSystem/SmallStrainDiffusionJ2Material.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/SmallStrainDiffusionMaterial.h b/include/MateSystem/SmallStrainDiffusionMaterial.h index f873a86e..3dd7a604 100644 --- a/include/MateSystem/SmallStrainDiffusionMaterial.h +++ b/include/MateSystem/SmallStrainDiffusionMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.h b/include/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.h index 733d27f7..bed1206a 100644 --- a/include/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.h +++ b/include/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/SmallStrainJ2PlasticityMaterial.h b/include/MateSystem/SmallStrainJ2PlasticityMaterial.h index 8ea01901..2d8ecd39 100644 --- a/include/MateSystem/SmallStrainJ2PlasticityMaterial.h +++ b/include/MateSystem/SmallStrainJ2PlasticityMaterial.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MateSystem/User1Material.h b/include/MateSystem/User1Material.h index 721ca2d4..0aca70f8 100644 --- a/include/MateSystem/User1Material.h +++ b/include/MateSystem/User1Material.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MathUtils/MathFuns.h b/include/MathUtils/MathFuns.h index 2edc0e5d..f67829f4 100644 --- a/include/MathUtils/MathFuns.h +++ b/include/MathUtils/MathFuns.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MathUtils/MatrixXd.h b/include/MathUtils/MatrixXd.h index 9a0a412d..29dc8129 100644 --- a/include/MathUtils/MatrixXd.h +++ b/include/MathUtils/MatrixXd.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MathUtils/Rank2Tensor.h b/include/MathUtils/Rank2Tensor.h index 8c166cb0..b020d74d 100644 --- a/include/MathUtils/Rank2Tensor.h +++ b/include/MathUtils/Rank2Tensor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MathUtils/Rank4Tensor.h b/include/MathUtils/Rank4Tensor.h index 7b12dfae..43397161 100644 --- a/include/MathUtils/Rank4Tensor.h +++ b/include/MathUtils/Rank4Tensor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MathUtils/SparseMatrix.h b/include/MathUtils/SparseMatrix.h index 0e232b2e..e826693e 100644 --- a/include/MathUtils/SparseMatrix.h +++ b/include/MathUtils/SparseMatrix.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MathUtils/Vector.h b/include/MathUtils/Vector.h index e186d2d1..97abff48 100644 --- a/include/MathUtils/Vector.h +++ b/include/MathUtils/Vector.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MathUtils/Vector3d.h b/include/MathUtils/Vector3d.h index a6458229..1d0df52b 100644 --- a/include/MathUtils/Vector3d.h +++ b/include/MathUtils/Vector3d.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/MathUtils/VectorXd.h b/include/MathUtils/VectorXd.h index 0dca205d..a3c1b053 100644 --- a/include/MathUtils/VectorXd.h +++ b/include/MathUtils/VectorXd.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/BulkMesh.h b/include/Mesh/BulkMesh.h index c18ce0f6..7517a582 100644 --- a/include/Mesh/BulkMesh.h +++ b/include/Mesh/BulkMesh.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/Gmsh2FileImporter.h b/include/Mesh/Gmsh2FileImporter.h index 373b689f..2d74e917 100644 --- a/include/Mesh/Gmsh2FileImporter.h +++ b/include/Mesh/Gmsh2FileImporter.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/Lagrange1DMeshGenerator.h b/include/Mesh/Lagrange1DMeshGenerator.h index 12422915..969d6e20 100644 --- a/include/Mesh/Lagrange1DMeshGenerator.h +++ b/include/Mesh/Lagrange1DMeshGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/Lagrange2DMeshGenerator.h b/include/Mesh/Lagrange2DMeshGenerator.h index d3241c45..c4329240 100644 --- a/include/Mesh/Lagrange2DMeshGenerator.h +++ b/include/Mesh/Lagrange2DMeshGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/Lagrange3DMeshGenerator.h b/include/Mesh/Lagrange3DMeshGenerator.h index 925546c2..6e625c12 100644 --- a/include/Mesh/Lagrange3DMeshGenerator.h +++ b/include/Mesh/Lagrange3DMeshGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/Mesh.h b/include/Mesh/Mesh.h index a57f512b..9f674896 100644 --- a/include/Mesh/Mesh.h +++ b/include/Mesh/Mesh.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/MeshData.h b/include/Mesh/MeshData.h index 95a37dde..ee87019a 100644 --- a/include/Mesh/MeshData.h +++ b/include/Mesh/MeshData.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/MeshFileImporter.h b/include/Mesh/MeshFileImporter.h index 2d6dcc38..6d01e2e7 100644 --- a/include/Mesh/MeshFileImporter.h +++ b/include/Mesh/MeshFileImporter.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/MeshFileImporterBase.h b/include/Mesh/MeshFileImporterBase.h index 1401c32a..1e121f27 100644 --- a/include/Mesh/MeshFileImporterBase.h +++ b/include/Mesh/MeshFileImporterBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/MeshGenerator.h b/include/Mesh/MeshGenerator.h index 195558d6..d561dbba 100644 --- a/include/Mesh/MeshGenerator.h +++ b/include/Mesh/MeshGenerator.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/MeshGeneratorBase.h b/include/Mesh/MeshGeneratorBase.h index 6d3ae9a0..8043c47f 100644 --- a/include/Mesh/MeshGeneratorBase.h +++ b/include/Mesh/MeshGeneratorBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/MeshType.h b/include/Mesh/MeshType.h index 333814e4..4ee61352 100644 --- a/include/Mesh/MeshType.h +++ b/include/Mesh/MeshType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/Msh2FileImporter.h b/include/Mesh/Msh2FileImporter.h index 532e3b6b..cbb185b1 100644 --- a/include/Mesh/Msh2FileImporter.h +++ b/include/Mesh/Msh2FileImporter.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/Msh4FileImporter.h b/include/Mesh/Msh4FileImporter.h index 390a4d1e..2436593c 100644 --- a/include/Mesh/Msh4FileImporter.h +++ b/include/Mesh/Msh4FileImporter.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/MshFileUtils.h b/include/Mesh/MshFileUtils.h index 9198ca5b..162c7ccc 100644 --- a/include/Mesh/MshFileUtils.h +++ b/include/Mesh/MshFileUtils.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Mesh/Nodes.h b/include/Mesh/Nodes.h index 2921c747..2948766c 100644 --- a/include/Mesh/Nodes.h +++ b/include/Mesh/Nodes.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/NonlinearSolver/NonlinearSolver.h b/include/NonlinearSolver/NonlinearSolver.h index 819a1e5b..614bc693 100644 --- a/include/NonlinearSolver/NonlinearSolver.h +++ b/include/NonlinearSolver/NonlinearSolver.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/NonlinearSolver/NonlinearSolverBase.h b/include/NonlinearSolver/NonlinearSolverBase.h index e4071f25..4db1378c 100644 --- a/include/NonlinearSolver/NonlinearSolverBase.h +++ b/include/NonlinearSolver/NonlinearSolverBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/NonlinearSolver/NonlinearSolverBlock.h b/include/NonlinearSolver/NonlinearSolverBlock.h index f45229f9..cd17da8f 100644 --- a/include/NonlinearSolver/NonlinearSolverBlock.h +++ b/include/NonlinearSolver/NonlinearSolverBlock.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/NonlinearSolver/NonlinearSolverType.h b/include/NonlinearSolver/NonlinearSolverType.h index bbcfa8a5..bc9de900 100644 --- a/include/NonlinearSolver/NonlinearSolverType.h +++ b/include/NonlinearSolver/NonlinearSolverType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/NonlinearSolver/SNESSolver.h b/include/NonlinearSolver/SNESSolver.h index 8666fbe7..9c35c801 100644 --- a/include/NonlinearSolver/SNESSolver.h +++ b/include/NonlinearSolver/SNESSolver.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/OutputSystem/OutputSystem.h b/include/OutputSystem/OutputSystem.h index 26151a6c..40d567ad 100644 --- a/include/OutputSystem/OutputSystem.h +++ b/include/OutputSystem/OutputSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/OutputSystem/ResultFileFormat.h b/include/OutputSystem/ResultFileFormat.h index 0c27ee13..e50b8e9c 100644 --- a/include/OutputSystem/ResultFileFormat.h +++ b/include/OutputSystem/ResultFileFormat.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/OutputSystem/ResultWriterBase.h b/include/OutputSystem/ResultWriterBase.h index e43e550b..c9f69cf0 100644 --- a/include/OutputSystem/ResultWriterBase.h +++ b/include/OutputSystem/ResultWriterBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/OutputSystem/VTUWriter.h b/include/OutputSystem/VTUWriter.h index d91a9597..a25f1b32 100644 --- a/include/OutputSystem/VTUWriter.h +++ b/include/OutputSystem/VTUWriter.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/AreaPostprocessor.h b/include/Postprocess/AreaPostprocessor.h index 4463fb42..9394a171 100644 --- a/include/Postprocess/AreaPostprocessor.h +++ b/include/Postprocess/AreaPostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/NodalPostprocessorBase.h b/include/Postprocess/NodalPostprocessorBase.h index ea2ed2f7..db41662b 100644 --- a/include/Postprocess/NodalPostprocessorBase.h +++ b/include/Postprocess/NodalPostprocessorBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/NodalRank2MatePostprocessor.h b/include/Postprocess/NodalRank2MatePostprocessor.h index 115262d9..a1432134 100644 --- a/include/Postprocess/NodalRank2MatePostprocessor.h +++ b/include/Postprocess/NodalRank2MatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/NodalRank4MatePostprocessor.h b/include/Postprocess/NodalRank4MatePostprocessor.h index 7d1675bd..adbc7e35 100644 --- a/include/Postprocess/NodalRank4MatePostprocessor.h +++ b/include/Postprocess/NodalRank4MatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/NodalScalarMatePostprocessor.h b/include/Postprocess/NodalScalarMatePostprocessor.h index f0f5748d..3f573132 100644 --- a/include/Postprocess/NodalScalarMatePostprocessor.h +++ b/include/Postprocess/NodalScalarMatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/NodalValuePostprocessor.h b/include/Postprocess/NodalValuePostprocessor.h index 0905dc5a..325a068a 100644 --- a/include/Postprocess/NodalValuePostprocessor.h +++ b/include/Postprocess/NodalValuePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/NodalVectorMatePostprocessor.h b/include/Postprocess/NodalVectorMatePostprocessor.h index b2225afe..7738d3d6 100644 --- a/include/Postprocess/NodalVectorMatePostprocessor.h +++ b/include/Postprocess/NodalVectorMatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/Postprocessor.h b/include/Postprocess/Postprocessor.h index d9b99f41..a80db2ef 100644 --- a/include/Postprocess/Postprocessor.h +++ b/include/Postprocess/Postprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/PostprocessorBlock.h b/include/Postprocess/PostprocessorBlock.h index 0e4f0037..e9949685 100644 --- a/include/Postprocess/PostprocessorBlock.h +++ b/include/Postprocess/PostprocessorBlock.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/PostprocessorType.h b/include/Postprocess/PostprocessorType.h index 4d7512c1..7f0d35ad 100644 --- a/include/Postprocess/PostprocessorType.h +++ b/include/Postprocess/PostprocessorType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/SideIntegralPostprocessorBase.h b/include/Postprocess/SideIntegralPostprocessorBase.h index 6d33e171..b267357e 100644 --- a/include/Postprocess/SideIntegralPostprocessorBase.h +++ b/include/Postprocess/SideIntegralPostprocessorBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/SideIntegralRank2MatePostprocessor.h b/include/Postprocess/SideIntegralRank2MatePostprocessor.h index b06aeb33..6dabc827 100644 --- a/include/Postprocess/SideIntegralRank2MatePostprocessor.h +++ b/include/Postprocess/SideIntegralRank2MatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/SideIntegralRank4MatePostprocessor.h b/include/Postprocess/SideIntegralRank4MatePostprocessor.h index 6e8b8f7a..5c66e001 100644 --- a/include/Postprocess/SideIntegralRank4MatePostprocessor.h +++ b/include/Postprocess/SideIntegralRank4MatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/SideIntegralScalarMatePostprocessor.h b/include/Postprocess/SideIntegralScalarMatePostprocessor.h index 50fdb3f6..1768e61f 100644 --- a/include/Postprocess/SideIntegralScalarMatePostprocessor.h +++ b/include/Postprocess/SideIntegralScalarMatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/SideIntegralValuePostprocessor.h b/include/Postprocess/SideIntegralValuePostprocessor.h index c8dd0b45..0fd755e0 100644 --- a/include/Postprocess/SideIntegralValuePostprocessor.h +++ b/include/Postprocess/SideIntegralValuePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/SideIntegralVectorMatePostprocessor.h b/include/Postprocess/SideIntegralVectorMatePostprocessor.h index 37944292..2dee5906 100644 --- a/include/Postprocess/SideIntegralVectorMatePostprocessor.h +++ b/include/Postprocess/SideIntegralVectorMatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/User1SideIntegralPostprocessor.h b/include/Postprocess/User1SideIntegralPostprocessor.h index cefb8286..0a29c9e1 100644 --- a/include/Postprocess/User1SideIntegralPostprocessor.h +++ b/include/Postprocess/User1SideIntegralPostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/User1VolumeIntegralPostprocessor.h b/include/Postprocess/User1VolumeIntegralPostprocessor.h index 17f4b493..5f04f154 100644 --- a/include/Postprocess/User1VolumeIntegralPostprocessor.h +++ b/include/Postprocess/User1VolumeIntegralPostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/VolumeIntegralPostprocessorBase.h b/include/Postprocess/VolumeIntegralPostprocessorBase.h index 38a4252f..e188a8ff 100644 --- a/include/Postprocess/VolumeIntegralPostprocessorBase.h +++ b/include/Postprocess/VolumeIntegralPostprocessorBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/VolumeIntegralRank2MatePostprocessor.h b/include/Postprocess/VolumeIntegralRank2MatePostprocessor.h index 40b5fa4d..c1525b32 100644 --- a/include/Postprocess/VolumeIntegralRank2MatePostprocessor.h +++ b/include/Postprocess/VolumeIntegralRank2MatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/VolumeIntegralRank4MatePostprocessor.h b/include/Postprocess/VolumeIntegralRank4MatePostprocessor.h index 5b181d42..d865177b 100644 --- a/include/Postprocess/VolumeIntegralRank4MatePostprocessor.h +++ b/include/Postprocess/VolumeIntegralRank4MatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/VolumeIntegralScalarMatePostprocessor.h b/include/Postprocess/VolumeIntegralScalarMatePostprocessor.h index 155a2106..382abf4d 100644 --- a/include/Postprocess/VolumeIntegralScalarMatePostprocessor.h +++ b/include/Postprocess/VolumeIntegralScalarMatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/VolumeIntegralValuePostprocessor.h b/include/Postprocess/VolumeIntegralValuePostprocessor.h index a0370f1e..57d81905 100644 --- a/include/Postprocess/VolumeIntegralValuePostprocessor.h +++ b/include/Postprocess/VolumeIntegralValuePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/VolumeIntegralVectorMatePostprocessor.h b/include/Postprocess/VolumeIntegralVectorMatePostprocessor.h index 258f33e6..b46787fa 100644 --- a/include/Postprocess/VolumeIntegralVectorMatePostprocessor.h +++ b/include/Postprocess/VolumeIntegralVectorMatePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Postprocess/VolumePostprocessor.h b/include/Postprocess/VolumePostprocessor.h index 334c8e00..4489e294 100644 --- a/include/Postprocess/VolumePostprocessor.h +++ b/include/Postprocess/VolumePostprocessor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ProjectionSystem/LeastSquareProjection.h b/include/ProjectionSystem/LeastSquareProjection.h index e237e7d5..718c0acc 100644 --- a/include/ProjectionSystem/LeastSquareProjection.h +++ b/include/ProjectionSystem/LeastSquareProjection.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ProjectionSystem/ProjectionBase.h b/include/ProjectionSystem/ProjectionBase.h index a433220c..535af275 100644 --- a/include/ProjectionSystem/ProjectionBase.h +++ b/include/ProjectionSystem/ProjectionBase.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ProjectionSystem/ProjectionData.h b/include/ProjectionSystem/ProjectionData.h index a7b108af..4c413c10 100644 --- a/include/ProjectionSystem/ProjectionData.h +++ b/include/ProjectionSystem/ProjectionData.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ProjectionSystem/ProjectionSystem.h b/include/ProjectionSystem/ProjectionSystem.h index e6fc0772..6a407557 100644 --- a/include/ProjectionSystem/ProjectionSystem.h +++ b/include/ProjectionSystem/ProjectionSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/ProjectionSystem/ProjectionType.h b/include/ProjectionSystem/ProjectionType.h index 5cf78fb6..1db0d7eb 100644 --- a/include/ProjectionSystem/ProjectionType.h +++ b/include/ProjectionSystem/ProjectionType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/SolutionSystem/SolutionSystem.h b/include/SolutionSystem/SolutionSystem.h index cc9f7e75..9ae42593 100644 --- a/include/SolutionSystem/SolutionSystem.h +++ b/include/SolutionSystem/SolutionSystem.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/TimeStepping/TimeStepping.h b/include/TimeStepping/TimeStepping.h index 9fed0a62..70757338 100644 --- a/include/TimeStepping/TimeStepping.h +++ b/include/TimeStepping/TimeStepping.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/TimeStepping/TimeSteppingData.h b/include/TimeStepping/TimeSteppingData.h index ceebb669..1d42b038 100644 --- a/include/TimeStepping/TimeSteppingData.h +++ b/include/TimeStepping/TimeSteppingData.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/TimeStepping/TimeSteppingTool.h b/include/TimeStepping/TimeSteppingTool.h index cc7659d4..d6da3f60 100644 --- a/include/TimeStepping/TimeSteppingTool.h +++ b/include/TimeStepping/TimeSteppingTool.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/TimeStepping/TimeSteppingType.h b/include/TimeStepping/TimeSteppingType.h index 7c3bb5ae..0dcd2e9d 100644 --- a/include/TimeStepping/TimeSteppingType.h +++ b/include/TimeStepping/TimeSteppingType.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Utils/JsonUtils.h b/include/Utils/JsonUtils.h index 0ae1885f..a5a8dc72 100644 --- a/include/Utils/JsonUtils.h +++ b/include/Utils/JsonUtils.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Utils/MessageColor.h b/include/Utils/MessageColor.h index fa864b03..e6e0507e 100644 --- a/include/Utils/MessageColor.h +++ b/include/Utils/MessageColor.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Utils/MessagePrinter.h b/include/Utils/MessagePrinter.h index 6c4c874f..8463a900 100644 --- a/include/Utils/MessagePrinter.h +++ b/include/Utils/MessagePrinter.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Utils/StringUtils.h b/include/Utils/StringUtils.h index 5aa823dd..21265a8e 100644 --- a/include/Utils/StringUtils.h +++ b/include/Utils/StringUtils.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Utils/Timer.h b/include/Utils/Timer.h index facf671a..47c3cc49 100644 --- a/include/Utils/Timer.h +++ b/include/Utils/Timer.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/include/Welcome.h b/include/Welcome.h index 02bad6bb..da91fa4e 100644 --- a/include/Welcome.h +++ b/include/Welcome.h @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/ApplyBoundaryConditions.cpp b/src/BCSystem/ApplyBoundaryConditions.cpp index 7aec078c..2224cfe0 100644 --- a/src/BCSystem/ApplyBoundaryConditions.cpp +++ b/src/BCSystem/ApplyBoundaryConditions.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/ApplyDirichletBC.cpp b/src/BCSystem/ApplyDirichletBC.cpp index a9991022..e785e3ab 100644 --- a/src/BCSystem/ApplyDirichletBC.cpp +++ b/src/BCSystem/ApplyDirichletBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/ApplyIntegratedBC.cpp b/src/BCSystem/ApplyIntegratedBC.cpp index 84f5b913..3866282e 100644 --- a/src/BCSystem/ApplyIntegratedBC.cpp +++ b/src/BCSystem/ApplyIntegratedBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/BCSystem.cpp b/src/BCSystem/BCSystem.cpp index e2af072f..01348257 100644 --- a/src/BCSystem/BCSystem.cpp +++ b/src/BCSystem/BCSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/BCSystemAssemble.cpp b/src/BCSystem/BCSystemAssemble.cpp index 85453c9e..bc7f3104 100644 --- a/src/BCSystem/BCSystemAssemble.cpp +++ b/src/BCSystem/BCSystemAssemble.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/DirichletBC.cpp b/src/BCSystem/DirichletBC.cpp index 4f2dd514..260f6e57 100644 --- a/src/BCSystem/DirichletBC.cpp +++ b/src/BCSystem/DirichletBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/NeumannBC.cpp b/src/BCSystem/NeumannBC.cpp index dc43bd12..44a16cdb 100644 --- a/src/BCSystem/NeumannBC.cpp +++ b/src/BCSystem/NeumannBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/Poisson2DBenchmarkBC.cpp b/src/BCSystem/Poisson2DBenchmarkBC.cpp index cb917450..96fb8cb5 100644 --- a/src/BCSystem/Poisson2DBenchmarkBC.cpp +++ b/src/BCSystem/Poisson2DBenchmarkBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/PressureBC.cpp b/src/BCSystem/PressureBC.cpp index 06fcd960..ec6e426e 100644 --- a/src/BCSystem/PressureBC.cpp +++ b/src/BCSystem/PressureBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/RotatedDirichletBC.cpp b/src/BCSystem/RotatedDirichletBC.cpp index f3031dba..cd12d8d1 100644 --- a/src/BCSystem/RotatedDirichletBC.cpp +++ b/src/BCSystem/RotatedDirichletBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/RunBCLibs.cpp b/src/BCSystem/RunBCLibs.cpp index a6d8bcca..789ae919 100644 --- a/src/BCSystem/RunBCLibs.cpp +++ b/src/BCSystem/RunBCLibs.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/TractionBC.cpp b/src/BCSystem/TractionBC.cpp index d4d27dfa..99361120 100644 --- a/src/BCSystem/TractionBC.cpp +++ b/src/BCSystem/TractionBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/User1DirichletBC.cpp b/src/BCSystem/User1DirichletBC.cpp index 9546a018..a7649cf5 100644 --- a/src/BCSystem/User1DirichletBC.cpp +++ b/src/BCSystem/User1DirichletBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/User2DirichletBC.cpp b/src/BCSystem/User2DirichletBC.cpp index 9de71e2a..247bf4a4 100644 --- a/src/BCSystem/User2DirichletBC.cpp +++ b/src/BCSystem/User2DirichletBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/User3DirichletBC.cpp b/src/BCSystem/User3DirichletBC.cpp index 1824f999..523938d9 100644 --- a/src/BCSystem/User3DirichletBC.cpp +++ b/src/BCSystem/User3DirichletBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/User4DirichletBC.cpp b/src/BCSystem/User4DirichletBC.cpp index 9d83c6f7..e5b239ac 100644 --- a/src/BCSystem/User4DirichletBC.cpp +++ b/src/BCSystem/User4DirichletBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/BCSystem/User5DirichletBC.cpp b/src/BCSystem/User5DirichletBC.cpp index eda4ef6a..5249c2e5 100644 --- a/src/BCSystem/User5DirichletBC.cpp +++ b/src/BCSystem/User5DirichletBC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/DofHandler/BulkDofHandler.cpp b/src/DofHandler/BulkDofHandler.cpp index 2fe39a38..c2a7bc4f 100644 --- a/src/DofHandler/BulkDofHandler.cpp +++ b/src/DofHandler/BulkDofHandler.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/DofHandler/BulkDofHandlerSettings.cpp b/src/DofHandler/BulkDofHandlerSettings.cpp index 9065e0bb..41e251f1 100644 --- a/src/DofHandler/BulkDofHandlerSettings.cpp +++ b/src/DofHandler/BulkDofHandlerSettings.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/DofHandler/CreateBulkDofsMap.cpp b/src/DofHandler/CreateBulkDofsMap.cpp index 154bd580..1c5dc917 100644 --- a/src/DofHandler/CreateBulkDofsMap.cpp +++ b/src/DofHandler/CreateBulkDofsMap.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/AllenCahnElement.cpp b/src/ElmtSystem/AllenCahnElement.cpp index 5cb1c2d0..862d8eba 100644 --- a/src/ElmtSystem/AllenCahnElement.cpp +++ b/src/ElmtSystem/AllenCahnElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/AllenCahnFractureElement.cpp b/src/ElmtSystem/AllenCahnFractureElement.cpp index 86335581..29db8179 100644 --- a/src/ElmtSystem/AllenCahnFractureElement.cpp +++ b/src/ElmtSystem/AllenCahnFractureElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/BulkElmtSystem.cpp b/src/ElmtSystem/BulkElmtSystem.cpp index 31a58010..f63883ba 100644 --- a/src/ElmtSystem/BulkElmtSystem.cpp +++ b/src/ElmtSystem/BulkElmtSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/BulkElmtSystemInit.cpp b/src/ElmtSystem/BulkElmtSystemInit.cpp index b1d83e74..265fa10c 100644 --- a/src/ElmtSystem/BulkElmtSystemInit.cpp +++ b/src/ElmtSystem/BulkElmtSystemInit.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/CahnHilliardElement.cpp b/src/ElmtSystem/CahnHilliardElement.cpp index 47fc500c..0dddba6f 100644 --- a/src/ElmtSystem/CahnHilliardElement.cpp +++ b/src/ElmtSystem/CahnHilliardElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/DiffusionACFractureElement.cpp b/src/ElmtSystem/DiffusionACFractureElement.cpp index 525b2eb4..8fe227e0 100644 --- a/src/ElmtSystem/DiffusionACFractureElement.cpp +++ b/src/ElmtSystem/DiffusionACFractureElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/DiffusionElement.cpp b/src/ElmtSystem/DiffusionElement.cpp index 2ee8cbc6..200bab98 100644 --- a/src/ElmtSystem/DiffusionElement.cpp +++ b/src/ElmtSystem/DiffusionElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/ElmtSystem.cpp b/src/ElmtSystem/ElmtSystem.cpp index f0912922..e5fa40f3 100644 --- a/src/ElmtSystem/ElmtSystem.cpp +++ b/src/ElmtSystem/ElmtSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/KobayashiElement.cpp b/src/ElmtSystem/KobayashiElement.cpp index 242c19bb..4bf20bc2 100644 --- a/src/ElmtSystem/KobayashiElement.cpp +++ b/src/ElmtSystem/KobayashiElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/LaplaceElement.cpp b/src/ElmtSystem/LaplaceElement.cpp index 42cd31d3..cada110a 100644 --- a/src/ElmtSystem/LaplaceElement.cpp +++ b/src/ElmtSystem/LaplaceElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/MechanicsElement.cpp b/src/ElmtSystem/MechanicsElement.cpp index bb3d7f49..bb347781 100644 --- a/src/ElmtSystem/MechanicsElement.cpp +++ b/src/ElmtSystem/MechanicsElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/MieheFractureElement.cpp b/src/ElmtSystem/MieheFractureElement.cpp index b7fec062..662eb85d 100644 --- a/src/ElmtSystem/MieheFractureElement.cpp +++ b/src/ElmtSystem/MieheFractureElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/PoissonElement.cpp b/src/ElmtSystem/PoissonElement.cpp index f43f1f73..194b7fa6 100644 --- a/src/ElmtSystem/PoissonElement.cpp +++ b/src/ElmtSystem/PoissonElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/RunBulkElmtLibs.cpp b/src/ElmtSystem/RunBulkElmtLibs.cpp index 34f3f7ce..c310e8d3 100644 --- a/src/ElmtSystem/RunBulkElmtLibs.cpp +++ b/src/ElmtSystem/RunBulkElmtLibs.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/ScalarBodySourceElement.cpp b/src/ElmtSystem/ScalarBodySourceElement.cpp index 9b12692e..04d8b001 100644 --- a/src/ElmtSystem/ScalarBodySourceElement.cpp +++ b/src/ElmtSystem/ScalarBodySourceElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/StressCahnHilliardElement.cpp b/src/ElmtSystem/StressCahnHilliardElement.cpp index e9fce3df..f51f3c34 100644 --- a/src/ElmtSystem/StressCahnHilliardElement.cpp +++ b/src/ElmtSystem/StressCahnHilliardElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ElmtSystem/StressDiffusionElement.cpp b/src/ElmtSystem/StressDiffusionElement.cpp index 9ef810eb..ec6899e4 100644 --- a/src/ElmtSystem/StressDiffusionElement.cpp +++ b/src/ElmtSystem/StressDiffusionElement.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/EquationSystem/EquationSystem.cpp b/src/EquationSystem/EquationSystem.cpp index dd6e7491..a9237da6 100644 --- a/src/EquationSystem/EquationSystem.cpp +++ b/src/EquationSystem/EquationSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/FE.cpp b/src/FE/FE.cpp index 41d54df3..c449c93a 100644 --- a/src/FE/FE.cpp +++ b/src/FE/FE.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPoint.cpp b/src/FE/QPoints/QPoint.cpp index d22ac6c3..4fecff8a 100644 --- a/src/FE/QPoints/QPoint.cpp +++ b/src/FE/QPoints/QPoint.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPoint1DGenerator.cpp b/src/FE/QPoints/QPoint1DGenerator.cpp index acd7ab68..1647e927 100644 --- a/src/FE/QPoints/QPoint1DGenerator.cpp +++ b/src/FE/QPoints/QPoint1DGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPoint1DLobattoGenerator.cpp b/src/FE/QPoints/QPoint1DLobattoGenerator.cpp index 8c51d584..14094e2e 100644 --- a/src/FE/QPoints/QPoint1DLobattoGenerator.cpp +++ b/src/FE/QPoints/QPoint1DLobattoGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPoint2DGenerator.cpp b/src/FE/QPoints/QPoint2DGenerator.cpp index fffa2b4d..1a46a5de 100644 --- a/src/FE/QPoints/QPoint2DGenerator.cpp +++ b/src/FE/QPoints/QPoint2DGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPoint2DLobattoGenerator.cpp b/src/FE/QPoints/QPoint2DLobattoGenerator.cpp index e386305f..441b3ce6 100644 --- a/src/FE/QPoints/QPoint2DLobattoGenerator.cpp +++ b/src/FE/QPoints/QPoint2DLobattoGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPoint3DGenerator.cpp b/src/FE/QPoints/QPoint3DGenerator.cpp index f1bfc4f8..6c109f12 100644 --- a/src/FE/QPoints/QPoint3DGenerator.cpp +++ b/src/FE/QPoints/QPoint3DGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPoint3DLobattoGenerator.cpp b/src/FE/QPoints/QPoint3DLobattoGenerator.cpp index 3f302a31..459c3bf9 100644 --- a/src/FE/QPoints/QPoint3DLobattoGenerator.cpp +++ b/src/FE/QPoints/QPoint3DLobattoGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPointUser1Generator.cpp b/src/FE/QPoints/QPointUser1Generator.cpp index b1068994..3ff81f41 100644 --- a/src/FE/QPoints/QPointUser1Generator.cpp +++ b/src/FE/QPoints/QPointUser1Generator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPointUser2Generator.cpp b/src/FE/QPoints/QPointUser2Generator.cpp index cdf030f1..309227b5 100644 --- a/src/FE/QPoints/QPointUser2Generator.cpp +++ b/src/FE/QPoints/QPointUser2Generator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPointUser3Generator.cpp b/src/FE/QPoints/QPointUser3Generator.cpp index 44668e97..9bd5182c 100644 --- a/src/FE/QPoints/QPointUser3Generator.cpp +++ b/src/FE/QPoints/QPointUser3Generator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPointUser4Generator.cpp b/src/FE/QPoints/QPointUser4Generator.cpp index 29ea9050..0c561fd0 100644 --- a/src/FE/QPoints/QPointUser4Generator.cpp +++ b/src/FE/QPoints/QPointUser4Generator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/QPoints/QPointUser5Generator.cpp b/src/FE/QPoints/QPointUser5Generator.cpp index 7b402200..a2b685fc 100644 --- a/src/FE/QPoints/QPointUser5Generator.cpp +++ b/src/FE/QPoints/QPointUser5Generator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun.cpp b/src/FE/ShapeFuns/ShapeFun.cpp index 97480201..8cbde474 100644 --- a/src/FE/ShapeFuns/ShapeFun.cpp +++ b/src/FE/ShapeFuns/ShapeFun.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun1D.cpp b/src/FE/ShapeFuns/ShapeFun1D.cpp index e8eb7591..2a700d42 100644 --- a/src/FE/ShapeFuns/ShapeFun1D.cpp +++ b/src/FE/ShapeFuns/ShapeFun1D.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun1DEdge2.cpp b/src/FE/ShapeFuns/ShapeFun1DEdge2.cpp index 2ccf0289..65bcf83d 100644 --- a/src/FE/ShapeFuns/ShapeFun1DEdge2.cpp +++ b/src/FE/ShapeFuns/ShapeFun1DEdge2.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun1DEdge3.cpp b/src/FE/ShapeFuns/ShapeFun1DEdge3.cpp index 9fc21986..4b6403bd 100644 --- a/src/FE/ShapeFuns/ShapeFun1DEdge3.cpp +++ b/src/FE/ShapeFuns/ShapeFun1DEdge3.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun1DEdge4.cpp b/src/FE/ShapeFuns/ShapeFun1DEdge4.cpp index 18211268..7c53d2ce 100644 --- a/src/FE/ShapeFuns/ShapeFun1DEdge4.cpp +++ b/src/FE/ShapeFuns/ShapeFun1DEdge4.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun2D.cpp b/src/FE/ShapeFuns/ShapeFun2D.cpp index 749bb682..2efaf7e2 100644 --- a/src/FE/ShapeFuns/ShapeFun2D.cpp +++ b/src/FE/ShapeFuns/ShapeFun2D.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun2DQuad4.cpp b/src/FE/ShapeFuns/ShapeFun2DQuad4.cpp index 0ac3bcfa..84867844 100644 --- a/src/FE/ShapeFuns/ShapeFun2DQuad4.cpp +++ b/src/FE/ShapeFuns/ShapeFun2DQuad4.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun2DQuad8.cpp b/src/FE/ShapeFuns/ShapeFun2DQuad8.cpp index f27d8e97..d5f4ac37 100644 --- a/src/FE/ShapeFuns/ShapeFun2DQuad8.cpp +++ b/src/FE/ShapeFuns/ShapeFun2DQuad8.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun2DQuad9.cpp b/src/FE/ShapeFuns/ShapeFun2DQuad9.cpp index c848dd05..a69516fc 100644 --- a/src/FE/ShapeFuns/ShapeFun2DQuad9.cpp +++ b/src/FE/ShapeFuns/ShapeFun2DQuad9.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun2DTri3.cpp b/src/FE/ShapeFuns/ShapeFun2DTri3.cpp index 15bdb0e2..c9981cab 100644 --- a/src/FE/ShapeFuns/ShapeFun2DTri3.cpp +++ b/src/FE/ShapeFuns/ShapeFun2DTri3.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun2DTri6.cpp b/src/FE/ShapeFuns/ShapeFun2DTri6.cpp index 1e7a712d..f02b8ace 100644 --- a/src/FE/ShapeFuns/ShapeFun2DTri6.cpp +++ b/src/FE/ShapeFuns/ShapeFun2DTri6.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun3D.cpp b/src/FE/ShapeFuns/ShapeFun3D.cpp index f63d444e..e030672f 100644 --- a/src/FE/ShapeFuns/ShapeFun3D.cpp +++ b/src/FE/ShapeFuns/ShapeFun3D.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun3DHex20.cpp b/src/FE/ShapeFuns/ShapeFun3DHex20.cpp index 7f799c45..04ab5603 100644 --- a/src/FE/ShapeFuns/ShapeFun3DHex20.cpp +++ b/src/FE/ShapeFuns/ShapeFun3DHex20.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun3DHex27.cpp b/src/FE/ShapeFuns/ShapeFun3DHex27.cpp index f80aa49f..db765490 100644 --- a/src/FE/ShapeFuns/ShapeFun3DHex27.cpp +++ b/src/FE/ShapeFuns/ShapeFun3DHex27.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun3DHex8.cpp b/src/FE/ShapeFuns/ShapeFun3DHex8.cpp index 9b695d47..23c38802 100644 --- a/src/FE/ShapeFuns/ShapeFun3DHex8.cpp +++ b/src/FE/ShapeFuns/ShapeFun3DHex8.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun3DTet10.cpp b/src/FE/ShapeFuns/ShapeFun3DTet10.cpp index 98ecc244..f30b2fd9 100644 --- a/src/FE/ShapeFuns/ShapeFun3DTet10.cpp +++ b/src/FE/ShapeFuns/ShapeFun3DTet10.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFun3DTet4.cpp b/src/FE/ShapeFuns/ShapeFun3DTet4.cpp index 6ec8e704..01c7c15b 100644 --- a/src/FE/ShapeFuns/ShapeFun3DTet4.cpp +++ b/src/FE/ShapeFuns/ShapeFun3DTet4.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFunCalc.cpp b/src/FE/ShapeFuns/ShapeFunCalc.cpp index 6e54392d..63db4197 100644 --- a/src/FE/ShapeFuns/ShapeFunCalc.cpp +++ b/src/FE/ShapeFuns/ShapeFunCalc.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFunUser.cpp b/src/FE/ShapeFuns/ShapeFunUser.cpp index 8a5c9dd9..e8784712 100644 --- a/src/FE/ShapeFuns/ShapeFunUser.cpp +++ b/src/FE/ShapeFuns/ShapeFunUser.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFunUser1.cpp b/src/FE/ShapeFuns/ShapeFunUser1.cpp index 69f1005d..7c5594d0 100644 --- a/src/FE/ShapeFuns/ShapeFunUser1.cpp +++ b/src/FE/ShapeFuns/ShapeFunUser1.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFunUser2.cpp b/src/FE/ShapeFuns/ShapeFunUser2.cpp index 0d16ac04..a8647e3f 100644 --- a/src/FE/ShapeFuns/ShapeFunUser2.cpp +++ b/src/FE/ShapeFuns/ShapeFunUser2.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFunUser3.cpp b/src/FE/ShapeFuns/ShapeFunUser3.cpp index c8b57117..f6f2e95f 100644 --- a/src/FE/ShapeFuns/ShapeFunUser3.cpp +++ b/src/FE/ShapeFuns/ShapeFunUser3.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFunUser4.cpp b/src/FE/ShapeFuns/ShapeFunUser4.cpp index 68f29e27..5a626556 100644 --- a/src/FE/ShapeFuns/ShapeFunUser4.cpp +++ b/src/FE/ShapeFuns/ShapeFunUser4.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FE/ShapeFuns/ShapeFunUser5.cpp b/src/FE/ShapeFuns/ShapeFunUser5.cpp index 369a3d0b..5c2e1484 100644 --- a/src/FE/ShapeFuns/ShapeFunUser5.cpp +++ b/src/FE/ShapeFuns/ShapeFunUser5.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FEProblem/FEProblem.cpp b/src/FEProblem/FEProblem.cpp index d44399d1..ec0e7215 100644 --- a/src/FEProblem/FEProblem.cpp +++ b/src/FEProblem/FEProblem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FEProblem/RunFEProblem.cpp b/src/FEProblem/RunFEProblem.cpp index 20a4b238..a0f64ab0 100644 --- a/src/FEProblem/RunFEProblem.cpp +++ b/src/FEProblem/RunFEProblem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FEProblem/RunStaticAnalysis.cpp b/src/FEProblem/RunStaticAnalysis.cpp index d0d3c248..52edc027 100644 --- a/src/FEProblem/RunStaticAnalysis.cpp +++ b/src/FEProblem/RunStaticAnalysis.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FEProblem/RunTransientAnalysis.cpp b/src/FEProblem/RunTransientAnalysis.cpp index 361402c3..3160911f 100644 --- a/src/FEProblem/RunTransientAnalysis.cpp +++ b/src/FEProblem/RunTransientAnalysis.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FESystem/BulkFESystem.cpp b/src/FESystem/BulkFESystem.cpp index d8950ccb..0460fc6f 100644 --- a/src/FESystem/BulkFESystem.cpp +++ b/src/FESystem/BulkFESystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FESystem/BulkFESystemAssemble.cpp b/src/FESystem/BulkFESystemAssemble.cpp index e440df6b..1d57f3e8 100644 --- a/src/FESystem/BulkFESystemAssemble.cpp +++ b/src/FESystem/BulkFESystemAssemble.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FESystem/BulkFESystemInit.cpp b/src/FESystem/BulkFESystemInit.cpp index 24671abe..60efc8f2 100644 --- a/src/FESystem/BulkFESystemInit.cpp +++ b/src/FESystem/BulkFESystemInit.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FESystem/FESystem.cpp b/src/FESystem/FESystem.cpp index f2416fb6..42be0baf 100644 --- a/src/FESystem/FESystem.cpp +++ b/src/FESystem/FESystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/FESystem/FormBulkFE.cpp b/src/FESystem/FormBulkFE.cpp index adc24e76..d5b3c3a2 100644 --- a/src/FESystem/FormBulkFE.cpp +++ b/src/FESystem/FormBulkFE.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ICSystem/ApplyInitialConditions.cpp b/src/ICSystem/ApplyInitialConditions.cpp index 45f9852a..c57c9a73 100644 --- a/src/ICSystem/ApplyInitialConditions.cpp +++ b/src/ICSystem/ApplyInitialConditions.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ICSystem/CircleIC.cpp b/src/ICSystem/CircleIC.cpp index 97da7fb4..662548bb 100644 --- a/src/ICSystem/CircleIC.cpp +++ b/src/ICSystem/CircleIC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ICSystem/ConstantIC.cpp b/src/ICSystem/ConstantIC.cpp index fcebe4ca..3054a166 100644 --- a/src/ICSystem/ConstantIC.cpp +++ b/src/ICSystem/ConstantIC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ICSystem/ICSystem.cpp b/src/ICSystem/ICSystem.cpp index 7682589a..6116107c 100644 --- a/src/ICSystem/ICSystem.cpp +++ b/src/ICSystem/ICSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ICSystem/RandomIC.cpp b/src/ICSystem/RandomIC.cpp index b7d6b914..80f1bbd2 100644 --- a/src/ICSystem/RandomIC.cpp +++ b/src/ICSystem/RandomIC.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ICSystem/RunICLibs.cpp b/src/ICSystem/RunICLibs.cpp index 88dcf972..81c22c6e 100644 --- a/src/ICSystem/RunICLibs.cpp +++ b/src/ICSystem/RunICLibs.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/InputSystem.cpp b/src/InputSystem/InputSystem.cpp index 8a1f608a..df6f7f56 100644 --- a/src/InputSystem/InputSystem.cpp +++ b/src/InputSystem/InputSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadBCsBlock.cpp b/src/InputSystem/ReadBCsBlock.cpp index ec35bec3..d3f8ee01 100644 --- a/src/InputSystem/ReadBCsBlock.cpp +++ b/src/InputSystem/ReadBCsBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadDofsBlock.cpp b/src/InputSystem/ReadDofsBlock.cpp index cb800de9..513c7342 100644 --- a/src/InputSystem/ReadDofsBlock.cpp +++ b/src/InputSystem/ReadDofsBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadElmtsBlock.cpp b/src/InputSystem/ReadElmtsBlock.cpp index 4df94c10..4a93f74d 100644 --- a/src/InputSystem/ReadElmtsBlock.cpp +++ b/src/InputSystem/ReadElmtsBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadICsBlock.cpp b/src/InputSystem/ReadICsBlock.cpp index 570f22ff..96508e47 100644 --- a/src/InputSystem/ReadICsBlock.cpp +++ b/src/InputSystem/ReadICsBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadInputFile.cpp b/src/InputSystem/ReadInputFile.cpp index 9c612ccd..dd9ab363 100644 --- a/src/InputSystem/ReadInputFile.cpp +++ b/src/InputSystem/ReadInputFile.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadJobBlock.cpp b/src/InputSystem/ReadJobBlock.cpp index 4c3d1fd3..109b3b5f 100644 --- a/src/InputSystem/ReadJobBlock.cpp +++ b/src/InputSystem/ReadJobBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadMeshBlock.cpp b/src/InputSystem/ReadMeshBlock.cpp index 190205c5..af947089 100644 --- a/src/InputSystem/ReadMeshBlock.cpp +++ b/src/InputSystem/ReadMeshBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadNLSolverBlock.cpp b/src/InputSystem/ReadNLSolverBlock.cpp index 53766b32..3ac6e4e9 100644 --- a/src/InputSystem/ReadNLSolverBlock.cpp +++ b/src/InputSystem/ReadNLSolverBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadOutputBlock.cpp b/src/InputSystem/ReadOutputBlock.cpp index 9ae40985..fc879ba0 100644 --- a/src/InputSystem/ReadOutputBlock.cpp +++ b/src/InputSystem/ReadOutputBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadPostprocessBlock.cpp b/src/InputSystem/ReadPostprocessBlock.cpp index c0ca7854..f51c25e5 100644 --- a/src/InputSystem/ReadPostprocessBlock.cpp +++ b/src/InputSystem/ReadPostprocessBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadProjectionBlock.cpp b/src/InputSystem/ReadProjectionBlock.cpp index a5b8047f..7a29c8ab 100644 --- a/src/InputSystem/ReadProjectionBlock.cpp +++ b/src/InputSystem/ReadProjectionBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadQPointBlock.cpp b/src/InputSystem/ReadQPointBlock.cpp index 5f13fc3c..1aaf28a2 100644 --- a/src/InputSystem/ReadQPointBlock.cpp +++ b/src/InputSystem/ReadQPointBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadShapeFunBlock.cpp b/src/InputSystem/ReadShapeFunBlock.cpp index 1cba64d5..221179fb 100644 --- a/src/InputSystem/ReadShapeFunBlock.cpp +++ b/src/InputSystem/ReadShapeFunBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/InputSystem/ReadTimeSteppingBlock.cpp b/src/InputSystem/ReadTimeSteppingBlock.cpp index 95ed4f9e..1d101309 100644 --- a/src/InputSystem/ReadTimeSteppingBlock.cpp +++ b/src/InputSystem/ReadTimeSteppingBlock.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/BinaryMixtureMaterial.cpp b/src/MateSystem/BinaryMixtureMaterial.cpp index f36cffda..df494c0e 100644 --- a/src/MateSystem/BinaryMixtureMaterial.cpp +++ b/src/MateSystem/BinaryMixtureMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/BulkMateSystem.cpp b/src/MateSystem/BulkMateSystem.cpp index 8eab4222..776ca81d 100644 --- a/src/MateSystem/BulkMateSystem.cpp +++ b/src/MateSystem/BulkMateSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/ConstDiffusionMaterial.cpp b/src/MateSystem/ConstDiffusionMaterial.cpp index 2cb9ce1d..079677b3 100644 --- a/src/MateSystem/ConstDiffusionMaterial.cpp +++ b/src/MateSystem/ConstDiffusionMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/ConstPoissonMaterial.cpp b/src/MateSystem/ConstPoissonMaterial.cpp index 4a2a6b31..bf7b2528 100644 --- a/src/MateSystem/ConstPoissonMaterial.cpp +++ b/src/MateSystem/ConstPoissonMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/DiffusionACFractureMaterial.cpp b/src/MateSystem/DiffusionACFractureMaterial.cpp index e9dc8985..7fc9bf4e 100644 --- a/src/MateSystem/DiffusionACFractureMaterial.cpp +++ b/src/MateSystem/DiffusionACFractureMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/DoubleWellPotentialMaterial.cpp b/src/MateSystem/DoubleWellPotentialMaterial.cpp index 496254af..aa410c95 100644 --- a/src/MateSystem/DoubleWellPotentialMaterial.cpp +++ b/src/MateSystem/DoubleWellPotentialMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/InitBulkMateLibs.cpp b/src/MateSystem/InitBulkMateLibs.cpp index e629003f..23d30f13 100644 --- a/src/MateSystem/InitBulkMateLibs.cpp +++ b/src/MateSystem/InitBulkMateLibs.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/KobayashiDendriteMaterial.cpp b/src/MateSystem/KobayashiDendriteMaterial.cpp index 2504e892..2d05c625 100644 --- a/src/MateSystem/KobayashiDendriteMaterial.cpp +++ b/src/MateSystem/KobayashiDendriteMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/LinearElasticFractureMaterial.cpp b/src/MateSystem/LinearElasticFractureMaterial.cpp index 6fc4d642..8c088ee1 100644 --- a/src/MateSystem/LinearElasticFractureMaterial.cpp +++ b/src/MateSystem/LinearElasticFractureMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/LinearElasticMaterial.cpp b/src/MateSystem/LinearElasticMaterial.cpp index 16c59bdf..7a65d4c0 100644 --- a/src/MateSystem/LinearElasticMaterial.cpp +++ b/src/MateSystem/LinearElasticMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/MateSystem.cpp b/src/MateSystem/MateSystem.cpp index 30b8b4a4..11baf364 100644 --- a/src/MateSystem/MateSystem.cpp +++ b/src/MateSystem/MateSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/MaterialsContainer.cpp b/src/MateSystem/MaterialsContainer.cpp index 67ad5a94..a56ce102 100644 --- a/src/MateSystem/MaterialsContainer.cpp +++ b/src/MateSystem/MaterialsContainer.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/MieheFractureMaterial.cpp b/src/MateSystem/MieheFractureMaterial.cpp index 3ca461e9..313e2730 100644 --- a/src/MateSystem/MieheFractureMaterial.cpp +++ b/src/MateSystem/MieheFractureMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/NeoHookeanMaterial.cpp b/src/MateSystem/NeoHookeanMaterial.cpp index f59dd42a..1342822d 100644 --- a/src/MateSystem/NeoHookeanMaterial.cpp +++ b/src/MateSystem/NeoHookeanMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/NeoHookeanPFFractureMaterial.cpp b/src/MateSystem/NeoHookeanPFFractureMaterial.cpp index 43353e96..56ce3965 100644 --- a/src/MateSystem/NeoHookeanPFFractureMaterial.cpp +++ b/src/MateSystem/NeoHookeanPFFractureMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/NonlinearDiffusion2DMaterial.cpp b/src/MateSystem/NonlinearDiffusion2DMaterial.cpp index 53857273..b2b9e1ef 100644 --- a/src/MateSystem/NonlinearDiffusion2DMaterial.cpp +++ b/src/MateSystem/NonlinearDiffusion2DMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/NonlinearPoisson2DMaterial.cpp b/src/MateSystem/NonlinearPoisson2DMaterial.cpp index 829049ce..3b300c50 100644 --- a/src/MateSystem/NonlinearPoisson2DMaterial.cpp +++ b/src/MateSystem/NonlinearPoisson2DMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/NonlinearPoisson3DMaterial.cpp b/src/MateSystem/NonlinearPoisson3DMaterial.cpp index 3825da31..e7ce03cd 100644 --- a/src/MateSystem/NonlinearPoisson3DMaterial.cpp +++ b/src/MateSystem/NonlinearPoisson3DMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/Poisson1DBenchmarkMaterial.cpp b/src/MateSystem/Poisson1DBenchmarkMaterial.cpp index 8492e3e1..040da403 100644 --- a/src/MateSystem/Poisson1DBenchmarkMaterial.cpp +++ b/src/MateSystem/Poisson1DBenchmarkMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/Poisson2DBenchmarkMaterial.cpp b/src/MateSystem/Poisson2DBenchmarkMaterial.cpp index ff272bbd..98582878 100644 --- a/src/MateSystem/Poisson2DBenchmarkMaterial.cpp +++ b/src/MateSystem/Poisson2DBenchmarkMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/RunBulkMateLibs.cpp b/src/MateSystem/RunBulkMateLibs.cpp index 6d6e18c7..b0f892ff 100644 --- a/src/MateSystem/RunBulkMateLibs.cpp +++ b/src/MateSystem/RunBulkMateLibs.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/SaintVenantMaterial.cpp b/src/MateSystem/SaintVenantMaterial.cpp index fa69b28e..bcf386fb 100644 --- a/src/MateSystem/SaintVenantMaterial.cpp +++ b/src/MateSystem/SaintVenantMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/SmallStrainCahnHilliardMaterial.cpp b/src/MateSystem/SmallStrainCahnHilliardMaterial.cpp index 4db4e065..9c170574 100644 --- a/src/MateSystem/SmallStrainCahnHilliardMaterial.cpp +++ b/src/MateSystem/SmallStrainCahnHilliardMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/SmallStrainDiffusionJ2Material.cpp b/src/MateSystem/SmallStrainDiffusionJ2Material.cpp index a1c30120..4a6d505f 100644 --- a/src/MateSystem/SmallStrainDiffusionJ2Material.cpp +++ b/src/MateSystem/SmallStrainDiffusionJ2Material.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/SmallStrainDiffusionMaterial.cpp b/src/MateSystem/SmallStrainDiffusionMaterial.cpp index 1c007303..ea631685 100644 --- a/src/MateSystem/SmallStrainDiffusionMaterial.cpp +++ b/src/MateSystem/SmallStrainDiffusionMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.cpp b/src/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.cpp index 7f8396a3..839c3141 100644 --- a/src/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.cpp +++ b/src/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/SmallStrainJ2PlasticityMaterial.cpp b/src/MateSystem/SmallStrainJ2PlasticityMaterial.cpp index 53bf550b..00b1194d 100644 --- a/src/MateSystem/SmallStrainJ2PlasticityMaterial.cpp +++ b/src/MateSystem/SmallStrainJ2PlasticityMaterial.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MateSystem/User1Material.cpp b/src/MateSystem/User1Material.cpp index 3f6d0298..220a2480 100644 --- a/src/MateSystem/User1Material.cpp +++ b/src/MateSystem/User1Material.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MathUtils/MathFuns.cpp b/src/MathUtils/MathFuns.cpp index 64e0fd60..b40c1103 100644 --- a/src/MathUtils/MathFuns.cpp +++ b/src/MathUtils/MathFuns.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MathUtils/MatrixXd.cpp b/src/MathUtils/MatrixXd.cpp index 3513393b..c4c19833 100644 --- a/src/MathUtils/MatrixXd.cpp +++ b/src/MathUtils/MatrixXd.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MathUtils/Rank2Tensor.cpp b/src/MathUtils/Rank2Tensor.cpp index c9b21785..1baf1ea5 100644 --- a/src/MathUtils/Rank2Tensor.cpp +++ b/src/MathUtils/Rank2Tensor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MathUtils/Rank4Tensor.cpp b/src/MathUtils/Rank4Tensor.cpp index 0adcefcd..edf7fe16 100644 --- a/src/MathUtils/Rank4Tensor.cpp +++ b/src/MathUtils/Rank4Tensor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MathUtils/SparseMatrix.cpp b/src/MathUtils/SparseMatrix.cpp index 6b4d425c..395df96d 100644 --- a/src/MathUtils/SparseMatrix.cpp +++ b/src/MathUtils/SparseMatrix.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** @@ -225,7 +225,7 @@ SparseMatrix SparseMatrix::operator*(const double &a)const{ anew.m_m=m_m; anew.m_n=m_n; MatDuplicate(m_matrix,MAT_SHARE_NONZERO_PATTERN,&anew.m_matrix); - MatAXPY(anew.m_matrix,a,m_matrix,SAME_NONZERO_PATTERN);//Y = Y + a ∗ X + MatAXPY(anew.m_matrix,a,m_matrix,SAME_NONZERO_PATTERN);//Y = Y + a ∗ X anew.m_allocated=true; return anew; } @@ -245,7 +245,7 @@ SparseMatrix SparseMatrix::operator/(const double &a)const{ anew.m_m=m_m; anew.m_n=m_n; MatDuplicate(m_matrix,MAT_SHARE_NONZERO_PATTERN,&anew.m_matrix); - MatAXPY(anew.m_matrix,1.0/a,m_matrix,SAME_NONZERO_PATTERN);//Y = Y + a ∗ X + MatAXPY(anew.m_matrix,1.0/a,m_matrix,SAME_NONZERO_PATTERN);//Y = Y + a ∗ X anew.m_allocated=true; return anew; } diff --git a/src/MathUtils/Vector.cpp b/src/MathUtils/Vector.cpp index 372d2e18..370fd93c 100644 --- a/src/MathUtils/Vector.cpp +++ b/src/MathUtils/Vector.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MathUtils/Vector3d.cpp b/src/MathUtils/Vector3d.cpp index 656d3745..8dff8002 100644 --- a/src/MathUtils/Vector3d.cpp +++ b/src/MathUtils/Vector3d.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/MathUtils/VectorXd.cpp b/src/MathUtils/VectorXd.cpp index 08fb3776..d8118ca1 100644 --- a/src/MathUtils/VectorXd.cpp +++ b/src/MathUtils/VectorXd.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/BulkMesh.cpp b/src/Mesh/BulkMesh.cpp index 234f0808..45b8e76c 100644 --- a/src/Mesh/BulkMesh.cpp +++ b/src/Mesh/BulkMesh.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/Gmsh2FileImporter.cpp b/src/Mesh/Gmsh2FileImporter.cpp index 7ddc1b58..29394946 100644 --- a/src/Mesh/Gmsh2FileImporter.cpp +++ b/src/Mesh/Gmsh2FileImporter.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/Lagrange1DMeshGenerator.cpp b/src/Mesh/Lagrange1DMeshGenerator.cpp index c8452ef4..09825e4c 100644 --- a/src/Mesh/Lagrange1DMeshGenerator.cpp +++ b/src/Mesh/Lagrange1DMeshGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/Lagrange2DMeshGenerator.cpp b/src/Mesh/Lagrange2DMeshGenerator.cpp index 97f81681..3cf8706b 100644 --- a/src/Mesh/Lagrange2DMeshGenerator.cpp +++ b/src/Mesh/Lagrange2DMeshGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/Lagrange3DMeshGenerator.cpp b/src/Mesh/Lagrange3DMeshGenerator.cpp index bd9fbe25..44d34aa3 100644 --- a/src/Mesh/Lagrange3DMeshGenerator.cpp +++ b/src/Mesh/Lagrange3DMeshGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/MeshFileImporter.cpp b/src/Mesh/MeshFileImporter.cpp index 8acfd5f2..6ac35769 100644 --- a/src/Mesh/MeshFileImporter.cpp +++ b/src/Mesh/MeshFileImporter.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/MeshGenerator.cpp b/src/Mesh/MeshGenerator.cpp index f9ed5cf0..b3180dcb 100644 --- a/src/Mesh/MeshGenerator.cpp +++ b/src/Mesh/MeshGenerator.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/Msh2FileImporter.cpp b/src/Mesh/Msh2FileImporter.cpp index 52b2788d..24761288 100644 --- a/src/Mesh/Msh2FileImporter.cpp +++ b/src/Mesh/Msh2FileImporter.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/Msh4FileImporter.cpp b/src/Mesh/Msh4FileImporter.cpp index 07d62c1a..1cb976ce 100644 --- a/src/Mesh/Msh4FileImporter.cpp +++ b/src/Mesh/Msh4FileImporter.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/MshFileUtils.cpp b/src/Mesh/MshFileUtils.cpp index 66b5af7c..c8c3456c 100644 --- a/src/Mesh/MshFileUtils.cpp +++ b/src/Mesh/MshFileUtils.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/PrintMesh.cpp b/src/Mesh/PrintMesh.cpp index dd5c78af..ab6b9dbc 100644 --- a/src/Mesh/PrintMesh.cpp +++ b/src/Mesh/PrintMesh.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Mesh/SaveMesh.cpp b/src/Mesh/SaveMesh.cpp index 3db55b68..01e54c4a 100644 --- a/src/Mesh/SaveMesh.cpp +++ b/src/Mesh/SaveMesh.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/NonlinearSolver/NonlinearSolver.cpp b/src/NonlinearSolver/NonlinearSolver.cpp index 4509c369..9042d3d9 100644 --- a/src/NonlinearSolver/NonlinearSolver.cpp +++ b/src/NonlinearSolver/NonlinearSolver.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/NonlinearSolver/SNESSolve.cpp b/src/NonlinearSolver/SNESSolve.cpp index 1bb489a7..9b5fb730 100644 --- a/src/NonlinearSolver/SNESSolve.cpp +++ b/src/NonlinearSolver/SNESSolve.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/NonlinearSolver/SNESSolver.cpp b/src/NonlinearSolver/SNESSolver.cpp index 344f23e0..07b84103 100644 --- a/src/NonlinearSolver/SNESSolver.cpp +++ b/src/NonlinearSolver/SNESSolver.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/OutputSystem/OutputSystem.cpp b/src/OutputSystem/OutputSystem.cpp index 688a583e..5f881dc8 100644 --- a/src/OutputSystem/OutputSystem.cpp +++ b/src/OutputSystem/OutputSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/OutputSystem/SaveResults.cpp b/src/OutputSystem/SaveResults.cpp index 879d1277..fcfb2abb 100644 --- a/src/OutputSystem/SaveResults.cpp +++ b/src/OutputSystem/SaveResults.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/OutputSystem/VTUWriter.cpp b/src/OutputSystem/VTUWriter.cpp index fe90aaec..fa7de96c 100644 --- a/src/OutputSystem/VTUWriter.cpp +++ b/src/OutputSystem/VTUWriter.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/AreaPostprocessor.cpp b/src/Postprocess/AreaPostprocessor.cpp index 70993df6..6b6aa223 100644 --- a/src/Postprocess/AreaPostprocessor.cpp +++ b/src/Postprocess/AreaPostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/ExecuteNodalPostprocess.cpp b/src/Postprocess/ExecuteNodalPostprocess.cpp index 3b88ae2c..b3267fb2 100644 --- a/src/Postprocess/ExecuteNodalPostprocess.cpp +++ b/src/Postprocess/ExecuteNodalPostprocess.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/ExecutePostprocess.cpp b/src/Postprocess/ExecutePostprocess.cpp index 74a19531..37cfbecc 100644 --- a/src/Postprocess/ExecutePostprocess.cpp +++ b/src/Postprocess/ExecutePostprocess.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/ExecuteSideIntegralPostprocess.cpp b/src/Postprocess/ExecuteSideIntegralPostprocess.cpp index 4524bab8..639438c4 100644 --- a/src/Postprocess/ExecuteSideIntegralPostprocess.cpp +++ b/src/Postprocess/ExecuteSideIntegralPostprocess.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/ExecuteVolumeIntegralPostprocess.cpp b/src/Postprocess/ExecuteVolumeIntegralPostprocess.cpp index f7fc75cf..697ed798 100644 --- a/src/Postprocess/ExecuteVolumeIntegralPostprocess.cpp +++ b/src/Postprocess/ExecuteVolumeIntegralPostprocess.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/NodalRank2MatePostprocessor.cpp b/src/Postprocess/NodalRank2MatePostprocessor.cpp index a5541828..d4f87605 100644 --- a/src/Postprocess/NodalRank2MatePostprocessor.cpp +++ b/src/Postprocess/NodalRank2MatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/NodalRank4MatePostprocessor.cpp b/src/Postprocess/NodalRank4MatePostprocessor.cpp index 2ee933ea..92fa748d 100644 --- a/src/Postprocess/NodalRank4MatePostprocessor.cpp +++ b/src/Postprocess/NodalRank4MatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/NodalScalarMatePostprocessor.cpp b/src/Postprocess/NodalScalarMatePostprocessor.cpp index 15664ea2..fd17a226 100644 --- a/src/Postprocess/NodalScalarMatePostprocessor.cpp +++ b/src/Postprocess/NodalScalarMatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/NodalValuePostprocessor.cpp b/src/Postprocess/NodalValuePostprocessor.cpp index 653bbc7b..8a46c5ea 100644 --- a/src/Postprocess/NodalValuePostprocessor.cpp +++ b/src/Postprocess/NodalValuePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/NodalVectorMatePostprocessor.cpp b/src/Postprocess/NodalVectorMatePostprocessor.cpp index 64ed1f38..ff4cfa34 100644 --- a/src/Postprocess/NodalVectorMatePostprocessor.cpp +++ b/src/Postprocess/NodalVectorMatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/Postprocessor.cpp b/src/Postprocess/Postprocessor.cpp index b1ce4024..dea7d7bf 100644 --- a/src/Postprocess/Postprocessor.cpp +++ b/src/Postprocess/Postprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/RunSideIntegralPostprocessLibs.cpp b/src/Postprocess/RunSideIntegralPostprocessLibs.cpp index 58972917..4221c22c 100644 --- a/src/Postprocess/RunSideIntegralPostprocessLibs.cpp +++ b/src/Postprocess/RunSideIntegralPostprocessLibs.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/RunVolumeIntegralPostprocessLibs.cpp b/src/Postprocess/RunVolumeIntegralPostprocessLibs.cpp index 432cc086..d58fba52 100644 --- a/src/Postprocess/RunVolumeIntegralPostprocessLibs.cpp +++ b/src/Postprocess/RunVolumeIntegralPostprocessLibs.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/SavePostprocessResults.cpp b/src/Postprocess/SavePostprocessResults.cpp index 2ad464fb..01f6fd45 100644 --- a/src/Postprocess/SavePostprocessResults.cpp +++ b/src/Postprocess/SavePostprocessResults.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/SideIntegralRank2MatePostprocessor.cpp b/src/Postprocess/SideIntegralRank2MatePostprocessor.cpp index fcb17f9f..517f8ea9 100644 --- a/src/Postprocess/SideIntegralRank2MatePostprocessor.cpp +++ b/src/Postprocess/SideIntegralRank2MatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/SideIntegralRank4MatePostprocessor.cpp b/src/Postprocess/SideIntegralRank4MatePostprocessor.cpp index d5d8d6ee..f64463d4 100644 --- a/src/Postprocess/SideIntegralRank4MatePostprocessor.cpp +++ b/src/Postprocess/SideIntegralRank4MatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/SideIntegralScalarMatePostprocessor.cpp b/src/Postprocess/SideIntegralScalarMatePostprocessor.cpp index 2c5da971..d9dbd44c 100644 --- a/src/Postprocess/SideIntegralScalarMatePostprocessor.cpp +++ b/src/Postprocess/SideIntegralScalarMatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/SideIntegralValuePostprocessor.cpp b/src/Postprocess/SideIntegralValuePostprocessor.cpp index 65f0971e..accb1d57 100644 --- a/src/Postprocess/SideIntegralValuePostprocessor.cpp +++ b/src/Postprocess/SideIntegralValuePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/SideIntegralVectorMatePostprocessor.cpp b/src/Postprocess/SideIntegralVectorMatePostprocessor.cpp index 18837241..5203e863 100644 --- a/src/Postprocess/SideIntegralVectorMatePostprocessor.cpp +++ b/src/Postprocess/SideIntegralVectorMatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/User1SideIntegralPostprocessor.cpp b/src/Postprocess/User1SideIntegralPostprocessor.cpp index 1328fbbf..7eb122ee 100644 --- a/src/Postprocess/User1SideIntegralPostprocessor.cpp +++ b/src/Postprocess/User1SideIntegralPostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/User1VolumeIntegralPostprocessor.cpp b/src/Postprocess/User1VolumeIntegralPostprocessor.cpp index 8eb41bab..6404095e 100644 --- a/src/Postprocess/User1VolumeIntegralPostprocessor.cpp +++ b/src/Postprocess/User1VolumeIntegralPostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/VolumeIntegralRank2MatePostprocessor.cpp b/src/Postprocess/VolumeIntegralRank2MatePostprocessor.cpp index 728c2756..ccea192e 100644 --- a/src/Postprocess/VolumeIntegralRank2MatePostprocessor.cpp +++ b/src/Postprocess/VolumeIntegralRank2MatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/VolumeIntegralRank4MatePostprocessor.cpp b/src/Postprocess/VolumeIntegralRank4MatePostprocessor.cpp index e4f5a0dc..1ddf84ed 100644 --- a/src/Postprocess/VolumeIntegralRank4MatePostprocessor.cpp +++ b/src/Postprocess/VolumeIntegralRank4MatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/VolumeIntegralScalarMatePostprocessor.cpp b/src/Postprocess/VolumeIntegralScalarMatePostprocessor.cpp index 91593743..aa182274 100644 --- a/src/Postprocess/VolumeIntegralScalarMatePostprocessor.cpp +++ b/src/Postprocess/VolumeIntegralScalarMatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/VolumeIntegralValuePostprocessor.cpp b/src/Postprocess/VolumeIntegralValuePostprocessor.cpp index 99a55974..0bb17da1 100644 --- a/src/Postprocess/VolumeIntegralValuePostprocessor.cpp +++ b/src/Postprocess/VolumeIntegralValuePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/VolumeIntegralVectorMatePostprocessor.cpp b/src/Postprocess/VolumeIntegralVectorMatePostprocessor.cpp index 77be1566..de44d9a4 100644 --- a/src/Postprocess/VolumeIntegralVectorMatePostprocessor.cpp +++ b/src/Postprocess/VolumeIntegralVectorMatePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Postprocess/VolumePostprocessor.cpp b/src/Postprocess/VolumePostprocessor.cpp index f8e259fc..3e22ec47 100644 --- a/src/Postprocess/VolumePostprocessor.cpp +++ b/src/Postprocess/VolumePostprocessor.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ProjectionSystem/LeastSquareProjection.cpp b/src/ProjectionSystem/LeastSquareProjection.cpp index 770aee03..e5cf3371 100644 --- a/src/ProjectionSystem/LeastSquareProjection.cpp +++ b/src/ProjectionSystem/LeastSquareProjection.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ProjectionSystem/Projection.cpp b/src/ProjectionSystem/Projection.cpp index 62c2d9d3..a687fff9 100644 --- a/src/ProjectionSystem/Projection.cpp +++ b/src/ProjectionSystem/Projection.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ProjectionSystem/ProjectionGettings.cpp b/src/ProjectionSystem/ProjectionGettings.cpp index 3c87f71f..e9b6edfb 100644 --- a/src/ProjectionSystem/ProjectionGettings.cpp +++ b/src/ProjectionSystem/ProjectionGettings.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ProjectionSystem/ProjectionLibs.cpp b/src/ProjectionSystem/ProjectionLibs.cpp index c295f606..d4e22c67 100644 --- a/src/ProjectionSystem/ProjectionLibs.cpp +++ b/src/ProjectionSystem/ProjectionLibs.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/ProjectionSystem/ProjectionSystem.cpp b/src/ProjectionSystem/ProjectionSystem.cpp index 8db765c6..627fe9f4 100644 --- a/src/ProjectionSystem/ProjectionSystem.cpp +++ b/src/ProjectionSystem/ProjectionSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/SolutionSystem/SolutionSystem.cpp b/src/SolutionSystem/SolutionSystem.cpp index 72427fa9..e35e0c59 100644 --- a/src/SolutionSystem/SolutionSystem.cpp +++ b/src/SolutionSystem/SolutionSystem.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/SolutionSystem/SolutionSystemInit.cpp b/src/SolutionSystem/SolutionSystemInit.cpp index d459957c..ff488ec3 100644 --- a/src/SolutionSystem/SolutionSystemInit.cpp +++ b/src/SolutionSystem/SolutionSystemInit.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/SolutionSystem/SolutionUpdate.cpp b/src/SolutionSystem/SolutionUpdate.cpp index ea80f0f5..838e300b 100644 --- a/src/SolutionSystem/SolutionUpdate.cpp +++ b/src/SolutionSystem/SolutionUpdate.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/TimeStepping/TimeStepping.cpp b/src/TimeStepping/TimeStepping.cpp index 66fcb061..ad6eee87 100644 --- a/src/TimeStepping/TimeStepping.cpp +++ b/src/TimeStepping/TimeStepping.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/TimeStepping/TimeSteppingSolve.cpp b/src/TimeStepping/TimeSteppingSolve.cpp index 5fe697e0..35f157ca 100644 --- a/src/TimeStepping/TimeSteppingSolve.cpp +++ b/src/TimeStepping/TimeSteppingSolve.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Utils/JsonUtils.cpp b/src/Utils/JsonUtils.cpp index d975a375..99c43f8e 100644 --- a/src/Utils/JsonUtils.cpp +++ b/src/Utils/JsonUtils.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Utils/MessagePrinter.cpp b/src/Utils/MessagePrinter.cpp index 7a41909b..c10268b3 100644 --- a/src/Utils/MessagePrinter.cpp +++ b/src/Utils/MessagePrinter.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Utils/StringUtils.cpp b/src/Utils/StringUtils.cpp index e33fedc2..bef9ec56 100644 --- a/src/Utils/StringUtils.cpp +++ b/src/Utils/StringUtils.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/Utils/Timer.cpp b/src/Utils/Timer.cpp index 78ab2083..946340ef 100644 --- a/src/Utils/Timer.cpp +++ b/src/Utils/Timer.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/src/main.cpp b/src/main.cpp index 25867aba..98679b0d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/tests/interpolation/test.cpp b/tests/interpolation/test.cpp index 8b8a117f..074084d9 100644 --- a/tests/interpolation/test.cpp +++ b/tests/interpolation/test.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/tests/tensor/test.cpp b/tests/tensor/test.cpp index 040830ac..6bb972e9 100644 --- a/tests/tensor/test.cpp +++ b/tests/tensor/test.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** diff --git a/tests/vector/test.cpp b/tests/vector/test.cpp index b7760548..f02fc2d9 100644 --- a/tests/vector/test.cpp +++ b/tests/vector/test.cpp @@ -1,8 +1,8 @@ //**************************************************************** //* This file is part of the AsFem framework -//* A Simple Finite Element Method program (AsFem) -//* All rights reserved, Yang Bai/M3 Group@CopyRight 2020-present -//* https://github.com/M3Group/AsFem +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem //* Licensed under GNU GPLv3, please see LICENSE for details //* https://www.gnu.org/licenses/gpl-3.0.en.html //**************************************************************** From aa490aef9ef41c39a704311955e6bc57e7b2eafc Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Fri, 29 Dec 2023 18:48:48 +0100 Subject: [PATCH 03/29] update for lab info --- include/Welcome.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/Welcome.h b/include/Welcome.h index da91fa4e..edcd4f7a 100644 --- a/include/Welcome.h +++ b/include/Welcome.h @@ -39,7 +39,7 @@ void welcome(const int &year,const int &month,const int &day,const double &versi MessagePrinter::printStars(MessageColor::BLUE); MessagePrinter::printWelcomeTxt("Welcome to use AsFem AAA"); - MessagePrinter::printWelcomeTxt("A Simple Finite Element Method Program // \\\\"); + MessagePrinter::printWelcomeTxt("Advanced Simulation kit based on Finite Element Method // \\\\"); snprintf(buff,50,"Version: %-10.2f Release @ %4d-%02d-%02d",version,year,month,day); str=buff; @@ -50,11 +50,11 @@ void welcome(const int &year,const int &month,const int &day,const double &versi MessagePrinter::printWelcomeTxt(str+" // \\\\"); MessagePrinter::printWelcomeTxt("License: GPL-3.0 // \\\\"); - MessagePrinter::printWelcomeTxt("Author: Yang Bai @ M3-Group //_________\\\\"); + MessagePrinter::printWelcomeTxt("Author: Yang Bai @ MM-Lab //_________\\\\"); MessagePrinter::printWelcomeTxt("Contact: yangbai90@outlook.com //-----------\\\\"); MessagePrinter::printWelcomeTxt("QQ Group: 879908352 // \\\\"); - MessagePrinter::printWelcomeTxt("Website: https://github.com/M3Group/AsFem // \\\\"); + MessagePrinter::printWelcomeTxt("Website: https://github.com/MatMechLab/AsFem // \\\\"); MessagePrinter::printWelcomeTxt("Feel free to use and discuss .:. ** **"); MessagePrinter::printStars(MessageColor::BLUE); From 85c68e2096b2fec961247d81597dfdf9fa4e2c44 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Fri, 29 Dec 2023 19:49:13 +0100 Subject: [PATCH 04/29] update workflow --- .github/workflows/main.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e5eb0d59..e540ee12 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -72,27 +72,27 @@ jobs: run: | cd temp ls -l - curl -L -O https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz + curl -L -O https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.1.tar.gz echo "******************************************************" - echo "*** Openmpi 4.1.5 has been downloaded !" + echo "*** Openmpi 5.0.1 has been downloaded !" echo "******************************************************" ls -l - name: compile and install openmpi run: | echo "******************************************************" - echo "*** Start to compile openmpi-4.1.5" + echo "*** Start to compile openmpi-5.0.1" echo "******************************************************" cd temp - tar -xf openmpi-4.1.5.tar.gz - cd openmpi-4.1.5 + tar -xf openmpi-5.0.1.tar.gz + cd openmpi-5.0.1 ./configure --prefix=/home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}}/AsFemLibs/openmpi make -j8 echo "******************************************************" - echo "*** Make -j8 is done for openmpi-4.1.5" + echo "*** Make -j8 is done for openmpi-5.0.1" echo "******************************************************" make install echo "******************************************************" - echo "*** Make install is done for openmpi-4.1.5" + echo "*** Make install is done for openmpi-5.0.1" echo "******************************************************" - name: check openmpi version run: | @@ -109,11 +109,11 @@ jobs: echo "*** download petsc" echo "******************************************************" cd /home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}}/temp - curl -L -O https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.18.6.tar.gz - tar -xf petsc-lite-3.18.6.tar.gz + curl -L -O https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-3.20.2.tar.gz + tar -xf petsc-lite-3.20.2.tar.gz - name: compile and install PETSc run: | - cd /home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}}/temp/petsc-3.18.6 + cd /home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}}/temp/petsc-3.20.2 echo "******************************************************" echo "*** Configure petsc ..." echo "******************************************************" @@ -137,11 +137,11 @@ jobs: echo "******************************************************" echo "*** Make petsc ..." echo "******************************************************" - make PETSC_DIR=/home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}}/temp/petsc-3.18.6 PETSC_ARCH=arch-linux-c-opt all + make PETSC_DIR=/home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}}/temp/petsc-3.20.2 PETSC_ARCH=arch-linux-c-opt all echo "******************************************************" echo "*** Install petsc ..." echo "******************************************************" - make PETSC_DIR=/home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}}/temp/petsc-3.18.6 PETSC_ARCH=arch-linux-c-opt install + make PETSC_DIR=/home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}}/temp/petsc-3.20.2 PETSC_ARCH=arch-linux-c-opt install - name: compile AsFem run: | cd /home/runner/work/${{github.event.repository.name}}/${{github.event.repository.name}} From d95ca95447f428aec9100d454340e9b8e6be240a Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Fri, 29 Dec 2023 20:05:57 +0100 Subject: [PATCH 05/29] structure cmake file --- CMakeLists.txt | 705 +---------------------------------------------- SourceCode.cmake | 685 +++++++++++++++++++++++++++++++++++++++++++++ Test.cmake | 18 ++ scripts/Clean.py | 4 +- 4 files changed, 708 insertions(+), 704 deletions(-) create mode 100644 SourceCode.cmake create mode 100644 Test.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 729f351f..fabf2a2f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -157,691 +157,7 @@ message("The executable file 'asfem' will be generated in ${CMAKE_CURRENT_SOURCE set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin") include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) -############################################################# -############################################################# -### For beginners, please don't edit the following line! ### -### Do not edit the following lines !!! ### -### Do not edit the following lines !!! ### -### Do not edit the following lines !!! ### -############################################################# -############################################################# -# For Welcome header file and main.cpp -set(inc include/Welcome.h) -set(src src/main.cpp) - -############################################################# -### For message printer utils ### -############################################################# -set(inc ${inc} include/Utils/MessagePrinter.h include/Utils/MessageColor.h) -set(src ${src} src/Utils/MessagePrinter.cpp) - -############################################################# -### For string utils ### -############################################################# -set(inc ${inc} include/Utils/StringUtils.h) -set(src ${src} src/Utils/StringUtils.cpp) - -############################################################# -### For json utils ### -############################################################# -set(inc ${inc} include/Utils/JsonUtils.h) -set(src ${src} src/Utils/JsonUtils.cpp) - -############################################################# -### For timer ### -############################################################# -set(inc ${inc} include/Utils/Timer.h) -set(src ${src} src/Utils/Timer.cpp) - -############################################################# -### For mathematic utils ### -############################################################# -set(inc ${inc} include/MathUtils/Vector3d.h) -set(src ${src} src/MathUtils/Vector3d.cpp) -set(inc ${inc} include/MathUtils/VectorXd.h) -set(src ${src} src/MathUtils/VectorXd.cpp) -set(inc ${inc} include/MathUtils/MatrixXd.h) -set(src ${src} src/MathUtils/MatrixXd.cpp) -### for PETSc vector -set(inc ${inc} include/MathUtils/Vector.h) -set(src ${src} src/MathUtils/Vector.cpp) -### for PETSc's sparse matrix -set(inc ${inc} include/MathUtils/SparseMatrix.h) -set(src ${src} src/MathUtils/SparseMatrix.cpp) -### for rank-2 tensor -set(inc ${inc} include/MathUtils/Rank2Tensor.h) -set(src ${src} src/MathUtils/Rank2Tensor.cpp) -### for rank-4 tensor -set(inc ${inc} include/MathUtils/Rank4Tensor.h) -set(src ${src} src/MathUtils/Rank4Tensor.cpp) -### for general math funs -set(inc ${inc} include/MathUtils/MathFuns.h) -set(src ${src} src/MathUtils/MathFuns.cpp) - - -############################################################# -### For mesh class ### -############################################################# -### for nodes -set(inc ${inc} include/Mesh/Nodes.h) -### for mesh type -set(inc ${inc} include/Mesh/MeshType.h) -### for mesh structure data -set(inc ${inc} include/Mesh/MeshData.h) -### for mesh generator class -set(inc ${inc} include/Mesh/MeshGeneratorBase.h) -### for 1d mesh generator class -set(inc ${inc} include/Mesh/Lagrange1DMeshGenerator.h) -set(src ${src} src/Mesh/Lagrange1DMeshGenerator.cpp) -### for 2d mesh generator class -set(inc ${inc} include/Mesh/Lagrange2DMeshGenerator.h) -set(src ${src} src/Mesh/Lagrange2DMeshGenerator.cpp) -### for 3d mesh generator class -set(inc ${inc} include/Mesh/Lagrange3DMeshGenerator.h) -set(src ${src} src/Mesh/Lagrange3DMeshGenerator.cpp) -### for general mesh generator class -set(inc ${inc} include/Mesh/MeshGenerator.h) -set(src ${src} src/Mesh/MeshGenerator.cpp) -### for bulk mesh -set(inc ${inc} include/Mesh/BulkMesh.h) -set(src ${src} src/Mesh/BulkMesh.cpp) -set(src ${src} src/Mesh/SaveMesh.cpp) -set(src ${src} src/Mesh/PrintMesh.cpp) -### for the final mesh -set(inc ${inc} include/Mesh/Mesh.h) -### utils for msh file -set(inc ${inic} include/Mesh/MshFileUtils.h) -set(src ${src} src/Mesh/MshFileUtils.cpp) -### for msh2 file -set(inc ${inc} include/Mesh/Msh2FileImporter.h) -set(src ${src} src/Mesh/Msh2FileImporter.cpp) -### for msh2 file -set(inc ${inc} include/Mesh/Msh4FileImporter.h) -set(src ${src} src/Mesh/Msh4FileImporter.cpp) -### for gmsh2 file -set(inc ${inc} include/Mesh/Gmsh2FileImporter.h) -set(src ${src} src/Mesh/Gmsh2FileImporter.cpp) -### for MeshIO -set(inc ${inc} include/Mesh/MeshFileImporterBase.h) -set(inc ${inc} include/Mesh/MeshFileImporter.h) -set(src ${src} src/Mesh/MeshFileImporter.cpp) - - -############################################################# -### For inputystem ### -############################################################# -set(inc ${inc} include/InputSystem/InputSystem.h) -set(src ${src} src/InputSystem/InputSystem.cpp) -set(src ${src} src/InputSystem/ReadInputFile.cpp) -### for mesh block -set(src ${src} src/InputSystem/ReadMeshBlock.cpp) -### for dofs block -set(src ${src} src/InputSystem/ReadDofsBlock.cpp) -### for dofs block -set(src ${src} src/InputSystem/ReadElmtsBlock.cpp) -### for qpoint block -set(src ${src} src/InputSystem/ReadQPointBlock.cpp) -### for shapefunction block -set(src ${src} src/InputSystem/ReadShapeFunBlock.cpp) -### for boundary condition block -set(src ${src} src/InputSystem/ReadBCsBlock.cpp) -### for initial condition block -set(src ${src} src/InputSystem/ReadICsBlock.cpp) -### for projection condition block -set(src ${src} src/InputSystem/ReadProjectionBlock.cpp) -### for nonlinear solver block -set(src ${src} src/InputSystem/ReadNLSolverBlock.cpp) -### for nonlinear solver block -set(src ${src} src/InputSystem/ReadTimeSteppingBlock.cpp) -### for output block -set(src ${src} src/InputSystem/ReadOutputBlock.cpp) -### for postprocess block -set(src ${src} src/InputSystem/ReadPostprocessBlock.cpp) -### for job block -set(src ${src} src/InputSystem/ReadJobBlock.cpp) - - -############################################################# -### For dof handlers ### -############################################################# -set(inc ${inc} include/DofHandler/DofHandler.h) -### for bulk dofHandler -set(inc ${inc} include/DofHandler/BulkDofHandler.h) -set(src ${src} src/DofHandler/BulkDofHandler.cpp) -set(src ${src} src/DofHandler/BulkDofHandlerSettings.cpp) -set(src ${src} src/DofHandler/CreateBulkDofsMap.cpp) - -############################################################# -### For boundary conditions ### -############################################################# -set(inc ${inc} include/BCSystem/BCType.h) -set(inc ${inc} include/BCSystem/BCBlock.h) -set(inc ${inc} include/BCSystem/BCSystem.h) -set(src ${src} src/BCSystem/BCSystem.cpp) -set(src ${src} src/BCSystem/ApplyBoundaryConditions.cpp) -set(src ${src} src/BCSystem/RunBCLibs.cpp) -set(src ${src} src/BCSystem/BCSystemAssemble.cpp) -### for dirichlet bcs -set(inc ${inc} include/BCSystem/DirichletBCBase.h) -### -set(inc ${inc} include/BCSystem/DirichletBC.h) -set(src ${src} src/BCSystem/DirichletBC.cpp) -### -set(inc ${inc} include/BCSystem/RotatedDirichletBC.h) -set(src ${src} src/BCSystem/RotatedDirichletBC.cpp) -### -set(inc ${inc} include/BCSystem/User1DirichletBC.h) -set(src ${src} src/BCSystem/User1DirichletBC.cpp) -### -set(inc ${inc} include/BCSystem/User2DirichletBC.h) -set(src ${src} src/BCSystem/User2DirichletBC.cpp) -### -set(inc ${inc} include/BCSystem/User3DirichletBC.h) -set(src ${src} src/BCSystem/User3DirichletBC.cpp) -### -set(inc ${inc} include/BCSystem/User4DirichletBC.h) -set(src ${src} src/BCSystem/User4DirichletBC.cpp) -### -set(inc ${inc} include/BCSystem/User5DirichletBC.h) -set(src ${src} src/BCSystem/User5DirichletBC.cpp) -### -set(inc ${inc} include/BCSystem/Poisson2DBenchmarkBC.h) -set(src ${src} src/BCSystem/Poisson2DBenchmarkBC.cpp) -### -set(src ${src} src/BCSystem/ApplyDirichletBC.cpp) -### for integrated bcs -set(src ${src} src/BCSystem/ApplyIntegratedBC.cpp) -set(inc ${inc} include/BCSystem/IntegrateBCBase.h) -### -set(inc ${inc} include/BCSystem/NeumannBC.h) -set(src ${src} src/BCSystem/NeumannBC.cpp) -### for pressure bc -set(inc ${inc} include/BCSystem/PressureBC.h) -set(src ${src} src/BCSystem/PressureBC.cpp) -### for traction bc -set(inc ${inc} include/BCSystem/TractionBC.h) -set(src ${src} src/BCSystem/TractionBC.cpp) - - -############################################################# -### For initial conditions ### -############################################################# -set(inc ${inc} include/ICSystem/ICType.h) -set(inc ${inc} include/ICSystem/ICBlock.h) -### ic base class -set(inc ${inc} include/ICSystem/InitialConditionBase.h) -### for constant ic -set(inc ${inc} include/ICSystem/ConstantIC.h) -set(src ${src} src/ICSystem/ConstantIC.cpp) -### -set(inc ${inc} include/ICSystem/RandomIC.h) -set(src ${src} src/ICSystem/RandomIC.cpp) -### -set(inc ${inc} include/ICSystem/CircleIC.h) -set(src ${src} src/ICSystem/CircleIC.cpp) -### -set(inc ${inc} include/ICSystem/ICSystem.h) -set(src ${src} src/ICSystem/ICSystem.cpp) -set(src ${src} src/ICSystem/ApplyInitialConditions.cpp) -set(src ${src} src/ICSystem/RunICLibs.cpp) - -############################################################# -### For element system ### -############################################################# -set(inc ${inc} include/ElmtSystem/ElmtType.h) -set(inc ${inc} include/ElmtSystem/ElmtBlock.h) -set(inc ${inc} include/ElmtSystem/LocalElmtData.h) -### for bulk element system -set(inc ${inc} include/ElmtSystem/BulkElmtSystem.h) -set(src ${src} src/ElmtSystem/BulkElmtSystem.cpp) -set(src ${src} src/ElmtSystem/BulkElmtSystemInit.cpp) -set(src ${src} src/ElmtSystem/RunBulkElmtLibs.cpp) -set(inc ${inc} include/ElmtSystem/BulkElmtBase.h) -### for poisson element -set(inc ${inc} include/ElmtSystem/PoissonElement.h) -set(src ${src} src/ElmtSystem/PoissonElement.cpp) -### for diffusion element -set(inc ${inc} include/ElmtSystem/DiffusionElement.h) -set(src ${src} src/ElmtSystem/DiffusionElement.cpp) -### -set(inc ${inc} include/ElmtSystem/AllenCahnElement.h) -set(src ${src} src/ElmtSystem/AllenCahnElement.cpp) -### -set(inc ${inc} include/ElmtSystem/MechanicsElement.h) -set(src ${src} src/ElmtSystem/MechanicsElement.cpp) -### -set(inc ${inc} include/ElmtSystem/CahnHilliardElement.h) -set(src ${src} src/ElmtSystem/CahnHilliardElement.cpp) -### -set(inc ${inc} include/ElmtSystem/KobayashiElement.h) -set(src ${src} src/ElmtSystem/KobayashiElement.cpp) -### -set(inc ${inc} include/ElmtSystem/StressDiffusionElement.h) -set(src ${src} src/ElmtSystem/StressDiffusionElement.cpp) -### -set(inc ${inc} include/ElmtSystem/AllenCahnFractureElement.h) -set(src ${src} src/ElmtSystem/AllenCahnFractureElement.cpp) -### -set(inc ${inc} include/ElmtSystem/MieheFractureElement.h) -set(src ${src} src/ElmtSystem/MieheFractureElement.cpp) -### -set(inc ${inc} include/ElmtSystem/StressCahnHilliardElement.h) -set(src ${src} src/ElmtSystem/StressCahnHilliardElement.cpp) -### for scalar body source element -set(inc ${inc} include/ElmtSystem/ScalarBodySourceElement.h) -set(src ${src} src/ElmtSystem/ScalarBodySourceElement.cpp) -### for laplacian element -set(inc ${inc} include/ElmtSystem/LaplaceElement.h) -set(src ${src} src/ElmtSystem/LaplaceElement.cpp) -### for diffusion allencahn fracture -set(inc ${inc} include/ElmtSystem/DiffusionACFractureElement.h) -set(src ${src} src/ElmtSystem/DiffusionACFractureElement.cpp) -### for element system -set(inc ${inc} include/ElmtSystem/ElmtSystem.h) -set(src ${src} src/ElmtSystem/ElmtSystem.cpp) - -############################################################# -### For material system ### -############################################################# -set(inc ${inc} include/MateSystem/MateType.h) -set(inc ${inc} include/MateSystem/MaterialsName.h) -### for material container -set(inc ${inc} include/MateSystem/MaterialsContainer.h) -set(src ${src} src/MateSystem/MaterialsContainer.cpp) -### for bulk material system -set(inc ${inc} include/MateSystem/BulkMateSystem.h) -set(inc ${inc} include/MateSystem/BulkMaterialBase.h) -set(src ${src} src/MateSystem/BulkMateSystem.cpp) -set(src ${src} src/MateSystem/InitBulkMateLibs.cpp) -set(src ${src} src/MateSystem/RunBulkMateLibs.cpp) -### for poisson material -set(inc ${inc} include/MateSystem/ConstPoissonMaterial.h) -set(src ${src} src/MateSystem/ConstPoissonMaterial.cpp) -### for poisson 1d+2d benchmark material -set(inc ${inc} include/MateSystem/Poisson1DBenchmarkMaterial.h) -set(src ${src} src/MateSystem/Poisson1DBenchmarkMaterial.cpp) -set(inc ${inc} include/MateSystem/Poisson2DBenchmarkMaterial.h) -set(src ${src} src/MateSystem/Poisson2DBenchmarkMaterial.cpp) -### for nonlinear poisson2d material -set(inc ${inc} include/MateSystem/NonlinearPoisson2DMaterial.h) -set(src ${src} src/MateSystem/NonlinearPoisson2DMaterial.cpp) -### for nonlinear poisson3d material -set(inc ${inc} include/MateSystem/NonlinearPoisson3DMaterial.h) -set(src ${src} src/MateSystem/NonlinearPoisson3DMaterial.cpp) -### for const diffusion material -set(inc ${inc} include/MateSystem/ConstDiffusionMaterial.h) -set(src ${src} src/MateSystem/ConstDiffusionMaterial.cpp) -### for const diffusion material -set(inc ${inc} include/MateSystem/NonlinearDiffusion2DMaterial.h) -set(src ${src} src/MateSystem/NonlinearDiffusion2DMaterial.cpp) -### -set(inc ${inc} include/MateSystem/DoubleWellPotentialMaterial.h) -set(src ${src} src/MateSystem/DoubleWellPotentialMaterial.cpp) -### for elastic/plastic material -set(inc ${inc} include/MateSystem/ElasticMaterialBase.h) -set(inc ${inc} include/MateSystem/PlasticMaterialBase.h) -### for linear elastic material -set(inc ${inc} include/MateSystem/LinearElasticMaterial.h) -set(src ${src} src/MateSystem/LinearElasticMaterial.cpp) -### for saint venant hyperelastic material -set(inc ${inc} include/MateSystem/SaintVenantMaterial.h) -set(src ${src} src/MateSystem/SaintVenantMaterial.cpp) -### for saint venant hyperelastic material -set(inc ${inc} include/MateSystem/NeoHookeanMaterial.h) -set(src ${src} src/MateSystem/NeoHookeanMaterial.cpp) -### for elastoplastic material -set(inc ${inc} include/MateSystem/SmallStrainJ2PlasticityMaterial.h) -set(src ${src} src/MateSystem/SmallStrainJ2PlasticityMaterial.cpp) -### -set(inc ${inc} include/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.h) -set(src ${src} src/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.cpp) -### for free energy material -set(inc ${inc} include/MateSystem/FreeEnergyMaterialBase.h) -### -set(inc ${inc} include/MateSystem/BinaryMixtureMaterial.h) -set(src ${src} src/MateSystem/BinaryMixtureMaterial.cpp) -### kobayasi dendrite material -set(inc ${inc} include/MateSystem/KobayashiDendriteMaterial.h) -set(src ${src} src/MateSystem/KobayashiDendriteMaterial.cpp) -### for coupled materials -set(inc ${inc} include/MateSystem/SmallStrainDiffusionMaterial.h) -set(src ${src} src/MateSystem/SmallStrainDiffusionMaterial.cpp) -### -set(inc ${inc} include/MateSystem/LinearElasticFractureMaterial.h) -set(src ${src} src/MateSystem/LinearElasticFractureMaterial.cpp) -### -set(inc ${inc} include/MateSystem/MieheFractureMaterial.h) -set(src ${src} src/MateSystem/MieheFractureMaterial.cpp) -### -set(inc ${inc} include/MateSystem/NeoHookeanPFFractureMaterial.h) -set(src ${src} src/MateSystem/NeoHookeanPFFractureMaterial.cpp) -### -set(inc ${inc} include/MateSystem/SmallStrainCahnHilliardMaterial.h) -set(src ${src} src/MateSystem/SmallStrainCahnHilliardMaterial.cpp) -### -set(inc ${inc} include/MateSystem/SmallStrainDiffusionJ2Material.h) -set(src ${src} src/MateSystem/SmallStrainDiffusionJ2Material.cpp) -### -set(inc ${inc} include/MateSystem/DiffusionACFractureMaterial.h) -set(src ${src} src/MateSystem/DiffusionACFractureMaterial.cpp) -### User-1 material -set(inc ${inc} include/MateSystem/User1Material.h) -set(src ${src} src/MateSystem/User1Material.cpp) -### for material system -set(inc ${inc} include/MateSystem/MateSystem.h) -set(src ${src} src/MateSystem/MateSystem.cpp) - -############################################################# -### For FE space class ### -############################################################# -set(inc ${inc} include/FE/FE.h) -set(src ${src} src/FE/FE.cpp) -#################################### -# for shape function data -#################################### -set(inc ${inc} include/FE/ShapeFunType.h) -### for 1d shape function base -set(inc ${inc} include/FE/ShapeFun1DBase.h) -### for 1d shape function edge2 -set(inc ${inc} include/FE/ShapeFun1DEdge2.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun1DEdge2.cpp) -### for 1d shape function edge3 -set(inc ${inc} include/FE/ShapeFun1DEdge3.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun1DEdge3.cpp) -### for 1d shape function edge4 -set(inc ${inc} include/FE/ShapeFun1DEdge4.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun1DEdge4.cpp) -### for 1d shape functions -set(inc ${inc} include/FE/ShapeFun1D.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun1D.cpp) -##################################### -### for 2d shape function -##################################### -set(inc ${inc} include/FE/ShapeFun2DBase.h) -### for 2d tri3 shape function -set(inc ${inc} include/FE/ShapeFun2DTri3.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun2DTri3.cpp) -### for 2d tri6 shape function -set(inc ${inc} include/FE/ShapeFun2DTri6.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun2DTri6.cpp) -### for 2d quad4 shape function -set(inc ${inc} include/FE/ShapeFun2DQuad4.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun2DQuad4.cpp) -### for 2d quad8 shape function -set(inc ${inc} include/FE/ShapeFun2DQuad8.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun2DQuad8.cpp) -### for 2d quad9 shape function -set(inc ${inc} include/FE/ShapeFun2DQuad9.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun2DQuad9.cpp) -### for 2d shape function -set(inc ${inc} include/FE/ShapeFun2D.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun2D.cpp) -##################################### -### for 3d shape function -##################################### -set(inc ${inc} include/FE/ShapeFun3DBase.h) -### for 3d tet4 shape function -set(inc ${inc} include/FE/ShapeFun3DTet4.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun3DTet4.cpp) -### for 3d tet10 shape function -set(inc ${inc} include/FE/ShapeFun3DTet10.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun3DTet10.cpp) -### for 3d hex8 shape function -set(inc ${inc} include/FE/ShapeFun3DHex8.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun3DHex8.cpp) -### for 3d hex20 shape function -set(inc ${inc} include/FE/ShapeFun3DHex20.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun3DHex20.cpp) -### for 3d hex27 shape function -set(inc ${inc} include/FE/ShapeFun3DHex27.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun3DHex27.cpp) -### for 3d shape function -set(inc ${inc} include/FE/ShapeFun3D.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun3D.cpp) -##################################### -### for user-defined shape functions -##################################### -set(inc ${inc} include/FE/ShapeFunUserBase.h) -### user1 shape function -set(inc ${inc} include/FE/ShapeFunUser1.h) -set(src ${src} src/FE/ShapeFuns/ShapeFunUser1.cpp) -### user2 shape function -set(inc ${inc} include/FE/ShapeFunUser2.h) -set(src ${src} src/FE/ShapeFuns/ShapeFunUser2.cpp) -### user3 shape function -set(inc ${inc} include/FE/ShapeFunUser3.h) -set(src ${src} src/FE/ShapeFuns/ShapeFunUser3.cpp) -### user4 shape function -set(inc ${inc} include/FE/ShapeFunUser4.h) -set(src ${src} src/FE/ShapeFuns/ShapeFunUser4.cpp) -### user5 shape function -set(inc ${inc} include/FE/ShapeFunUser5.h) -set(src ${src} src/FE/ShapeFuns/ShapeFunUser5.cpp) -### user shape function -set(inc ${inc} include/FE/ShapeFunUser.h) -set(src ${src} src/FE/ShapeFuns/ShapeFunUser.cpp) -### for general shape functions -set(inc ${inc} include/FE/ShapeFun.h) -set(src ${src} src/FE/ShapeFuns/ShapeFun.cpp) -set(src ${src} src/FE/ShapeFuns/ShapeFunCalc.cpp) -#################################### -# for QPoint classes -#################################### -set(inc ${inc} include/FE/QPointType.h) -set(inc ${inc} include/FE/QPointGeneratorBase.h) -### for 1d qpoint generator -set(inc ${inc} include/FE/QPoint1DGenerator.h) -set(src ${src} src/FE/QPoints/QPoint1DGenerator.cpp) -### for 2d qpoint generator -set(inc ${inc} include/FE/QPoint2DGenerator.h) -set(src ${src} src/FE/QPoints/QPoint2DGenerator.cpp) -### for 3d qpoint generator -set(inc ${inc} include/FE/QPoint3DGenerator.h) -set(src ${src} src/FE/QPoints/QPoint3DGenerator.cpp) -### for 1d lobatto generator -set(inc ${inc} include/FE/QPoint1DLobattoGenerator.h) -set(src ${src} src/FE/QPoints/QPoint1DLobattoGenerator.cpp) -### for 2d lobatto generator -set(inc ${inc} include/FE/QPoint2DLobattoGenerator.h) -set(src ${src} src/FE/QPoints/QPoint2DLobattoGenerator.cpp) -### for 3d lobatto generator -set(inc ${inc} include/FE/QPoint3DLobattoGenerator.h) -set(src ${src} src/FE/QPoints/QPoint3DLobattoGenerator.cpp) -### for user-defined qpoint generation -set(inc ${inc} include/FE/QPointUserGeneratorBase.h) -### for user-1 qpoints generator -set(inc ${inc} include/FE/QPointUser1Generator.h) -set(src ${src} src/FE/QPoints/QPointUser1Generator.cpp) -### for user-2 qpoints generator -set(inc ${inc} include/FE/QPointUser2Generator.h) -set(src ${src} src/FE/QPoints/QPointUser2Generator.cpp) -### for user-3 qpoints generator -set(inc ${inc} include/FE/QPointUser3Generator.h) -set(src ${src} src/FE/QPoints/QPointUser3Generator.cpp) -### for user-4 qpoints generator -set(inc ${inc} include/FE/QPointUser4Generator.h) -set(src ${src} src/FE/QPoints/QPointUser4Generator.cpp) -### for user-5 qpoints generator -set(inc ${inc} include/FE/QPointUser5Generator.h) -set(src ${src} src/FE/QPoints/QPointUser5Generator.cpp) -### for final gauss point class -set(inc ${inc} include/FE/QPoint.h) -set(src ${src} src/FE/QPoints/QPoint.cpp) - -############################################################# -### For FESystem class ### -############################################################# -set(inc ${inc} include/FESystem/FECalcType.h) -set(inc ${inc} include/FESystem/FESystem.h) -### for bulk FE system -set(inc ${inc} include/FESystem/BulkFESystem.h) -set(src ${src} src/FESystem/BulkFESystem.cpp) -set(src ${src} src/FESystem/BulkFESystemInit.cpp) -set(src ${src} src/FESystem/FormBulkFE.cpp) -set(src ${src} src/FESystem/BulkFESystemAssemble.cpp) -### for FE system -set(src ${src} src/FESystem/FESystem.cpp) - -############################################################# -### For Projection system ### -############################################################# -set(inc ${inc} include/ProjectionSystem/ProjectionType.h) -set(inc ${inc} include/ProjectionSystem/ProjectionData.h) -set(inc ${inc} include/ProjectionSystem/ProjectionBase.h) -set(inc ${inc} include/ProjectionSystem/ProjectionSystem.h) -### for leastsquare projection -set(inc ${inc} include/ProjectionSystem/LeastSquareProjection.h) -set(src ${src} src/ProjectionSystem/LeastSquareProjection.cpp) -### -set(src ${src} src/ProjectionSystem/ProjectionSystem.cpp) -set(src ${src} src/ProjectionSystem/Projection.cpp) -set(src ${src} src/ProjectionSystem/ProjectionLibs.cpp) -set(src ${src} src/ProjectionSystem/ProjectionGettings.cpp) - -############################################################# -### For Equation class ### -############################################################# -set(inc ${inc} include/EquationSystem/EquationSystem.h) -set(src ${src} src/EquationSystem/EquationSystem.cpp) - -############################################################# -### For Solution class ### -############################################################# -set(inc ${inc} include/SolutionSystem/SolutionSystem.h) -set(src ${src} src/SolutionSystem/SolutionSystem.cpp) -set(src ${src} src/SolutionSystem/SolutionSystemInit.cpp) -set(src ${src} src/SolutionSystem/SolutionUpdate.cpp) - -############################################################# -### For Nonlinear solver class ### -############################################################# -set(inc ${inc} include/NonlinearSolver/NonlinearSolverBase.h) -set(inc ${inc} include/NonlinearSolver/NonlinearSolverType.h) -set(inc ${inc} include/NonlinearSolver/NonlinearSolverBlock.h) -### for SNES solver -set(inc ${inc} include/NonlinearSolver/SNESSolver.h) -set(src ${src} src/NonlinearSolver/SNESSolver.cpp) -set(src ${src} src/NonlinearSolver/SNESSolve.cpp) -### -set(inc ${inc} include/NonlinearSolver/NonlinearSolver.h) -set(src ${src} src/NonlinearSolver/NonlinearSolver.cpp) - -############################################################# -### For Timesteppinig class ### -############################################################# -set(inc ${inc} include/TimeStepping/TimeSteppingType.h) -set(inc ${inc} include/TimeStepping/TimeSteppingData.h) -set(inc ${inc} include/TimeStepping/TimeSteppingTool.h) -### -set(inc ${inc} include/TimeStepping/TimeStepping.h) -set(src ${src} src/TimeStepping/TimeStepping.cpp) -set(src ${src} src/TimeStepping/TimeSteppingSolve.cpp) - -############################################################# -### For Result output class ### -############################################################# -set(inc ${inc} include/OutputSystem/ResultWriterBase.h) -set(inc ${inc} include/OutputSystem/ResultFileFormat.h) -set(inc ${inc} include/OutputSystem/OutputSystem.h) -set(src ${src} src/OutputSystem/OutputSystem.cpp) -set(src ${src} src/OutputSystem/SaveResults.cpp) -### for vtu format -set(inc ${inc} include/OutputSystem/VTUWriter.h) -set(src ${src} src/OutputSystem/VTUWriter.cpp) - - -############################################################# -### For Postprocessor class ### -############################################################# -set(inc ${inc} include/Postprocess/Postprocessor.h) -set(inc ${inc} include/Postprocess/PostprocessorBlock.h) -set(inc ${inc} include/Postprocess/PostprocessorType.h) -set(src ${src} src/Postprocess/Postprocessor.cpp) -set(src ${src} src/Postprocess/SavePostprocessResults.cpp) -set(src ${src} src/Postprocess/ExecutePostprocess.cpp) -### -set(inc ${inc} include/Postprocess/NodalPostprocessorBase.h) -### -set(inc ${inc} include/Postprocess/NodalValuePostprocessor.h) -set(src ${src} src/Postprocess/NodalValuePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/NodalScalarMatePostprocessor.h) -set(src ${src} src/Postprocess/NodalScalarMatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/NodalVectorMatePostprocessor.h) -set(src ${src} src/Postprocess/NodalVectorMatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/NodalRank2MatePostprocessor.h) -set(src ${src} src/Postprocess/NodalRank2MatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/NodalRank4MatePostprocessor.h) -set(src ${src} src/Postprocess/NodalRank4MatePostprocessor.cpp) -### -set(src ${src} src/Postprocess/ExecuteNodalPostprocess.cpp) -### -set(inc ${inc} include/Postprocess/SideIntegralPostprocessorBase.h) -set(src ${src} src/Postprocess/ExecuteSideIntegralPostprocess.cpp) -### -set(src ${src} src/Postprocess/RunSideIntegralPostprocessLibs.cpp) -### -set(inc ${inc} include/Postprocess/SideIntegralValuePostprocessor.h) -set(src ${src} src/Postprocess/SideIntegralValuePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/AreaPostprocessor.h) -set(src ${src} src/Postprocess/AreaPostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/SideIntegralScalarMatePostprocessor.h) -set(src ${src} src/Postprocess/SideIntegralScalarMatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/SideIntegralVectorMatePostprocessor.h) -set(src ${src} src/Postprocess/SideIntegralVectorMatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/SideIntegralRank2MatePostprocessor.h) -set(src ${src} src/Postprocess/SideIntegralRank2MatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/SideIntegralRank4MatePostprocessor.h) -set(src ${src} src/Postprocess/SideIntegralRank4MatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/User1SideIntegralPostprocessor.h) -set(src ${src} src/Postprocess/User1SideIntegralPostprocessor.cpp) -### for volume integral pps -set(inc ${inc} include/Postprocess/VolumeIntegralPostprocessorBase.h) -### -set(inc ${inc} include/Postprocess/VolumePostprocessor.h) -set(src ${src} src/Postprocess/VolumePostprocessor.cpp) -### -set(src ${src} src/Postprocess/RunVolumeIntegralPostprocessLibs.cpp) -set(src ${src} src/Postprocess/ExecuteVolumeIntegralPostprocess.cpp) -### -set(inc ${inc} include/Postprocess/VolumeIntegralValuePostprocessor.h) -set(src ${src} src/Postprocess/VolumeIntegralValuePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/VolumeIntegralScalarMatePostprocessor.h) -set(src ${src} src/Postprocess/VolumeIntegralScalarMatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/VolumeIntegralVectorMatePostprocessor.h) -set(src ${src} src/Postprocess/VolumeIntegralVectorMatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/VolumeIntegralRank2MatePostprocessor.h) -set(src ${src} src/Postprocess/VolumeIntegralRank2MatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/VolumeIntegralRank4MatePostprocessor.h) -set(src ${src} src/Postprocess/VolumeIntegralRank4MatePostprocessor.cpp) -### -set(inc ${inc} include/Postprocess/User1VolumeIntegralPostprocessor.h) -set(src ${src} src/Postprocess/User1VolumeIntegralPostprocessor.cpp) - -############################################################# -### For FEProblem class ### -############################################################# -set(inc ${inc} include/FEProblem/FEProblem.h) -set(inc ${inc} include/FEProblem/FEControlInfo.h) -set(inc ${inc} include/FEProblem/FEJobType.h) -set(inc ${inc} include/FEProblem/FEJobBlock.h) -set(src ${src} src/FEProblem/FEProblem.cpp) -set(src ${src} src/FEProblem/RunFEProblem.cpp) -set(src ${src} src/FEProblem/RunStaticAnalysis.cpp) -set(src ${src} src/FEProblem/RunTransientAnalysis.cpp) +include(SourceCode.cmake) ################################################## add_executable(asfem ${inc} ${src}) @@ -866,21 +182,4 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release") endif() endif() -################################################## -### for test -################################################## -enable_testing (test) -### for tutorial -add_test (NAME step2-2d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/examples/tutorial/step2-2d.json") -add_test (NAME step2-3d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/examples/tutorial/step2-2d.json") -add_test (NAME step3-2d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/examples/tutorial/step3-2d.json") -add_test (NAME step3-3d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/examples/tutorial/step3-3d.json") -### for test_input -add_test (NAME mesh1d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/mesh/mesh1d.json --read-only") -add_test (NAME mesh2d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/mesh/mesh2d.json --read-only") -add_test (NAME mesh3d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/mesh/mesh3d.json --read-only") -add_test (NAME bcs COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/bcs/poisson-2d-mixed.json") -add_test (NAME importmesh2 COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/importmesh/poisson-msh2-2d.json") -add_test (NAME importmesh4 COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/importmesh/poisson-msh4-2d.json") -add_test (NAME postprocess COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/postprocess/poisson-2d-pps.json") -add_test (NAME postprocess-sinxy COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/postprocess/sinxy-integration.json") +include(Test.cmake) \ No newline at end of file diff --git a/SourceCode.cmake b/SourceCode.cmake new file mode 100644 index 00000000..1a928946 --- /dev/null +++ b/SourceCode.cmake @@ -0,0 +1,685 @@ +############################################################# +############################################################# +### For beginners, please don't edit the following line! ### +### Do not edit the following lines !!! ### +### Do not edit the following lines !!! ### +### Do not edit the following lines !!! ### +############################################################# +############################################################# +# For Welcome header file and main.cpp +set(inc include/Welcome.h) +set(src src/main.cpp) + +############################################################# +### For message printer utils ### +############################################################# +set(inc ${inc} include/Utils/MessagePrinter.h include/Utils/MessageColor.h) +set(src ${src} src/Utils/MessagePrinter.cpp) + +############################################################# +### For string utils ### +############################################################# +set(inc ${inc} include/Utils/StringUtils.h) +set(src ${src} src/Utils/StringUtils.cpp) + +############################################################# +### For json utils ### +############################################################# +set(inc ${inc} include/Utils/JsonUtils.h) +set(src ${src} src/Utils/JsonUtils.cpp) + +############################################################# +### For timer ### +############################################################# +set(inc ${inc} include/Utils/Timer.h) +set(src ${src} src/Utils/Timer.cpp) + +############################################################# +### For mathematic utils ### +############################################################# +set(inc ${inc} include/MathUtils/Vector3d.h) +set(src ${src} src/MathUtils/Vector3d.cpp) +set(inc ${inc} include/MathUtils/VectorXd.h) +set(src ${src} src/MathUtils/VectorXd.cpp) +set(inc ${inc} include/MathUtils/MatrixXd.h) +set(src ${src} src/MathUtils/MatrixXd.cpp) +### for PETSc vector +set(inc ${inc} include/MathUtils/Vector.h) +set(src ${src} src/MathUtils/Vector.cpp) +### for PETSc's sparse matrix +set(inc ${inc} include/MathUtils/SparseMatrix.h) +set(src ${src} src/MathUtils/SparseMatrix.cpp) +### for rank-2 tensor +set(inc ${inc} include/MathUtils/Rank2Tensor.h) +set(src ${src} src/MathUtils/Rank2Tensor.cpp) +### for rank-4 tensor +set(inc ${inc} include/MathUtils/Rank4Tensor.h) +set(src ${src} src/MathUtils/Rank4Tensor.cpp) +### for general math funs +set(inc ${inc} include/MathUtils/MathFuns.h) +set(src ${src} src/MathUtils/MathFuns.cpp) + + +############################################################# +### For mesh class ### +############################################################# +### for nodes +set(inc ${inc} include/Mesh/Nodes.h) +### for mesh type +set(inc ${inc} include/Mesh/MeshType.h) +### for mesh structure data +set(inc ${inc} include/Mesh/MeshData.h) +### for mesh generator class +set(inc ${inc} include/Mesh/MeshGeneratorBase.h) +### for 1d mesh generator class +set(inc ${inc} include/Mesh/Lagrange1DMeshGenerator.h) +set(src ${src} src/Mesh/Lagrange1DMeshGenerator.cpp) +### for 2d mesh generator class +set(inc ${inc} include/Mesh/Lagrange2DMeshGenerator.h) +set(src ${src} src/Mesh/Lagrange2DMeshGenerator.cpp) +### for 3d mesh generator class +set(inc ${inc} include/Mesh/Lagrange3DMeshGenerator.h) +set(src ${src} src/Mesh/Lagrange3DMeshGenerator.cpp) +### for general mesh generator class +set(inc ${inc} include/Mesh/MeshGenerator.h) +set(src ${src} src/Mesh/MeshGenerator.cpp) +### for bulk mesh +set(inc ${inc} include/Mesh/BulkMesh.h) +set(src ${src} src/Mesh/BulkMesh.cpp) +set(src ${src} src/Mesh/SaveMesh.cpp) +set(src ${src} src/Mesh/PrintMesh.cpp) +### for the final mesh +set(inc ${inc} include/Mesh/Mesh.h) +### utils for msh file +set(inc ${inic} include/Mesh/MshFileUtils.h) +set(src ${src} src/Mesh/MshFileUtils.cpp) +### for msh2 file +set(inc ${inc} include/Mesh/Msh2FileImporter.h) +set(src ${src} src/Mesh/Msh2FileImporter.cpp) +### for msh2 file +set(inc ${inc} include/Mesh/Msh4FileImporter.h) +set(src ${src} src/Mesh/Msh4FileImporter.cpp) +### for gmsh2 file +set(inc ${inc} include/Mesh/Gmsh2FileImporter.h) +set(src ${src} src/Mesh/Gmsh2FileImporter.cpp) +### for MeshIO +set(inc ${inc} include/Mesh/MeshFileImporterBase.h) +set(inc ${inc} include/Mesh/MeshFileImporter.h) +set(src ${src} src/Mesh/MeshFileImporter.cpp) + + +############################################################# +### For inputystem ### +############################################################# +set(inc ${inc} include/InputSystem/InputSystem.h) +set(src ${src} src/InputSystem/InputSystem.cpp) +set(src ${src} src/InputSystem/ReadInputFile.cpp) +### for mesh block +set(src ${src} src/InputSystem/ReadMeshBlock.cpp) +### for dofs block +set(src ${src} src/InputSystem/ReadDofsBlock.cpp) +### for dofs block +set(src ${src} src/InputSystem/ReadElmtsBlock.cpp) +### for qpoint block +set(src ${src} src/InputSystem/ReadQPointBlock.cpp) +### for shapefunction block +set(src ${src} src/InputSystem/ReadShapeFunBlock.cpp) +### for boundary condition block +set(src ${src} src/InputSystem/ReadBCsBlock.cpp) +### for initial condition block +set(src ${src} src/InputSystem/ReadICsBlock.cpp) +### for projection condition block +set(src ${src} src/InputSystem/ReadProjectionBlock.cpp) +### for nonlinear solver block +set(src ${src} src/InputSystem/ReadNLSolverBlock.cpp) +### for nonlinear solver block +set(src ${src} src/InputSystem/ReadTimeSteppingBlock.cpp) +### for output block +set(src ${src} src/InputSystem/ReadOutputBlock.cpp) +### for postprocess block +set(src ${src} src/InputSystem/ReadPostprocessBlock.cpp) +### for job block +set(src ${src} src/InputSystem/ReadJobBlock.cpp) + + +############################################################# +### For dof handlers ### +############################################################# +set(inc ${inc} include/DofHandler/DofHandler.h) +### for bulk dofHandler +set(inc ${inc} include/DofHandler/BulkDofHandler.h) +set(src ${src} src/DofHandler/BulkDofHandler.cpp) +set(src ${src} src/DofHandler/BulkDofHandlerSettings.cpp) +set(src ${src} src/DofHandler/CreateBulkDofsMap.cpp) + +############################################################# +### For boundary conditions ### +############################################################# +set(inc ${inc} include/BCSystem/BCType.h) +set(inc ${inc} include/BCSystem/BCBlock.h) +set(inc ${inc} include/BCSystem/BCSystem.h) +set(src ${src} src/BCSystem/BCSystem.cpp) +set(src ${src} src/BCSystem/ApplyBoundaryConditions.cpp) +set(src ${src} src/BCSystem/RunBCLibs.cpp) +set(src ${src} src/BCSystem/BCSystemAssemble.cpp) +### for dirichlet bcs +set(inc ${inc} include/BCSystem/DirichletBCBase.h) +### +set(inc ${inc} include/BCSystem/DirichletBC.h) +set(src ${src} src/BCSystem/DirichletBC.cpp) +### +set(inc ${inc} include/BCSystem/RotatedDirichletBC.h) +set(src ${src} src/BCSystem/RotatedDirichletBC.cpp) +### +set(inc ${inc} include/BCSystem/User1DirichletBC.h) +set(src ${src} src/BCSystem/User1DirichletBC.cpp) +### +set(inc ${inc} include/BCSystem/User2DirichletBC.h) +set(src ${src} src/BCSystem/User2DirichletBC.cpp) +### +set(inc ${inc} include/BCSystem/User3DirichletBC.h) +set(src ${src} src/BCSystem/User3DirichletBC.cpp) +### +set(inc ${inc} include/BCSystem/User4DirichletBC.h) +set(src ${src} src/BCSystem/User4DirichletBC.cpp) +### +set(inc ${inc} include/BCSystem/User5DirichletBC.h) +set(src ${src} src/BCSystem/User5DirichletBC.cpp) +### +set(inc ${inc} include/BCSystem/Poisson2DBenchmarkBC.h) +set(src ${src} src/BCSystem/Poisson2DBenchmarkBC.cpp) +### +set(src ${src} src/BCSystem/ApplyDirichletBC.cpp) +### for integrated bcs +set(src ${src} src/BCSystem/ApplyIntegratedBC.cpp) +set(inc ${inc} include/BCSystem/IntegrateBCBase.h) +### +set(inc ${inc} include/BCSystem/NeumannBC.h) +set(src ${src} src/BCSystem/NeumannBC.cpp) +### for pressure bc +set(inc ${inc} include/BCSystem/PressureBC.h) +set(src ${src} src/BCSystem/PressureBC.cpp) +### for traction bc +set(inc ${inc} include/BCSystem/TractionBC.h) +set(src ${src} src/BCSystem/TractionBC.cpp) + + +############################################################# +### For initial conditions ### +############################################################# +set(inc ${inc} include/ICSystem/ICType.h) +set(inc ${inc} include/ICSystem/ICBlock.h) +### ic base class +set(inc ${inc} include/ICSystem/InitialConditionBase.h) +### for constant ic +set(inc ${inc} include/ICSystem/ConstantIC.h) +set(src ${src} src/ICSystem/ConstantIC.cpp) +### +set(inc ${inc} include/ICSystem/RandomIC.h) +set(src ${src} src/ICSystem/RandomIC.cpp) +### +set(inc ${inc} include/ICSystem/CircleIC.h) +set(src ${src} src/ICSystem/CircleIC.cpp) +### +set(inc ${inc} include/ICSystem/ICSystem.h) +set(src ${src} src/ICSystem/ICSystem.cpp) +set(src ${src} src/ICSystem/ApplyInitialConditions.cpp) +set(src ${src} src/ICSystem/RunICLibs.cpp) + +############################################################# +### For element system ### +############################################################# +set(inc ${inc} include/ElmtSystem/ElmtType.h) +set(inc ${inc} include/ElmtSystem/ElmtBlock.h) +set(inc ${inc} include/ElmtSystem/LocalElmtData.h) +### for bulk element system +set(inc ${inc} include/ElmtSystem/BulkElmtSystem.h) +set(src ${src} src/ElmtSystem/BulkElmtSystem.cpp) +set(src ${src} src/ElmtSystem/BulkElmtSystemInit.cpp) +set(src ${src} src/ElmtSystem/RunBulkElmtLibs.cpp) +set(inc ${inc} include/ElmtSystem/BulkElmtBase.h) +### for poisson element +set(inc ${inc} include/ElmtSystem/PoissonElement.h) +set(src ${src} src/ElmtSystem/PoissonElement.cpp) +### for diffusion element +set(inc ${inc} include/ElmtSystem/DiffusionElement.h) +set(src ${src} src/ElmtSystem/DiffusionElement.cpp) +### +set(inc ${inc} include/ElmtSystem/AllenCahnElement.h) +set(src ${src} src/ElmtSystem/AllenCahnElement.cpp) +### +set(inc ${inc} include/ElmtSystem/MechanicsElement.h) +set(src ${src} src/ElmtSystem/MechanicsElement.cpp) +### +set(inc ${inc} include/ElmtSystem/CahnHilliardElement.h) +set(src ${src} src/ElmtSystem/CahnHilliardElement.cpp) +### +set(inc ${inc} include/ElmtSystem/KobayashiElement.h) +set(src ${src} src/ElmtSystem/KobayashiElement.cpp) +### +set(inc ${inc} include/ElmtSystem/StressDiffusionElement.h) +set(src ${src} src/ElmtSystem/StressDiffusionElement.cpp) +### +set(inc ${inc} include/ElmtSystem/AllenCahnFractureElement.h) +set(src ${src} src/ElmtSystem/AllenCahnFractureElement.cpp) +### +set(inc ${inc} include/ElmtSystem/MieheFractureElement.h) +set(src ${src} src/ElmtSystem/MieheFractureElement.cpp) +### +set(inc ${inc} include/ElmtSystem/StressCahnHilliardElement.h) +set(src ${src} src/ElmtSystem/StressCahnHilliardElement.cpp) +### for scalar body source element +set(inc ${inc} include/ElmtSystem/ScalarBodySourceElement.h) +set(src ${src} src/ElmtSystem/ScalarBodySourceElement.cpp) +### for laplacian element +set(inc ${inc} include/ElmtSystem/LaplaceElement.h) +set(src ${src} src/ElmtSystem/LaplaceElement.cpp) +### for diffusion allencahn fracture +set(inc ${inc} include/ElmtSystem/DiffusionACFractureElement.h) +set(src ${src} src/ElmtSystem/DiffusionACFractureElement.cpp) +### for element system +set(inc ${inc} include/ElmtSystem/ElmtSystem.h) +set(src ${src} src/ElmtSystem/ElmtSystem.cpp) + +############################################################# +### For material system ### +############################################################# +set(inc ${inc} include/MateSystem/MateType.h) +set(inc ${inc} include/MateSystem/MaterialsName.h) +### for material container +set(inc ${inc} include/MateSystem/MaterialsContainer.h) +set(src ${src} src/MateSystem/MaterialsContainer.cpp) +### for bulk material system +set(inc ${inc} include/MateSystem/BulkMateSystem.h) +set(inc ${inc} include/MateSystem/BulkMaterialBase.h) +set(src ${src} src/MateSystem/BulkMateSystem.cpp) +set(src ${src} src/MateSystem/InitBulkMateLibs.cpp) +set(src ${src} src/MateSystem/RunBulkMateLibs.cpp) +### for poisson material +set(inc ${inc} include/MateSystem/ConstPoissonMaterial.h) +set(src ${src} src/MateSystem/ConstPoissonMaterial.cpp) +### for poisson 1d+2d benchmark material +set(inc ${inc} include/MateSystem/Poisson1DBenchmarkMaterial.h) +set(src ${src} src/MateSystem/Poisson1DBenchmarkMaterial.cpp) +set(inc ${inc} include/MateSystem/Poisson2DBenchmarkMaterial.h) +set(src ${src} src/MateSystem/Poisson2DBenchmarkMaterial.cpp) +### for nonlinear poisson2d material +set(inc ${inc} include/MateSystem/NonlinearPoisson2DMaterial.h) +set(src ${src} src/MateSystem/NonlinearPoisson2DMaterial.cpp) +### for nonlinear poisson3d material +set(inc ${inc} include/MateSystem/NonlinearPoisson3DMaterial.h) +set(src ${src} src/MateSystem/NonlinearPoisson3DMaterial.cpp) +### for const diffusion material +set(inc ${inc} include/MateSystem/ConstDiffusionMaterial.h) +set(src ${src} src/MateSystem/ConstDiffusionMaterial.cpp) +### for const diffusion material +set(inc ${inc} include/MateSystem/NonlinearDiffusion2DMaterial.h) +set(src ${src} src/MateSystem/NonlinearDiffusion2DMaterial.cpp) +### +set(inc ${inc} include/MateSystem/DoubleWellPotentialMaterial.h) +set(src ${src} src/MateSystem/DoubleWellPotentialMaterial.cpp) +### for elastic/plastic material +set(inc ${inc} include/MateSystem/ElasticMaterialBase.h) +set(inc ${inc} include/MateSystem/PlasticMaterialBase.h) +### for linear elastic material +set(inc ${inc} include/MateSystem/LinearElasticMaterial.h) +set(src ${src} src/MateSystem/LinearElasticMaterial.cpp) +### for saint venant hyperelastic material +set(inc ${inc} include/MateSystem/SaintVenantMaterial.h) +set(src ${src} src/MateSystem/SaintVenantMaterial.cpp) +### for saint venant hyperelastic material +set(inc ${inc} include/MateSystem/NeoHookeanMaterial.h) +set(src ${src} src/MateSystem/NeoHookeanMaterial.cpp) +### for elastoplastic material +set(inc ${inc} include/MateSystem/SmallStrainJ2PlasticityMaterial.h) +set(src ${src} src/MateSystem/SmallStrainJ2PlasticityMaterial.cpp) +### +set(inc ${inc} include/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.h) +set(src ${src} src/MateSystem/SmallStrainExpLawJ2PlasticityMaterial.cpp) +### for free energy material +set(inc ${inc} include/MateSystem/FreeEnergyMaterialBase.h) +### +set(inc ${inc} include/MateSystem/BinaryMixtureMaterial.h) +set(src ${src} src/MateSystem/BinaryMixtureMaterial.cpp) +### kobayasi dendrite material +set(inc ${inc} include/MateSystem/KobayashiDendriteMaterial.h) +set(src ${src} src/MateSystem/KobayashiDendriteMaterial.cpp) +### for coupled materials +set(inc ${inc} include/MateSystem/SmallStrainDiffusionMaterial.h) +set(src ${src} src/MateSystem/SmallStrainDiffusionMaterial.cpp) +### +set(inc ${inc} include/MateSystem/LinearElasticFractureMaterial.h) +set(src ${src} src/MateSystem/LinearElasticFractureMaterial.cpp) +### +set(inc ${inc} include/MateSystem/MieheFractureMaterial.h) +set(src ${src} src/MateSystem/MieheFractureMaterial.cpp) +### +set(inc ${inc} include/MateSystem/NeoHookeanPFFractureMaterial.h) +set(src ${src} src/MateSystem/NeoHookeanPFFractureMaterial.cpp) +### +set(inc ${inc} include/MateSystem/SmallStrainCahnHilliardMaterial.h) +set(src ${src} src/MateSystem/SmallStrainCahnHilliardMaterial.cpp) +### +set(inc ${inc} include/MateSystem/SmallStrainDiffusionJ2Material.h) +set(src ${src} src/MateSystem/SmallStrainDiffusionJ2Material.cpp) +### +set(inc ${inc} include/MateSystem/DiffusionACFractureMaterial.h) +set(src ${src} src/MateSystem/DiffusionACFractureMaterial.cpp) +### User-1 material +set(inc ${inc} include/MateSystem/User1Material.h) +set(src ${src} src/MateSystem/User1Material.cpp) +### for material system +set(inc ${inc} include/MateSystem/MateSystem.h) +set(src ${src} src/MateSystem/MateSystem.cpp) + +############################################################# +### For FE space class ### +############################################################# +set(inc ${inc} include/FE/FE.h) +set(src ${src} src/FE/FE.cpp) +#################################### +# for shape function data +#################################### +set(inc ${inc} include/FE/ShapeFunType.h) +### for 1d shape function base +set(inc ${inc} include/FE/ShapeFun1DBase.h) +### for 1d shape function edge2 +set(inc ${inc} include/FE/ShapeFun1DEdge2.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun1DEdge2.cpp) +### for 1d shape function edge3 +set(inc ${inc} include/FE/ShapeFun1DEdge3.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun1DEdge3.cpp) +### for 1d shape function edge4 +set(inc ${inc} include/FE/ShapeFun1DEdge4.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun1DEdge4.cpp) +### for 1d shape functions +set(inc ${inc} include/FE/ShapeFun1D.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun1D.cpp) +##################################### +### for 2d shape function +##################################### +set(inc ${inc} include/FE/ShapeFun2DBase.h) +### for 2d tri3 shape function +set(inc ${inc} include/FE/ShapeFun2DTri3.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun2DTri3.cpp) +### for 2d tri6 shape function +set(inc ${inc} include/FE/ShapeFun2DTri6.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun2DTri6.cpp) +### for 2d quad4 shape function +set(inc ${inc} include/FE/ShapeFun2DQuad4.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun2DQuad4.cpp) +### for 2d quad8 shape function +set(inc ${inc} include/FE/ShapeFun2DQuad8.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun2DQuad8.cpp) +### for 2d quad9 shape function +set(inc ${inc} include/FE/ShapeFun2DQuad9.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun2DQuad9.cpp) +### for 2d shape function +set(inc ${inc} include/FE/ShapeFun2D.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun2D.cpp) +##################################### +### for 3d shape function +##################################### +set(inc ${inc} include/FE/ShapeFun3DBase.h) +### for 3d tet4 shape function +set(inc ${inc} include/FE/ShapeFun3DTet4.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun3DTet4.cpp) +### for 3d tet10 shape function +set(inc ${inc} include/FE/ShapeFun3DTet10.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun3DTet10.cpp) +### for 3d hex8 shape function +set(inc ${inc} include/FE/ShapeFun3DHex8.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun3DHex8.cpp) +### for 3d hex20 shape function +set(inc ${inc} include/FE/ShapeFun3DHex20.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun3DHex20.cpp) +### for 3d hex27 shape function +set(inc ${inc} include/FE/ShapeFun3DHex27.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun3DHex27.cpp) +### for 3d shape function +set(inc ${inc} include/FE/ShapeFun3D.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun3D.cpp) +##################################### +### for user-defined shape functions +##################################### +set(inc ${inc} include/FE/ShapeFunUserBase.h) +### user1 shape function +set(inc ${inc} include/FE/ShapeFunUser1.h) +set(src ${src} src/FE/ShapeFuns/ShapeFunUser1.cpp) +### user2 shape function +set(inc ${inc} include/FE/ShapeFunUser2.h) +set(src ${src} src/FE/ShapeFuns/ShapeFunUser2.cpp) +### user3 shape function +set(inc ${inc} include/FE/ShapeFunUser3.h) +set(src ${src} src/FE/ShapeFuns/ShapeFunUser3.cpp) +### user4 shape function +set(inc ${inc} include/FE/ShapeFunUser4.h) +set(src ${src} src/FE/ShapeFuns/ShapeFunUser4.cpp) +### user5 shape function +set(inc ${inc} include/FE/ShapeFunUser5.h) +set(src ${src} src/FE/ShapeFuns/ShapeFunUser5.cpp) +### user shape function +set(inc ${inc} include/FE/ShapeFunUser.h) +set(src ${src} src/FE/ShapeFuns/ShapeFunUser.cpp) +### for general shape functions +set(inc ${inc} include/FE/ShapeFun.h) +set(src ${src} src/FE/ShapeFuns/ShapeFun.cpp) +set(src ${src} src/FE/ShapeFuns/ShapeFunCalc.cpp) +#################################### +# for QPoint classes +#################################### +set(inc ${inc} include/FE/QPointType.h) +set(inc ${inc} include/FE/QPointGeneratorBase.h) +### for 1d qpoint generator +set(inc ${inc} include/FE/QPoint1DGenerator.h) +set(src ${src} src/FE/QPoints/QPoint1DGenerator.cpp) +### for 2d qpoint generator +set(inc ${inc} include/FE/QPoint2DGenerator.h) +set(src ${src} src/FE/QPoints/QPoint2DGenerator.cpp) +### for 3d qpoint generator +set(inc ${inc} include/FE/QPoint3DGenerator.h) +set(src ${src} src/FE/QPoints/QPoint3DGenerator.cpp) +### for 1d lobatto generator +set(inc ${inc} include/FE/QPoint1DLobattoGenerator.h) +set(src ${src} src/FE/QPoints/QPoint1DLobattoGenerator.cpp) +### for 2d lobatto generator +set(inc ${inc} include/FE/QPoint2DLobattoGenerator.h) +set(src ${src} src/FE/QPoints/QPoint2DLobattoGenerator.cpp) +### for 3d lobatto generator +set(inc ${inc} include/FE/QPoint3DLobattoGenerator.h) +set(src ${src} src/FE/QPoints/QPoint3DLobattoGenerator.cpp) +### for user-defined qpoint generation +set(inc ${inc} include/FE/QPointUserGeneratorBase.h) +### for user-1 qpoints generator +set(inc ${inc} include/FE/QPointUser1Generator.h) +set(src ${src} src/FE/QPoints/QPointUser1Generator.cpp) +### for user-2 qpoints generator +set(inc ${inc} include/FE/QPointUser2Generator.h) +set(src ${src} src/FE/QPoints/QPointUser2Generator.cpp) +### for user-3 qpoints generator +set(inc ${inc} include/FE/QPointUser3Generator.h) +set(src ${src} src/FE/QPoints/QPointUser3Generator.cpp) +### for user-4 qpoints generator +set(inc ${inc} include/FE/QPointUser4Generator.h) +set(src ${src} src/FE/QPoints/QPointUser4Generator.cpp) +### for user-5 qpoints generator +set(inc ${inc} include/FE/QPointUser5Generator.h) +set(src ${src} src/FE/QPoints/QPointUser5Generator.cpp) +### for final gauss point class +set(inc ${inc} include/FE/QPoint.h) +set(src ${src} src/FE/QPoints/QPoint.cpp) + +############################################################# +### For FESystem class ### +############################################################# +set(inc ${inc} include/FESystem/FECalcType.h) +set(inc ${inc} include/FESystem/FESystem.h) +### for bulk FE system +set(inc ${inc} include/FESystem/BulkFESystem.h) +set(src ${src} src/FESystem/BulkFESystem.cpp) +set(src ${src} src/FESystem/BulkFESystemInit.cpp) +set(src ${src} src/FESystem/FormBulkFE.cpp) +set(src ${src} src/FESystem/BulkFESystemAssemble.cpp) +### for FE system +set(src ${src} src/FESystem/FESystem.cpp) + +############################################################# +### For Projection system ### +############################################################# +set(inc ${inc} include/ProjectionSystem/ProjectionType.h) +set(inc ${inc} include/ProjectionSystem/ProjectionData.h) +set(inc ${inc} include/ProjectionSystem/ProjectionBase.h) +set(inc ${inc} include/ProjectionSystem/ProjectionSystem.h) +### for leastsquare projection +set(inc ${inc} include/ProjectionSystem/LeastSquareProjection.h) +set(src ${src} src/ProjectionSystem/LeastSquareProjection.cpp) +### +set(src ${src} src/ProjectionSystem/ProjectionSystem.cpp) +set(src ${src} src/ProjectionSystem/Projection.cpp) +set(src ${src} src/ProjectionSystem/ProjectionLibs.cpp) +set(src ${src} src/ProjectionSystem/ProjectionGettings.cpp) + +############################################################# +### For Equation class ### +############################################################# +set(inc ${inc} include/EquationSystem/EquationSystem.h) +set(src ${src} src/EquationSystem/EquationSystem.cpp) + +############################################################# +### For Solution class ### +############################################################# +set(inc ${inc} include/SolutionSystem/SolutionSystem.h) +set(src ${src} src/SolutionSystem/SolutionSystem.cpp) +set(src ${src} src/SolutionSystem/SolutionSystemInit.cpp) +set(src ${src} src/SolutionSystem/SolutionUpdate.cpp) + +############################################################# +### For Nonlinear solver class ### +############################################################# +set(inc ${inc} include/NonlinearSolver/NonlinearSolverBase.h) +set(inc ${inc} include/NonlinearSolver/NonlinearSolverType.h) +set(inc ${inc} include/NonlinearSolver/NonlinearSolverBlock.h) +### for SNES solver +set(inc ${inc} include/NonlinearSolver/SNESSolver.h) +set(src ${src} src/NonlinearSolver/SNESSolver.cpp) +set(src ${src} src/NonlinearSolver/SNESSolve.cpp) +### +set(inc ${inc} include/NonlinearSolver/NonlinearSolver.h) +set(src ${src} src/NonlinearSolver/NonlinearSolver.cpp) + +############################################################# +### For Timesteppinig class ### +############################################################# +set(inc ${inc} include/TimeStepping/TimeSteppingType.h) +set(inc ${inc} include/TimeStepping/TimeSteppingData.h) +set(inc ${inc} include/TimeStepping/TimeSteppingTool.h) +### +set(inc ${inc} include/TimeStepping/TimeStepping.h) +set(src ${src} src/TimeStepping/TimeStepping.cpp) +set(src ${src} src/TimeStepping/TimeSteppingSolve.cpp) + +############################################################# +### For Result output class ### +############################################################# +set(inc ${inc} include/OutputSystem/ResultWriterBase.h) +set(inc ${inc} include/OutputSystem/ResultFileFormat.h) +set(inc ${inc} include/OutputSystem/OutputSystem.h) +set(src ${src} src/OutputSystem/OutputSystem.cpp) +set(src ${src} src/OutputSystem/SaveResults.cpp) +### for vtu format +set(inc ${inc} include/OutputSystem/VTUWriter.h) +set(src ${src} src/OutputSystem/VTUWriter.cpp) + + +############################################################# +### For Postprocessor class ### +############################################################# +set(inc ${inc} include/Postprocess/Postprocessor.h) +set(inc ${inc} include/Postprocess/PostprocessorBlock.h) +set(inc ${inc} include/Postprocess/PostprocessorType.h) +set(src ${src} src/Postprocess/Postprocessor.cpp) +set(src ${src} src/Postprocess/SavePostprocessResults.cpp) +set(src ${src} src/Postprocess/ExecutePostprocess.cpp) +### +set(inc ${inc} include/Postprocess/NodalPostprocessorBase.h) +### +set(inc ${inc} include/Postprocess/NodalValuePostprocessor.h) +set(src ${src} src/Postprocess/NodalValuePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/NodalScalarMatePostprocessor.h) +set(src ${src} src/Postprocess/NodalScalarMatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/NodalVectorMatePostprocessor.h) +set(src ${src} src/Postprocess/NodalVectorMatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/NodalRank2MatePostprocessor.h) +set(src ${src} src/Postprocess/NodalRank2MatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/NodalRank4MatePostprocessor.h) +set(src ${src} src/Postprocess/NodalRank4MatePostprocessor.cpp) +### +set(src ${src} src/Postprocess/ExecuteNodalPostprocess.cpp) +### +set(inc ${inc} include/Postprocess/SideIntegralPostprocessorBase.h) +set(src ${src} src/Postprocess/ExecuteSideIntegralPostprocess.cpp) +### +set(src ${src} src/Postprocess/RunSideIntegralPostprocessLibs.cpp) +### +set(inc ${inc} include/Postprocess/SideIntegralValuePostprocessor.h) +set(src ${src} src/Postprocess/SideIntegralValuePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/AreaPostprocessor.h) +set(src ${src} src/Postprocess/AreaPostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/SideIntegralScalarMatePostprocessor.h) +set(src ${src} src/Postprocess/SideIntegralScalarMatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/SideIntegralVectorMatePostprocessor.h) +set(src ${src} src/Postprocess/SideIntegralVectorMatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/SideIntegralRank2MatePostprocessor.h) +set(src ${src} src/Postprocess/SideIntegralRank2MatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/SideIntegralRank4MatePostprocessor.h) +set(src ${src} src/Postprocess/SideIntegralRank4MatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/User1SideIntegralPostprocessor.h) +set(src ${src} src/Postprocess/User1SideIntegralPostprocessor.cpp) +### for volume integral pps +set(inc ${inc} include/Postprocess/VolumeIntegralPostprocessorBase.h) +### +set(inc ${inc} include/Postprocess/VolumePostprocessor.h) +set(src ${src} src/Postprocess/VolumePostprocessor.cpp) +### +set(src ${src} src/Postprocess/RunVolumeIntegralPostprocessLibs.cpp) +set(src ${src} src/Postprocess/ExecuteVolumeIntegralPostprocess.cpp) +### +set(inc ${inc} include/Postprocess/VolumeIntegralValuePostprocessor.h) +set(src ${src} src/Postprocess/VolumeIntegralValuePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/VolumeIntegralScalarMatePostprocessor.h) +set(src ${src} src/Postprocess/VolumeIntegralScalarMatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/VolumeIntegralVectorMatePostprocessor.h) +set(src ${src} src/Postprocess/VolumeIntegralVectorMatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/VolumeIntegralRank2MatePostprocessor.h) +set(src ${src} src/Postprocess/VolumeIntegralRank2MatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/VolumeIntegralRank4MatePostprocessor.h) +set(src ${src} src/Postprocess/VolumeIntegralRank4MatePostprocessor.cpp) +### +set(inc ${inc} include/Postprocess/User1VolumeIntegralPostprocessor.h) +set(src ${src} src/Postprocess/User1VolumeIntegralPostprocessor.cpp) + +############################################################# +### For FEProblem class ### +############################################################# +set(inc ${inc} include/FEProblem/FEProblem.h) +set(inc ${inc} include/FEProblem/FEControlInfo.h) +set(inc ${inc} include/FEProblem/FEJobType.h) +set(inc ${inc} include/FEProblem/FEJobBlock.h) +set(src ${src} src/FEProblem/FEProblem.cpp) +set(src ${src} src/FEProblem/RunFEProblem.cpp) +set(src ${src} src/FEProblem/RunStaticAnalysis.cpp) +set(src ${src} src/FEProblem/RunTransientAnalysis.cpp) diff --git a/Test.cmake b/Test.cmake new file mode 100644 index 00000000..38f8cf2d --- /dev/null +++ b/Test.cmake @@ -0,0 +1,18 @@ +################################################## +### for test +################################################## +enable_testing (test) +### for tutorial +add_test (NAME step2-2d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/examples/tutorial/step2-2d.json") +add_test (NAME step2-3d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/examples/tutorial/step2-2d.json") +add_test (NAME step3-2d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/examples/tutorial/step3-2d.json") +add_test (NAME step3-3d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/examples/tutorial/step3-3d.json") +### for test_input +add_test (NAME mesh1d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/mesh/mesh1d.json --read-only") +add_test (NAME mesh2d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/mesh/mesh2d.json --read-only") +add_test (NAME mesh3d COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/mesh/mesh3d.json --read-only") +add_test (NAME bcs COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/bcs/poisson-2d-mixed.json") +add_test (NAME importmesh2 COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/importmesh/poisson-msh2-2d.json") +add_test (NAME importmesh4 COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/importmesh/poisson-msh4-2d.json") +add_test (NAME postprocess COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/postprocess/poisson-2d-pps.json") +add_test (NAME postprocess-sinxy COMMAND asfem "-i" "${CMAKE_CURRENT_SOURCE_DIR}/test_input/postprocess/sinxy-integration.json") \ No newline at end of file diff --git a/scripts/Clean.py b/scripts/Clean.py index 42e0689c..2d6a0abb 100755 --- a/scripts/Clean.py +++ b/scripts/Clean.py @@ -20,7 +20,9 @@ continue #>>> clean files for file in files: - if ('.csv' in file): + if ('source.cmake' in file) or ('Test.cmake' in file): + continue + elif ('.csv' in file): try: csvfile+=1 removepath=subdir+'/'+file From 20cf71f36bef9718ce5c909494e46c7f6cb7f913 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Sun, 7 Jan 2024 16:33:57 +0100 Subject: [PATCH 06/29] start working on mpi mesh --- SourceCode.cmake | 11 + include/FECell/FECell.h | 63 + include/FECell/FECellData.h | 105 ++ include/FECell/FECellGeneratorBase.h | 44 + include/FECell/Lagrange3DMeshCellGenerator.h | 48 + include/FECell/SingleMeshCell.h | 49 + include/Mesh/MeshData.h | 7 + src/FECell/Lagrange3DMeshCellGenerator.cpp | 1115 ++++++++++++++++++ 8 files changed, 1442 insertions(+) create mode 100644 include/FECell/FECell.h create mode 100644 include/FECell/FECellData.h create mode 100644 include/FECell/FECellGeneratorBase.h create mode 100644 include/FECell/Lagrange3DMeshCellGenerator.h create mode 100644 include/FECell/SingleMeshCell.h create mode 100644 src/FECell/Lagrange3DMeshCellGenerator.cpp diff --git a/SourceCode.cmake b/SourceCode.cmake index 1a928946..a2e3d0d7 100644 --- a/SourceCode.cmake +++ b/SourceCode.cmake @@ -107,6 +107,17 @@ set(inc ${inc} include/Mesh/MeshFileImporterBase.h) set(inc ${inc} include/Mesh/MeshFileImporter.h) set(src ${src} src/Mesh/MeshFileImporter.cpp) +############################################################# +### For FE cell class ### +############################################################# +### for single FE mesh cell +set(inc ${inc} include/FECell/SingleMeshCell.h) +set(inc ${inc} include/FECell/FECellData.h) +set(inc ${inc} include/FECell/FECell.h) +set(inc ${inc} include/FECell/FECellGeneratorBase.h) +### for 3d lagrange mesh cell +set(inc ${inc} include/FECell/Lagrange3DMeshCellGenerator.h) +set(src ${src} src/FECell/Lagrange3DMeshCellGenerator.cpp) ############################################################# ### For inputystem ### diff --git a/include/FECell/FECell.h b/include/FECell/FECell.h new file mode 100644 index 00000000..78fc302e --- /dev/null +++ b/include/FECell/FECell.h @@ -0,0 +1,63 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2023.12.30 +//+++ Function: finite element cell management class +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#pragma once + + +#include +#include +#include +#include +#include +#include +#include + + +#include "Utils/MessagePrinter.h" +#include "FECell/FECellData.h" + + +using std::vector; +using std::map; +using std::make_pair; +using std::string; + +/** + * This class defines and manages the basic/single finite element cell data structure, + * users can use this class for either the elemental loop or system vector/matrix assemble. +*/ +class FECell{ +public: + /** + * Constructor + */ + FECell(); + /** + * Constructor + */ + FECell(const FECell &a); + + void setMeshInfo(const int &nx,const double &xmin,const double &xmax,const MeshType &meshtype); + + + /** + * Print out the summary information of FECell class, i.e., mpi-based mesh distribution, elements num, nodes num, etc. + */ + void printSummaryInfo()const; + +private: + FECellData CellData;/**< the FE cell data structure of the whole system */ + + +}; \ No newline at end of file diff --git a/include/FECell/FECellData.h b/include/FECell/FECellData.h new file mode 100644 index 00000000..cd52a2f9 --- /dev/null +++ b/include/FECell/FECellData.h @@ -0,0 +1,105 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.06 +//+++ Function: finite element cell data structure +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#pragma once + + +#include +#include +#include +#include +#include +#include + +#include "FECell/SingleMeshCell.h" + + +using std::vector; +using std::map; +using std::make_pair; +using std::string; + +/** + * This structure defines the basic data structure of the fe cell, i.e., mesh connectivity, dof maps, etc. +*/ +struct FECellData{ + int MeshOrder;/**< the order of the fe cell mesh */ + int MaxDim;/**< the maximum dimension of the fe cell mesh */ + int MinDim;/**< the minimal dimension of the fe cell mesh */ + + int NodesNum;/**< the total nodes number of the fe cell mesh */ + int NodesNumPerLineElmt;/**< nodes number per line element */ + int NodesNumPerSurfElmt;/**< nodes number per surf element */ + int NodesNumPerBulkElmt;/**< nodes number per bulk element */ + + int ElmtsNum;/**< the elements number of the fe cell mesh */ + int BulkElmtsNum;/**< the bulk elements number of the fe cell mesh */ + int SurfElmtsNum;/**< the surface elements number of the fe cell mesh */ + int LineElmtsNum;/**< the line elements number of the fe cell mesh */ + string BulkMeshTypeName;/**< string name of the mesh type of bulk cell */ + + int BulkElmtVTKCellType;/**< bulk element's vtk cell type */ + int SurfElmtVTKCellType;/**< surf element's vtk cell type */ + int LineElmtVTKCellType;/**< line element's vtk cell type */ + + MeshType BulkElmtMeshType;/**< bulk element's mesh type */ + MeshType SurfElmtMeshType;/**< surf element's mesh type */ + MeshType LineElmtMeshType;/**< line element's mesh type */ + + double Xmin;/**< xmin */ + double Xmax;/**< xmax */ + double Ymin;/**< ymin */ + double Ymax;/**< ymax */ + double Zmin;/**< zmin */ + double Zmax;/**< zmax */ + int Nx;/**< elements num along x-axis */ + int Ny;/**< elements num along y-axis */ + int Nz;/**< elements num along z-axis */ + + int MaxDofsPerNode;/**< the maximum dofs number of each node */ + int TotalDofsNum;/**< the total dofs number of the fe cell mesh */ + int ActiveDofsNum;/**< the active dofs number of the fe cell mesh */ + + //*** for elemental physical group + int PhyGroupNum_Global;/**< physical group numbers among all ranks */ + vector PhyDimVector_Global;/**< physical group dimension vector among all ranks */ + vector PhyIDVector_Global;/**< physical group id vector among all ranks */ + vector PhyNameVector_Global;/**< physical name vector among all ranks */ + vector PhyGroupElmtsNumVector_Global;/**< physical group's elements number vector among all ranks */ + map PhyID2NameMap_Global;/**< physical id to name map among all ranks */ + map PhyName2IDMap_Global;/**< physical name to id map among all ranks */ + + vector MeshCell_Total;/**< this vector stores the whole mesh info (only active on master rank) */ + vector MeshCell_Global;/**< the global mesh cell vector*/ + vector MeshCell_Local;/**< local mesh cell vector of each rank */ + + map> PhyName2MeshCellVectorMap_Global;/**< the global phy name to cell vector map */ + map> PhyName2ElmtIDVectorMap_Global;/**< the global phy name to element id vector map */ + map> PhyID2MeshCellVectorMap_Global;/**< the global phy id to cell vector map */ + map> PhyID2ElmtIDVectorMap_Global;/**< the global phy id to element id vector map */ + + map> PhyName2MeshCellVectorMap_Local;/**< the local phy name to cell vector map */ + map> PhyName2ElmtIDVectorMap_Local;/**< the local phy name to element id vector map */ + map> PhyID2MeshCellVectorMap_Local;/**< the local phy id to cell vector map */ + map> PhyID2ElmtIDVectorMap_Local;/**< the local phy id to element id vector map */ + + //*** for nodal physical group information + int NodalPhyGroupNum_Global;/**< nodal physical group numbers among all ranks */ + vector NodalPhyIDVector_Global;/**< nodal physical group id vector among all ranks */ + vector NodalPhyNameVector_Global;/**< nodal physical name vector among all ranks */ + vector NodalPhyGroupNodesNumVector_Global;/**< nodal physical group's elements number vector among all ranks */ + map NodalPhyID2NameMap_Global;/**< nodal physical id to name map among all ranks */ + map NodalPhyName2IDMap_Global;/**< nodal physical name to id map among all ranks */ + +}; diff --git a/include/FECell/FECellGeneratorBase.h b/include/FECell/FECellGeneratorBase.h new file mode 100644 index 00000000..f89b9566 --- /dev/null +++ b/include/FECell/FECellGeneratorBase.h @@ -0,0 +1,44 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.06 +//+++ Purpose: the base class for FE cell generator +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#pragma once + +#include +#include + +#include "mpi.h" +#include "FECell/FECellData.h" + +using std::sort; +using std::make_pair; + +/** + * this is the base class for fe cell(mesh) generator, all the generator should inherit this base class + */ +class FECellGeneratorBase{ +public: + /** + * constructor + */ + FECellGeneratorBase(){} + + /** + * virtual function for the details of different cell(mesh) generation, the child class should + * offer the implementations + * @param t_meshtype the type of mesh one want to use for the mesh generation + * @param t_celldata the fe cell data structure, which should be updated within each cell generator! + */ + virtual bool generateFECell(const MeshType &t_meshtype,FECellData &t_celldata)=0; + +}; \ No newline at end of file diff --git a/include/FECell/Lagrange3DMeshCellGenerator.h b/include/FECell/Lagrange3DMeshCellGenerator.h new file mode 100644 index 00000000..9c9c9a5a --- /dev/null +++ b/include/FECell/Lagrange3DMeshCellGenerator.h @@ -0,0 +1,48 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.06 +//+++ Purpose: the 3D lagrange FE cell generator +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#pragma once + +#include "FECell/FECellGeneratorBase.h" + + +/** + * the cell generator for 3d lagrange mesh + */ +class Lagrange3DMeshCellGenerator:public FECellGeneratorBase{ +public: + /** + * constructor + */ + Lagrange3DMeshCellGenerator(); + /** + * deconstructor + */ + ~Lagrange3DMeshCellGenerator(); + + /** + * function for the details of 3d lagrange mesh generation, if everything works fine, it will return true. + * @param t_meshtype the type of mesh one want to use for the mesh generation + * @param t_celldata the fe cell data structure, which should be updated within each cell generator! + */ + virtual bool generateFECell(const MeshType &t_meshtype,FECellData &t_celldata) override; +private: + bool m_mesh_generated=false; + vector> leftconn,rightconn; + vector> bottomconn,topconn; + vector> backconn,frontconn; + vector leftnodes,rightnodes; + vector bottomnodes,topnodes; + vector backnodes,frontnodes; +}; \ No newline at end of file diff --git a/include/FECell/SingleMeshCell.h b/include/FECell/SingleMeshCell.h new file mode 100644 index 00000000..cd894d7c --- /dev/null +++ b/include/FECell/SingleMeshCell.h @@ -0,0 +1,49 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2023.12.30 +//+++ Function: defines the basic data structure of a single mesh cell +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#pragma once + +#pragma once + +#include +#include +#include +#include +#include + +#include "Mesh/MeshType.h" +#include "Mesh/Nodes.h" + +using std::vector; +using std::map; +using std::pair; +using std::string; + +/** + * The data structure of a single mesh cell, it stores the basic data info for a single mesh cell + */ +struct SingleMeshCell{ + int Dim;/**< the dimension number of current mesh cell */ + int NodesNumPerElmt;/**< nodes number per current mesh cell */ + vector ElmtConn;/**< connectivity of current mesh cell */ + vector ElmtDofIDs;/**< dof ids of current mesh cell */ + Nodes ElmtNodeCoords0;/**< node coordinates of current mesh cell (undeformed)*/ + Nodes ElmtNodeCoords ;/**< node coordinates of current mesh cell (deformed)*/ + int VTKCellType;/**< the vtk cell type of current mesh */ + + int PhysicalGroupNums;/**< number of physical groups of current mesh cell, default one should be 1 */ + vector PhysicalNameList;/**< pyhsical name list of current mesh cell, it can have more than one name */ + vector PhysicalIDList;/**< physical id list of current mesh cell, it can have more than one phy id */ + +}; diff --git a/include/Mesh/MeshData.h b/include/Mesh/MeshData.h index ee87019a..9621feaf 100644 --- a/include/Mesh/MeshData.h +++ b/include/Mesh/MeshData.h @@ -96,3 +96,10 @@ struct MeshData{ string m_bulkelmt_typename;/**< name of the bulk element type */ }; + +/** + * This structure defines the basic data set for both the bulk mesh cell and boundary mesh cell +*/ +struct NewMeshData{ + +}; diff --git a/src/FECell/Lagrange3DMeshCellGenerator.cpp b/src/FECell/Lagrange3DMeshCellGenerator.cpp new file mode 100644 index 00000000..ff25c11a --- /dev/null +++ b/src/FECell/Lagrange3DMeshCellGenerator.cpp @@ -0,0 +1,1115 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.06 +//+++ Purpose: the 3D lagrange FE cell generator +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#include "FECell/Lagrange3DMeshCellGenerator.h" + +Lagrange3DMeshCellGenerator::Lagrange3DMeshCellGenerator(){ + m_mesh_generated=false; + leftconn.clear(); + rightconn.clear(); + bottomconn.clear(); + topconn.clear(); + backconn.clear(); + frontconn.clear(); + // + leftnodes.clear(); + rightnodes.clear(); + bottomnodes.clear(); + topnodes.clear(); + backnodes.clear(); + frontnodes.clear(); +} +Lagrange3DMeshCellGenerator::~Lagrange3DMeshCellGenerator(){ + m_mesh_generated=false; + leftconn.clear(); + rightconn.clear(); + bottomconn.clear(); + topconn.clear(); + backconn.clear(); + frontconn.clear(); + // + leftnodes.clear(); + rightnodes.clear(); + bottomnodes.clear(); + topnodes.clear(); + backnodes.clear(); + frontnodes.clear(); +} +//********************************************************* +bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECellData &t_celldata){ + int rank,size; + t_celldata.MaxDim=3; + t_celldata.MinDim=2; + + t_celldata.ActiveDofsNum=0; + t_celldata.TotalDofsNum=0; + + MPI_Comm_rank(MPI_COMM_WORLD,&rank); + MPI_Comm_size(MPI_COMM_WORLD,&size); + if(rank==0){ + // only create mesh on the master rank, then distributed them into different ranks ! + double dx,dy,dz; + int i,j,k,kk,e; + int i1,i2,i3,i4,i5,i6,i7,i8,i9; + int i10,i11,i12,i13,i14,i15,i16,i17,i18,i19; + int i20,i21,i22,i23,i24,i25,i26,i27; + vector tempconn; + vector TotalMeshCell; + if(t_meshtype==MeshType::HEX8){ + // generate the mesh cell for hex8 mesh + t_celldata.MeshOrder=1; + t_celldata.BulkMeshTypeName="hex8"; + dx=(t_celldata.Xmax-t_celldata.Xmin)/t_celldata.Nx; + dy=(t_celldata.Ymax-t_celldata.Ymin)/t_celldata.Ny; + dz=(t_celldata.Zmax-t_celldata.Zmin)/t_celldata.Nz; + + t_celldata.BulkElmtsNum=t_celldata.Nx*t_celldata.Ny*t_celldata.Nz; + t_celldata.LineElmtsNum=0; + t_celldata.SurfElmtsNum=2*(t_celldata.Nx*t_celldata.Ny + +t_celldata.Nx*t_celldata.Nz + +t_celldata.Ny*t_celldata.Nz); + t_celldata.ElmtsNum=t_celldata.BulkElmtsNum + +t_celldata.SurfElmtsNum + +t_celldata.LineElmtsNum; + + t_celldata.NodesNum=(t_celldata.Nx+1)*(t_celldata.Ny+1)*(t_celldata.Nz+1); + t_celldata.NodesNumPerBulkElmt=8; + t_celldata.NodesNumPerSurfElmt=4; + t_celldata.NodesNumPerLineElmt=0; + + t_celldata.BulkElmtVTKCellType=12; + t_celldata.BulkElmtMeshType=MeshType::HEX8; + + t_celldata.LineElmtVTKCellType=3; + t_celldata.LineElmtMeshType=MeshType::EDGE2; + + t_celldata.SurfElmtVTKCellType=9; + t_celldata.SurfElmtMeshType=MeshType::QUAD4; + + vector nodecoords; + nodecoords.resize(t_celldata.NodesNum*3,0.0); + leftnodes.clear();rightnodes.clear(); + bottomnodes.clear();rightnodes.clear(); + backnodes.clear();frontnodes.clear(); + for(k=1;k<=t_celldata.Nz+1;k++){ + for(j=1;j<=t_celldata.Ny+1;j++){ + for(i=1;i<=t_celldata.Nx+1;i++){ + kk=(j-1)*(t_celldata.Nx+1)+i+(k-1)*(t_celldata.Nx+1)*(t_celldata.Ny+1); + + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*dz; + + if(i==1){ + // for left side nodes + leftnodes.push_back(kk);// global id, start from 1 + } + if(i==t_celldata.Nx+1){ + // for right side nodes + rightnodes.push_back(kk); + } + if(j==1){ + // for bottom side nodes + bottomnodes.push_back(kk); + } + if(j==t_celldata.Ny+1){ + // for top side nodes + topnodes.push_back(kk); + } + if(k==1){ + // for back side nodes + backnodes.push_back(kk); + } + if(k==t_celldata.Nz+1){ + // for front side nodes + frontnodes.push_back(kk); + } + } + } + }// end-of-node-generation + + // for the connectivity information of bulk elements + t_celldata.MeshCell_Global.resize(t_celldata.BulkElmtsNum); + leftconn.resize(t_celldata.Ny*t_celldata.Nz); + rightconn.resize(t_celldata.Ny*t_celldata.Nz); + // + bottomconn.resize(t_celldata.Nx*t_celldata.Nz); + topconn.resize(t_celldata.Nx*t_celldata.Nz); + // + backconn.resize(t_celldata.Nx*t_celldata.Ny); + frontconn.resize(t_celldata.Nx*t_celldata.Ny); + + leftnodes.clear();rightnodes.clear(); + bottomnodes.clear();rightnodes.clear(); + backnodes.clear();frontnodes.clear(); + + tempconn.clear(); + + for(k=1;k<=t_celldata.Nz;k++){ + for(j=1;j<=t_celldata.Ny;j++){ + for(i=1;i<=t_celldata.Nx;i++){ + e=(j-1)*t_celldata.Nx+i+(k-1)*t_celldata.Nx*t_celldata.Ny; + i1=(j-1)*(t_celldata.Nx+1)+i+(k-1)*(t_celldata.Nx+1)*(t_celldata.Ny+1); + i2=i1+1; + i3=i2+t_celldata.Nx+1; + i4=i3-1; + i5=i1+(t_celldata.Nx+1)*(t_celldata.Ny+1); + i6=i2+(t_celldata.Nx+1)*(t_celldata.Ny+1); + i7=i3+(t_celldata.Nx+1)*(t_celldata.Ny+1); + i8=i4+(t_celldata.Nx+1)*(t_celldata.Ny+1); + + tempconn.push_back(e); + + t_celldata.MeshCell_Total[e-1].Dim=3; + t_celldata.MeshCell_Total[e-1].NodesNumPerElmt=8; + t_celldata.MeshCell_Total[e-1].VTKCellType=t_celldata.BulkElmtVTKCellType; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords.resize(8); + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords0.resize(8); + + t_celldata.MeshCell_Total[e-1].ElmtConn.clear(); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i1); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i2); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i3); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i4); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i5); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i6); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i7); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i8); + // assign node coords + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,1)=nodecoords[(i3-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,2)=nodecoords[(i3-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,3)=nodecoords[(i3-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,1)=nodecoords[(i4-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,2)=nodecoords[(i4-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,3)=nodecoords[(i4-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,1)=nodecoords[(i5-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,2)=nodecoords[(i5-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,3)=nodecoords[(i5-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,1)=nodecoords[(i6-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,2)=nodecoords[(i6-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,3)=nodecoords[(i6-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,1)=nodecoords[(i7-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,2)=nodecoords[(i7-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,3)=nodecoords[(i7-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,1)=nodecoords[(i8-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,2)=nodecoords[(i8-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,3)=nodecoords[(i8-1)*3+3-1]; + + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords0=t_celldata.MeshCell_Total[e-1].ElmtNodeCoords; + + if(i==1){ + // for left bc elements + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i1); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i5); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i8); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i4); + + leftnodes.push_back(i1); + leftnodes.push_back(i5); + leftnodes.push_back(i8); + leftnodes.push_back(i4); + } + if(i==t_celldata.Nx){ + // for right bc elements + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i2); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i3); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i7); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i6); + + rightnodes.push_back(i2); + rightnodes.push_back(i3); + rightnodes.push_back(i7); + rightnodes.push_back(i6); + } + if(j==1){ + // for bottom bc elements + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i1); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i2); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i6); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i5); + + bottomnodes.push_back(i1); + bottomnodes.push_back(i2); + bottomnodes.push_back(i6); + bottomnodes.push_back(i5); + } + if(j==t_celldata.Ny){ + // for bottom bc elements + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i4); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i8); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i7); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i3); + + topnodes.push_back(i4); + topnodes.push_back(i8); + topnodes.push_back(i7); + topnodes.push_back(i3); + } + if(k==1){ + // for back bc elements + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i1); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i4); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i3); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i2); + + backnodes.push_back(i1); + backnodes.push_back(i4); + backnodes.push_back(i3); + backnodes.push_back(i2); + } + if(k==t_celldata.Nz){ + // for front bc elements + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i5); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i6); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i7); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i8); + + frontnodes.push_back(i5); + frontnodes.push_back(i6); + frontnodes.push_back(i7); + frontnodes.push_back(i8); + } + } + } + }// end-of-element-generation-loop + } // end-of-hex8-generation + else if(t_meshtype==MeshType::HEX20){ + t_celldata.MeshOrder=2; + t_celldata.BulkMeshTypeName="hex20"; + + dx=(t_celldata.Xmax-t_celldata.Xmin)/(2.0*t_celldata.Nx); + dy=(t_celldata.Ymax-t_celldata.Ymin)/(2.0*t_celldata.Ny); + dz=(t_celldata.Zmax-t_celldata.Zmin)/(2.0*t_celldata.Nz); + + t_celldata.BulkElmtsNum=t_celldata.Nx*t_celldata.Ny*t_celldata.Nz; + t_celldata.LineElmtsNum=0; + t_celldata.SurfElmtsNum=2*(t_celldata.Nx*t_celldata.Ny + +t_celldata.Nx*t_celldata.Nz + +t_celldata.Ny*t_celldata.Nz); + t_celldata.ElmtsNum=t_celldata.BulkElmtsNum + +t_celldata.SurfElmtsNum + +t_celldata.LineElmtsNum; + + int nLayer1Nodes=(2*t_celldata.Nx+1)*(2*t_celldata.Ny+1)-t_celldata.Nx*t_celldata.Ny;// for norm layer + int nLayer2Nodes=(t_celldata.Nx+1)*(t_celldata.Ny+1); // for middle layer + + t_celldata.NodesNum=nLayer1Nodes*(t_celldata.Nz+1)+nLayer2Nodes*t_celldata.Nz; + t_celldata.NodesNumPerBulkElmt=20; + t_celldata.NodesNumPerSurfElmt=8; + + t_celldata.BulkElmtVTKCellType=25; + + t_celldata.LineElmtVTKCellType=4; + t_celldata.LineElmtMeshType=MeshType::EDGE3; + + t_celldata.SurfElmtVTKCellType=23; + t_celldata.SurfElmtMeshType=MeshType::QUAD9; + + // for the coordinates of each node + vector nodecoords; + nodecoords.resize(t_celldata.NodesNum*3,0.0); + leftnodes.clear();rightnodes.clear(); + bottomnodes.clear();rightnodes.clear(); + backnodes.clear();frontnodes.clear(); + int _Nz,_Ny,_Nx; + _Nz=t_celldata.Nz;_Ny=t_celldata.Ny;_Nx=t_celldata.Nx; + for(k=1;k<=_Nz;++k){ + // First for normal layer + for(j=1;j<=_Ny;++j){ + // for bottom line of each element + for(i=1;i<=2*_Nx+1;i++){ + kk=(j-1)*(2*_Nx+1+_Nx+1)+i+(k-1)*(nLayer1Nodes+nLayer2Nodes); + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*2*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; + } + // for middle line of each element + for(i=1;i<=_Nx+1;++i){ + kk=(j-1)*(2*_Nx+1+_Nx+1)+2*_Nx+1+i+(k-1)*(nLayer1Nodes+nLayer2Nodes); + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*2*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*2*dy+dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; + } + } + // for top line + j=_Ny+1; + for(i=1;i<=2*_Nx+1;i++){ + kk=(j-1)*(2*_Nx+1+_Nx+1)+i+(k-1)*(nLayer1Nodes+nLayer2Nodes); + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*2*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; + } + // Then for middle type layer + for(j=1;j<=_Ny+1;++j){ + for(i=1;i<=_Nx+1;++i){ + kk=(j-1)*(_Nx+1)+i+(k-1)*(nLayer1Nodes+nLayer2Nodes)+nLayer1Nodes; + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*2*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*2*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz+dz; + } + } + } + // for the last top layer + k=_Nz+1; + for(j=1;j<=_Ny;++j){ + // for bottom line of each element + for(i=1;i<=2*_Nx+1;i++){ + kk=(j-1)*(2*_Nx+1+_Nx+1)+i+(k-1)*(nLayer1Nodes+nLayer2Nodes); + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*2*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; + } + // for middle line of each element + for(i=1;i<=_Nx+1;++i){ + kk=(j-1)*(2*_Nx+1+_Nx+1)+2*_Nx+1+i+(k-1)*(nLayer1Nodes+nLayer2Nodes); + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*2*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*2*dy+dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; + } + } + // for top line + j=_Ny+1; + for(i=1;i<=2*_Nx+1;i++){ + kk=(j-1)*(2*_Nx+1+_Nx+1)+i+(k-1)*(nLayer1Nodes+nLayer2Nodes); + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*2*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; + } + // end-of-node-generation + t_celldata.MeshCell_Total.resize(t_celldata.BulkElmtsNum); + leftconn.resize(t_celldata.Ny*t_celldata.Nz); + rightconn.resize(t_celldata.Ny*t_celldata.Nz); + // + bottomconn.resize(t_celldata.Nx*t_celldata.Nz); + topconn.resize(t_celldata.Nx*t_celldata.Nz); + // + backconn.resize(t_celldata.Nx*t_celldata.Ny); + frontconn.resize(t_celldata.Nx*t_celldata.Ny); + + tempconn.clear(); + + for(k=1;k<=_Nz;++k){ + for(j=1;j<=_Ny;++j){ + for(i=1;i<=_Nx;++i){ + e=(j-1)*_Nx+i+(k-1)*_Nx*_Ny; + i1=(j-1)*(2*_Nx+1+_Nx+1)+2*i-1+(k-1)*(nLayer1Nodes+nLayer2Nodes); + i2=i1+2; + i3=i2+(2*_Nx+1+_Nx+1); + i4=i3-2; + + i5=i1+nLayer1Nodes+nLayer2Nodes; + i6=i2+nLayer1Nodes+nLayer2Nodes; + i7=i3+nLayer1Nodes+nLayer2Nodes; + i8=i4+nLayer1Nodes+nLayer2Nodes; + + i9 =i1+1; + i10=i2+(2*_Nx+1-i); + i11=i3-1; + i12=i10-1; + + i13= i9+nLayer1Nodes+nLayer2Nodes; + i14=i10+nLayer1Nodes+nLayer2Nodes; + i15=i11+nLayer1Nodes+nLayer2Nodes; + i16=i12+nLayer1Nodes+nLayer2Nodes; + + i17=i1+nLayer1Nodes-(i-1+(j-1)*(_Nx+_Nx+1)); + i18=i17+1; + i19=i18+_Nx+1; + i20=i19-1; + + tempconn.push_back(e); + + t_celldata.MeshCell_Total[e-1].Dim=3; + t_celldata.MeshCell_Total[e-1].NodesNumPerElmt=20; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords.resize(20); + t_celldata.MeshCell_Total[e-1].VTKCellType=t_celldata.BulkElmtVTKCellType; + + t_celldata.MeshCell_Total[e-1].ElmtConn.clear(); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i1); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i2); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i3); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i4); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i5); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i6); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i7); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i8); + + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i9); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i10); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i11); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i12); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i13); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i14); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i15); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i16); + + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i17); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i18); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i19); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i20); + + // for element's nodecoords + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,1)=nodecoords[(21-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,2)=nodecoords[(21-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,3)=nodecoords[(21-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,1)=nodecoords[(i3-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,2)=nodecoords[(i3-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,3)=nodecoords[(i3-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,1)=nodecoords[(i4-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,2)=nodecoords[(i4-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,3)=nodecoords[(i4-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,1)=nodecoords[(i5-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,2)=nodecoords[(i5-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,3)=nodecoords[(i5-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,1)=nodecoords[(i6-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,2)=nodecoords[(i6-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,3)=nodecoords[(i6-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,1)=nodecoords[(i7-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,2)=nodecoords[(i7-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,3)=nodecoords[(i7-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,1)=nodecoords[(i8-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,2)=nodecoords[(i8-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,3)=nodecoords[(i8-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(9,1)=nodecoords[(i9-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(9,2)=nodecoords[(i9-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(9,3)=nodecoords[(i9-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(10,1)=nodecoords[(i10-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(10,2)=nodecoords[(i10-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(10,3)=nodecoords[(i10-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(11,1)=nodecoords[(i11-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(11,2)=nodecoords[(i11-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(11,3)=nodecoords[(i11-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(12,1)=nodecoords[(i12-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(12,2)=nodecoords[(i12-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(12,3)=nodecoords[(i12-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(13,1)=nodecoords[(i3-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(13,2)=nodecoords[(i3-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(13,3)=nodecoords[(i3-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(14,1)=nodecoords[(i14-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(14,2)=nodecoords[(i14-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(14,3)=nodecoords[(i14-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(15,1)=nodecoords[(i15-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(15,2)=nodecoords[(i15-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(15,3)=nodecoords[(i15-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(16,1)=nodecoords[(i16-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(16,2)=nodecoords[(i16-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(16,3)=nodecoords[(i16-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(17,1)=nodecoords[(i17-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(17,2)=nodecoords[(i17-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(17,3)=nodecoords[(i17-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(18,1)=nodecoords[(i18-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(18,2)=nodecoords[(i18-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(18,3)=nodecoords[(i18-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(19,1)=nodecoords[(i19-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(19,2)=nodecoords[(i19-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(19,3)=nodecoords[(i19-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(20,1)=nodecoords[(i20-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(20,2)=nodecoords[(i20-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(20,3)=nodecoords[(i20-1)*3+3-1]; + + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords0=t_celldata.MeshCell_Total[e-1].ElmtNodeCoords; + + if(i==1){ + // for left bc elements + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i1); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i5); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i8); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i4); + + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i17); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i16); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i20); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i12); + + leftnodes.push_back(i1); + leftnodes.push_back(i5); + leftnodes.push_back(i8); + leftnodes.push_back(i4); + leftnodes.push_back(i17); + leftnodes.push_back(i16); + leftnodes.push_back(i20); + leftnodes.push_back(i12); + } + if(i==t_celldata.Nx){ + // for right bc elements + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i2); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i3); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i7); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i6); + + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i10); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i19); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i14); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i18); + + rightnodes.push_back(i2); + rightnodes.push_back(i3); + rightnodes.push_back(i7); + rightnodes.push_back(i6); + rightnodes.push_back(i10); + rightnodes.push_back(i19); + rightnodes.push_back(i14); + rightnodes.push_back(i18); + } + if(j==1){ + // for bottom bc elements + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i1); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i2); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i6); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i5); + + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i9 ); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i18); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i13); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i17); + + bottomnodes.push_back(i1); + bottomnodes.push_back(i2); + bottomnodes.push_back(i6); + bottomnodes.push_back(i5); + bottomnodes.push_back(i9 ); + bottomnodes.push_back(i18); + bottomnodes.push_back(i13); + bottomnodes.push_back(i17); + } + if(j==t_celldata.Ny){ + // for top bc elements + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i4); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i8); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i7); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i3); + + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i20); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i15); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i19); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i11); + + topnodes.push_back(i4); + topnodes.push_back(i8); + topnodes.push_back(i7); + topnodes.push_back(i3); + topnodes.push_back(i20); + topnodes.push_back(i15); + topnodes.push_back(i19); + topnodes.push_back(i11); + } + if(k==1){ + // for back bc elements + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i1); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i4); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i3); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i2); + + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i12); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i11); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i10); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i9 ); + + backnodes.push_back(i1); + backnodes.push_back(i4); + backnodes.push_back(i3); + backnodes.push_back(i2); + backnodes.push_back(i12); + backnodes.push_back(i11); + backnodes.push_back(i10); + backnodes.push_back(i9 ); + } + if(k==t_celldata.Nz){ + // for front bc elements + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i5); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i6); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i7); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i8); + + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i13); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i14); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i15); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i16); + + frontnodes.push_back(i5); + frontnodes.push_back(i6); + frontnodes.push_back(i7); + frontnodes.push_back(i8); + frontnodes.push_back(i13); + frontnodes.push_back(i14); + frontnodes.push_back(i15); + frontnodes.push_back(i16); + } + + } + } + } // end-of-element-generation-loop + } // end-of-hex20-generation + else if(t_meshtype==MeshType::HEX27){ + t_celldata.MeshOrder=2; + t_celldata.BulkMeshTypeName="hex27"; + + dx=(t_celldata.Xmax-t_celldata.Xmin)/(2.0*t_celldata.Nx); + dy=(t_celldata.Ymax-t_celldata.Ymin)/(2.0*t_celldata.Ny); + dz=(t_celldata.Zmax-t_celldata.Zmin)/(2.0*t_celldata.Nz); + + t_celldata.BulkElmtsNum=t_celldata.Nx*t_celldata.Ny*t_celldata.Nz; + t_celldata.LineElmtsNum=0; + t_celldata.SurfElmtsNum=2*(t_celldata.Nx*t_celldata.Ny + +t_celldata.Nx*t_celldata.Nz + +t_celldata.Ny*t_celldata.Nz); + + t_celldata.ElmtsNum=t_celldata.BulkElmtsNum + +t_celldata.SurfElmtsNum + +t_celldata.LineElmtsNum; + int nLayerNodes=(2*t_celldata.Nx+1)*(2*t_celldata.Ny+1);// for norm layer + + t_celldata.NodesNum=(2*t_celldata.Nz+1)*nLayerNodes; + t_celldata.NodesNumPerBulkElmt=27; + t_celldata.BulkElmtVTKCellType=29; + + t_celldata.NodesNumPerSurfElmt=9; + t_celldata.SurfElmtVTKCellType=23; + t_celldata.SurfElmtMeshType=MeshType::QUAD9; + + t_celldata.LineElmtVTKCellType=4; + t_celldata.LineElmtMeshType=MeshType::EDGE3; + + // for the coordinates of each node + vector nodecoords; + nodecoords.resize(t_celldata.NodesNum*3,0.0); + + leftnodes.clear();rightnodes.clear(); + bottomnodes.clear();rightnodes.clear(); + backnodes.clear();frontnodes.clear(); + int _Nz,_Ny,_Nx; + _Nz=t_celldata.Nz;_Ny=t_celldata.Ny;_Nx=t_celldata.Nx; + for(k=1;k<=_Nz;++k){ + // For first layer + for(j=1;j<=2*_Ny+1;++j){ + // for bottom line of each element + for(i=1;i<=2*_Nx+1;++i){ + kk=(j-1)*(2*_Nx+1)+i+(k-1)*2*nLayerNodes; + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; + } + } + // Then for second layer + for(j=1;j<=2*_Ny+1;++j){ + for(i=1;i<=2*_Nx+1;++i){ + kk=(j-1)*(2*_Nx+1)+i+(k-1)*2*nLayerNodes+nLayerNodes; + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz+dz; + } + } + } + // for the last top layer + k=_Nz+1; + for(j=1;j<=2*_Ny+1;++j){ + // for bottom line of each element + for(i=1;i<=2*_Nx+1;++i){ + kk=(j-1)*(2*_Nx+1)+i+(k-1)*2*nLayerNodes; + nodecoords[(kk-1)*3+1-1]=t_celldata.Xmin+(i-1)*dx; + nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*dy; + nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; + } + } + // for the connectivity information of bulk elements + t_celldata.MeshCell_Total.resize(t_celldata.BulkElmtsNum); + leftconn.resize(t_celldata.Ny*t_celldata.Nz); + rightconn.resize(t_celldata.Ny*t_celldata.Nz); + // + bottomconn.resize(t_celldata.Nx*t_celldata.Nz); + topconn.resize(t_celldata.Nx*t_celldata.Nz); + // + backconn.resize(t_celldata.Nx*t_celldata.Ny); + frontconn.resize(t_celldata.Nx*t_celldata.Ny); + + tempconn.clear(); + + for(k=1;k<=_Nz;++k){ + for(j=1;j<=_Ny;++j){ + for(i=1;i<=_Nx;++i){ + e=(j-1)*_Nx+i+(k-1)*_Nx*_Ny; + i1=(j-1)*2*(2*_Nx+1)+2*i-1+(k-1)*2*nLayerNodes; + i2=i1+2; + i3=i2+(2*_Nx+1)*2; + i4=i3-2; + + i5=i1+2*nLayerNodes; + i6=i2+2*nLayerNodes; + i7=i3+2*nLayerNodes; + i8=i4+2*nLayerNodes; + + i9 =i1+1; + i10=i2+(2*_Nx+1); + i11=i3-1; + i12=i1+(2*_Nx+1); + + i13=i5+1; + i14=i6+(2*_Nx+1); + i15=i7-1; + i16=i5+(2*_Nx+1); + + i17=i1+nLayerNodes; + i18=i2+nLayerNodes; + i19=i3+nLayerNodes; + i20=i4+nLayerNodes; + + i21=i17+(2*_Nx+1); + i22=i21+2; + + //i23=i20+1; + //i24=i17+1; + + i23=i17+1; + i24=i20+1; + + i25=i12+1; + i26=i16+1; + + i27=i21+1; + + tempconn.push_back(e); + + t_celldata.MeshCell_Total[e-1].Dim=3; + t_celldata.MeshCell_Total[e-1].VTKCellType=t_celldata.BulkElmtVTKCellType; + t_celldata.MeshCell_Total[e-1].NodesNumPerElmt=27; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords.resize(27); + + t_celldata.MeshCell_Total[e-1].ElmtConn.clear(); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i1); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i2); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i3); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i4); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i5); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i6); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i7); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i8); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i9); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i10); + + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i11); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i12); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i13); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i14); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i15); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i16); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i17); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i18); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i19); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i20); + + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i21); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i22); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i23); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i24); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i25); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i26); + t_celldata.MeshCell_Total[e-1].ElmtConn.push_back(i27); + + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,1)=nodecoords[(i3-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,2)=nodecoords[(i3-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(3,3)=nodecoords[(i3-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,1)=nodecoords[(i4-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,2)=nodecoords[(i4-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(4,3)=nodecoords[(i4-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,1)=nodecoords[(i5-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,2)=nodecoords[(i5-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(5,3)=nodecoords[(i5-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,1)=nodecoords[(i6-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,2)=nodecoords[(i6-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(6,3)=nodecoords[(i6-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,1)=nodecoords[(i7-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,2)=nodecoords[(i7-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(7,3)=nodecoords[(i7-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,1)=nodecoords[(i8-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,2)=nodecoords[(i8-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(8,3)=nodecoords[(i8-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(9,1)=nodecoords[(i9-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(9,2)=nodecoords[(i9-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(9,3)=nodecoords[(i9-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(10,1)=nodecoords[(i10-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(10,2)=nodecoords[(i10-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(10,3)=nodecoords[(i10-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(11,1)=nodecoords[(i11-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(11,2)=nodecoords[(i11-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(11,3)=nodecoords[(i11-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(12,1)=nodecoords[(i12-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(12,2)=nodecoords[(i12-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(12,3)=nodecoords[(i12-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(13,1)=nodecoords[(i13-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(13,2)=nodecoords[(i13-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(13,3)=nodecoords[(i13-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(14,1)=nodecoords[(i14-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(14,2)=nodecoords[(i14-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(14,3)=nodecoords[(i14-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(15,1)=nodecoords[(i15-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(15,2)=nodecoords[(i15-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(15,3)=nodecoords[(i15-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(16,1)=nodecoords[(i16-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(16,2)=nodecoords[(i16-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(16,3)=nodecoords[(i16-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(17,1)=nodecoords[(i17-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(17,2)=nodecoords[(i17-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(17,3)=nodecoords[(i17-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(18,1)=nodecoords[(i18-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(18,2)=nodecoords[(i18-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(18,3)=nodecoords[(i18-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(19,1)=nodecoords[(i19-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(19,2)=nodecoords[(i19-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(19,3)=nodecoords[(i19-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(20,1)=nodecoords[(i20-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(20,2)=nodecoords[(i20-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(20,3)=nodecoords[(i20-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(21,1)=nodecoords[(i21-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(21,2)=nodecoords[(i21-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(21,3)=nodecoords[(i21-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(22,1)=nodecoords[(i22-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(22,2)=nodecoords[(i22-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(22,3)=nodecoords[(i22-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(23,1)=nodecoords[(i23-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(23,2)=nodecoords[(i23-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(23,3)=nodecoords[(i23-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(24,1)=nodecoords[(i24-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(24,2)=nodecoords[(i24-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(24,3)=nodecoords[(i24-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(25,1)=nodecoords[(i25-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(25,2)=nodecoords[(i25-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(25,3)=nodecoords[(i25-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(26,1)=nodecoords[(i26-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(26,2)=nodecoords[(i26-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(26,3)=nodecoords[(i26-1)*3+3-1]; + // + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(27,1)=nodecoords[(i27-1)*3+1-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(27,2)=nodecoords[(i27-1)*3+2-1]; + t_celldata.MeshCell_Total[e-1].ElmtNodeCoords(27,3)=nodecoords[(i27-1)*3+3-1]; + + + if(i==1){ + // for left bc elements + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i1); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i5); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i8); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i4); + + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i17); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i16); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i20); + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i12); + + leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i21); + + leftnodes.push_back(i1); + leftnodes.push_back(i5); + leftnodes.push_back(i8); + leftnodes.push_back(i4); + leftnodes.push_back(i17); + leftnodes.push_back(i16); + leftnodes.push_back(i20); + leftnodes.push_back(i12); + leftnodes.push_back(i21); + } + if(i==t_celldata.Nx){ + // for right bc elements + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i2); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i3); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i7); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i6); + + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i10); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i19); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i14); + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i18); + + rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i22); + + rightnodes.push_back(i2); + rightnodes.push_back(i3); + rightnodes.push_back(i7); + rightnodes.push_back(i6); + rightnodes.push_back(i10); + rightnodes.push_back(i19); + rightnodes.push_back(i14); + rightnodes.push_back(i18); + rightnodes.push_back(i22); + } + if(j==1){ + // for bottom bc elements + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i1); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i2); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i6); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i5); + + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i9 ); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i18); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i13); + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i17); + + bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i23); + + bottomnodes.push_back(i1); + bottomnodes.push_back(i2); + bottomnodes.push_back(i6); + bottomnodes.push_back(i5); + bottomnodes.push_back(i9 ); + bottomnodes.push_back(i18); + bottomnodes.push_back(i13); + bottomnodes.push_back(i17); + bottomnodes.push_back(i23); + } + if(j==t_celldata.Ny){ + // for top bc elements + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i4); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i8); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i7); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i3); + + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i20); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i15); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i19); + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i11); + + topconn[(k-1)*t_celldata.Nx+i-1].push_back(i24); + + topnodes.push_back(i4); + topnodes.push_back(i8); + topnodes.push_back(i7); + topnodes.push_back(i3); + topnodes.push_back(i20); + topnodes.push_back(i15); + topnodes.push_back(i19); + topnodes.push_back(i11); + topnodes.push_back(i24); + } + if(k==1){ + // for back bc elements + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i1); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i4); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i3); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i2); + + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i12); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i11); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i10); + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i9 ); + + backconn[(j-1)*t_celldata.Nx+i-1].push_back(i25); + + backnodes.push_back(i1); + backnodes.push_back(i4); + backnodes.push_back(i3); + backnodes.push_back(i2); + backnodes.push_back(i12); + backnodes.push_back(i11); + backnodes.push_back(i10); + backnodes.push_back(i9 ); + backnodes.push_back(i25); + } + if(k==t_celldata.Nz){ + // for front bc elements + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i5); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i6); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i7); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i8); + + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i13); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i14); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i15); + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i16); + + frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i26); + + frontnodes.push_back(i5); + frontnodes.push_back(i6); + frontnodes.push_back(i7); + frontnodes.push_back(i8); + frontnodes.push_back(i13); + frontnodes.push_back(i14); + frontnodes.push_back(i15); + frontnodes.push_back(i16); + frontnodes.push_back(i26); + } + } + } + }// end-of-element-generation + + }//end-of-hex27-mesh + + }// end-of-if(rank==0) +} \ No newline at end of file From 00b23b3aeddd001238c9679542ac2eb518b3fafb Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Sun, 7 Jan 2024 17:07:53 +0100 Subject: [PATCH 07/29] fix bug in Nodes class --- include/Mesh/Nodes.h | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/include/Mesh/Nodes.h b/include/Mesh/Nodes.h index 2948766c..21ffb61b 100644 --- a/include/Mesh/Nodes.h +++ b/include/Mesh/Nodes.h @@ -15,9 +15,11 @@ #pragma once +#include #include "Utils/MessagePrinter.h" +using std::vector; /** * the nodes class, which stores the coordinates for multiple nodes, i.e., the nodes of one single element @@ -42,7 +44,9 @@ class Nodes{ * @param nodes another nodes class */ Nodes(const Nodes &nodes){ - m_size=nodes.m_size;m_coordinates=nodes.m_coordinates; + m_size=nodes.m_size; + m_coordinates.clear(); + for(const auto &it:nodes.m_coordinates) m_coordinates.push_back(it); } /** * deconstructor @@ -112,19 +116,42 @@ class Nodes{ } return m_coordinates[(i-1)*3+j-1]; } + /** + * [] operator for the I-th elements + * @param i i-th elements + */ + double operator[](const int &i)const{ + if(i<1||i>m_size*3){ + MessagePrinter::printErrorTxt("your i index is out of your nodes elements' range"); + MessagePrinter::exitAsFem(); + } + return m_coordinates[i-1]; + } + /** + * [] operator for the I-th elements + * @param i i-th elements + */ + double& operator[](const int &i){ + if(i<1||i>m_size*3){ + MessagePrinter::printErrorTxt("your i index is out of your nodes elements' range"); + MessagePrinter::exitAsFem(); + } + return m_coordinates[i-1]; + } /** * = operator for the assignment with a scalar value */ - Nodes& operator()(const double &val){ + Nodes& operator=(const double &val){ fill(m_coordinates.begin(),m_coordinates.end(),val); return *this; } /** * = operator for the assignment with another nodes class */ - Nodes& operator()(const Nodes &a){ + Nodes& operator=(const Nodes &a){ m_size=a.m_size; - m_coordinates=a.m_coordinates; + m_coordinates.resize(m_size*3,0.0); + for(int i=1;i<=a.m_size*3;i++) m_coordinates[i]=a[i]; return *this; } //************************************************ From a7a8f37fed2b6f83e12c361372fbd8a5f2c37a89 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Sun, 14 Jan 2024 21:09:32 +0100 Subject: [PATCH 08/29] working on MPI mesh & design --- include/FECell/FECellData.h | 7 +- include/FECell/Lagrange3DMeshCellGenerator.h | 7 +- src/FECell/Lagrange3DMeshCellGenerator.cpp | 1273 +++++++++++++++--- 3 files changed, 1086 insertions(+), 201 deletions(-) diff --git a/include/FECell/FECellData.h b/include/FECell/FECellData.h index cd52a2f9..97387c31 100644 --- a/include/FECell/FECellData.h +++ b/include/FECell/FECellData.h @@ -81,19 +81,14 @@ struct FECellData{ map PhyName2IDMap_Global;/**< physical name to id map among all ranks */ vector MeshCell_Total;/**< this vector stores the whole mesh info (only active on master rank) */ - vector MeshCell_Global;/**< the global mesh cell vector*/ vector MeshCell_Local;/**< local mesh cell vector of each rank */ map> PhyName2MeshCellVectorMap_Global;/**< the global phy name to cell vector map */ - map> PhyName2ElmtIDVectorMap_Global;/**< the global phy name to element id vector map */ map> PhyID2MeshCellVectorMap_Global;/**< the global phy id to cell vector map */ - map> PhyID2ElmtIDVectorMap_Global;/**< the global phy id to element id vector map */ map> PhyName2MeshCellVectorMap_Local;/**< the local phy name to cell vector map */ - map> PhyName2ElmtIDVectorMap_Local;/**< the local phy name to element id vector map */ map> PhyID2MeshCellVectorMap_Local;/**< the local phy id to cell vector map */ - map> PhyID2ElmtIDVectorMap_Local;/**< the local phy id to element id vector map */ - + //*** for nodal physical group information int NodalPhyGroupNum_Global;/**< nodal physical group numbers among all ranks */ vector NodalPhyIDVector_Global;/**< nodal physical group id vector among all ranks */ diff --git a/include/FECell/Lagrange3DMeshCellGenerator.h b/include/FECell/Lagrange3DMeshCellGenerator.h index 9c9c9a5a..f74e7ec4 100644 --- a/include/FECell/Lagrange3DMeshCellGenerator.h +++ b/include/FECell/Lagrange3DMeshCellGenerator.h @@ -39,10 +39,5 @@ class Lagrange3DMeshCellGenerator:public FECellGeneratorBase{ virtual bool generateFECell(const MeshType &t_meshtype,FECellData &t_celldata) override; private: bool m_mesh_generated=false; - vector> leftconn,rightconn; - vector> bottomconn,topconn; - vector> backconn,frontconn; - vector leftnodes,rightnodes; - vector bottomnodes,topnodes; - vector backnodes,frontnodes; + }; \ No newline at end of file diff --git a/src/FECell/Lagrange3DMeshCellGenerator.cpp b/src/FECell/Lagrange3DMeshCellGenerator.cpp index ff25c11a..ffc7240d 100644 --- a/src/FECell/Lagrange3DMeshCellGenerator.cpp +++ b/src/FECell/Lagrange3DMeshCellGenerator.cpp @@ -13,38 +13,13 @@ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #include "FECell/Lagrange3DMeshCellGenerator.h" +#include "FECell/SingleMeshCell.h" Lagrange3DMeshCellGenerator::Lagrange3DMeshCellGenerator(){ m_mesh_generated=false; - leftconn.clear(); - rightconn.clear(); - bottomconn.clear(); - topconn.clear(); - backconn.clear(); - frontconn.clear(); - // - leftnodes.clear(); - rightnodes.clear(); - bottomnodes.clear(); - topnodes.clear(); - backnodes.clear(); - frontnodes.clear(); } Lagrange3DMeshCellGenerator::~Lagrange3DMeshCellGenerator(){ m_mesh_generated=false; - leftconn.clear(); - rightconn.clear(); - bottomconn.clear(); - topconn.clear(); - backconn.clear(); - frontconn.clear(); - // - leftnodes.clear(); - rightnodes.clear(); - bottomnodes.clear(); - topnodes.clear(); - backnodes.clear(); - frontnodes.clear(); } //********************************************************* bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECellData &t_celldata){ @@ -58,14 +33,18 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&size); if(rank==0){ + vector leftconn,rightconn; + vector bottomconn,topconn; + vector backconn,frontconn; + vector leftnodes,rightnodes; + vector bottomnodes,topnodes; + vector backnodes,frontnodes; // only create mesh on the master rank, then distributed them into different ranks ! double dx,dy,dz; int i,j,k,kk,e; int i1,i2,i3,i4,i5,i6,i7,i8,i9; int i10,i11,i12,i13,i14,i15,i16,i17,i18,i19; int i20,i21,i22,i23,i24,i25,i26,i27; - vector tempconn; - vector TotalMeshCell; if(t_meshtype==MeshType::HEX8){ // generate the mesh cell for hex8 mesh t_celldata.MeshOrder=1; @@ -86,7 +65,7 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe t_celldata.NodesNum=(t_celldata.Nx+1)*(t_celldata.Ny+1)*(t_celldata.Nz+1); t_celldata.NodesNumPerBulkElmt=8; t_celldata.NodesNumPerSurfElmt=4; - t_celldata.NodesNumPerLineElmt=0; + t_celldata.NodesNumPerLineElmt=2; t_celldata.BulkElmtVTKCellType=12; t_celldata.BulkElmtMeshType=MeshType::HEX8; @@ -140,7 +119,7 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe }// end-of-node-generation // for the connectivity information of bulk elements - t_celldata.MeshCell_Global.resize(t_celldata.BulkElmtsNum); + t_celldata.MeshCell_Total.resize(t_celldata.BulkElmtsNum); leftconn.resize(t_celldata.Ny*t_celldata.Nz); rightconn.resize(t_celldata.Ny*t_celldata.Nz); // @@ -154,8 +133,6 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe bottomnodes.clear();rightnodes.clear(); backnodes.clear();frontnodes.clear(); - tempconn.clear(); - for(k=1;k<=t_celldata.Nz;k++){ for(j=1;j<=t_celldata.Ny;j++){ for(i=1;i<=t_celldata.Nx;i++){ @@ -168,8 +145,6 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe i6=i2+(t_celldata.Nx+1)*(t_celldata.Ny+1); i7=i3+(t_celldata.Nx+1)*(t_celldata.Ny+1); i8=i4+(t_celldata.Nx+1)*(t_celldata.Ny+1); - - tempconn.push_back(e); t_celldata.MeshCell_Total[e-1].Dim=3; t_celldata.MeshCell_Total[e-1].NodesNumPerElmt=8; @@ -223,10 +198,38 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe if(i==1){ // for left bc elements - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i1); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i5); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i8); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i4); + leftconn[(k-1)*t_celldata.Ny+j-1].Dim=2; + leftconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=4; + leftconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=9; + + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1; + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(1); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("left"); + + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i1); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i5); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i8); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i4); + + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(4); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i5-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i5-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i5-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i8-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i8-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i8-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i4-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i4-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i4-1)*3+3-1]; leftnodes.push_back(i1); leftnodes.push_back(i5); @@ -235,10 +238,38 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(i==t_celldata.Nx){ // for right bc elements - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i2); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i3); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i7); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i6); + rightconn[(k-1)*t_celldata.Ny+j-1].Dim=2; + rightconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=4; + rightconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=9; + + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1; + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(2); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("right"); + + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i2); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i3); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i7); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i6); + + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(4); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i2-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i2-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i2-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i3-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i3-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i3-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i6-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i6-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i6-1)*3+3-1]; rightnodes.push_back(i2); rightnodes.push_back(i3); @@ -247,10 +278,38 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(j==1){ // for bottom bc elements - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i1); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i2); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i6); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i5); + bottomconn[(k-1)*t_celldata.Nx+i-1].Dim=2; + bottomconn[(k-1)*t_celldata.Nx+i-1].NodesNumPerElmt=4; + bottomconn[(k-1)*t_celldata.Nx+i-1].VTKCellType=9; + + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(3); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("bottom"); + + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i1); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i2); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i6); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i5); + + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(4); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i6-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i6-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i6-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i5-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i5-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i5-1)*3+3-1]; bottomnodes.push_back(i1); bottomnodes.push_back(i2); @@ -258,11 +317,39 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe bottomnodes.push_back(i5); } if(j==t_celldata.Ny){ - // for bottom bc elements - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i4); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i8); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i7); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i3); + // for top bc elements + topconn[(k-1)*t_celldata.Nx+i-1].Dim=2; + topconn[(k-1)*t_celldata.Nx+i-1].NodesNumPerElmt=4; + topconn[(k-1)*t_celldata.Nx+i-1].VTKCellType=9; + + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(4); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("top"); + + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i4); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i8); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i7); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i3); + + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(4); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i4-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i4-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i4-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i8-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i8-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i8-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i3-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i3-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i3-1)*3+3-1]; topnodes.push_back(i4); topnodes.push_back(i8); @@ -271,10 +358,38 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(k==1){ // for back bc elements - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i1); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i4); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i3); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i2); + backconn[(j-1)*t_celldata.Nx+i-1].Dim=2; + backconn[(j-1)*t_celldata.Nx+i-1].NodesNumPerElmt=4; + backconn[(j-1)*t_celldata.Nx+i-1].VTKCellType=9; + + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(5); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("back"); + + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i1); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i4); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i3); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i2); + + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(4); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i4-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i4-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i4-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i3-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i3-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i3-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i2-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i2-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i2-1)*3+3-1]; backnodes.push_back(i1); backnodes.push_back(i4); @@ -283,10 +398,38 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(k==t_celldata.Nz){ // for front bc elements - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i5); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i6); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i7); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i8); + frontconn[(j-1)*t_celldata.Nx+i-1].Dim=2; + frontconn[(j-1)*t_celldata.Nx+i-1].NodesNumPerElmt=4; + frontconn[(j-1)*t_celldata.Nx+i-1].VTKCellType=9; + + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(6); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("front"); + + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i5); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i6); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i7); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i8); + + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(4); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i5-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i5-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i5-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i6-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i6-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i6-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i8-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i8-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i8-1)*3+3-1]; frontnodes.push_back(i5); frontnodes.push_back(i6); @@ -320,6 +463,7 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe t_celldata.NodesNum=nLayer1Nodes*(t_celldata.Nz+1)+nLayer2Nodes*t_celldata.Nz; t_celldata.NodesNumPerBulkElmt=20; t_celldata.NodesNumPerSurfElmt=8; + t_celldata.NodesNumPerLineElmt=3; t_celldata.BulkElmtVTKCellType=25; @@ -327,7 +471,7 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe t_celldata.LineElmtMeshType=MeshType::EDGE3; t_celldata.SurfElmtVTKCellType=23; - t_celldata.SurfElmtMeshType=MeshType::QUAD9; + t_celldata.SurfElmtMeshType=MeshType::QUAD8; // for the coordinates of each node vector nodecoords; @@ -410,8 +554,6 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe backconn.resize(t_celldata.Nx*t_celldata.Ny); frontconn.resize(t_celldata.Nx*t_celldata.Ny); - tempconn.clear(); - for(k=1;k<=_Nz;++k){ for(j=1;j<=_Ny;++j){ for(i=1;i<=_Nx;++i){ @@ -440,8 +582,6 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe i18=i17+1; i19=i18+_Nx+1; i20=i19-1; - - tempconn.push_back(e); t_celldata.MeshCell_Total[e-1].Dim=3; t_celldata.MeshCell_Total[e-1].NodesNumPerElmt=20; @@ -557,15 +697,59 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe if(i==1){ // for left bc elements - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i1); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i5); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i8); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i4); - - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i17); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i16); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i20); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i12); + leftconn[(k-1)*t_celldata.Ny+j-1].Dim=2; + leftconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=8; + leftconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=23; + + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1; + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(1); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("left"); + + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i1); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i5); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i8); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i4); + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i17); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i16); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i20); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i12); + + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(8); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i5-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i5-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i5-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i8-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i8-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i8-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i4-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i4-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i4-1)*3+3-1]; + //// + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,1)=nodecoords[(i17-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,2)=nodecoords[(i17-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,3)=nodecoords[(i17-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,1)=nodecoords[(i16-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,2)=nodecoords[(i16-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,3)=nodecoords[(i16-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,1)=nodecoords[(i20-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,2)=nodecoords[(i20-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,3)=nodecoords[(i20-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,1)=nodecoords[(i12-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,2)=nodecoords[(i12-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,3)=nodecoords[(i12-1)*3+3-1]; leftnodes.push_back(i1); leftnodes.push_back(i5); @@ -578,15 +762,59 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(i==t_celldata.Nx){ // for right bc elements - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i2); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i3); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i7); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i6); - - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i10); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i19); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i14); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i18); + rightconn[(k-1)*t_celldata.Ny+j-1].Dim=2; + rightconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=8; + rightconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=23; + + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1; + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(2); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("right"); + + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i2); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i3); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i7); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i6); + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i10); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i19); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i14); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i18); + + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(8); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i2-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i2-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i2-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i3-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i3-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i3-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i6-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i6-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i6-1)*3+3-1]; + //// + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,1)=nodecoords[(i10-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,2)=nodecoords[(i10-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,3)=nodecoords[(i10-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,1)=nodecoords[(i19-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,2)=nodecoords[(i19-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,3)=nodecoords[(i19-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,1)=nodecoords[(i14-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,2)=nodecoords[(i14-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,3)=nodecoords[(i14-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,1)=nodecoords[(i18-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,2)=nodecoords[(i18-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,3)=nodecoords[(i18-1)*3+3-1]; rightnodes.push_back(i2); rightnodes.push_back(i3); @@ -599,15 +827,59 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(j==1){ // for bottom bc elements - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i1); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i2); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i6); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i5); - - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i9 ); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i18); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i13); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i17); + bottomconn[(k-1)*t_celldata.Ny+j-1].Dim=2; + bottomconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=8; + bottomconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=23; + + bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1; + bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear(); + bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(3); + bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear(); + bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("bottom"); + + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear(); + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i1); + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i2); + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i6); + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i5); + // + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i9); + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i18); + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i13); + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i17); + + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(8); + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i6-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i6-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i6-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i5-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i5-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i5-1)*3+3-1]; + //// + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,1)=nodecoords[(i9-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,2)=nodecoords[(i9-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,3)=nodecoords[(i9-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,1)=nodecoords[(i18-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,2)=nodecoords[(i18-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,3)=nodecoords[(i18-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,1)=nodecoords[(i13-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,2)=nodecoords[(i13-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,3)=nodecoords[(i13-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,1)=nodecoords[(i17-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,2)=nodecoords[(i17-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,3)=nodecoords[(i17-1)*3+3-1]; bottomnodes.push_back(i1); bottomnodes.push_back(i2); @@ -620,15 +892,59 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(j==t_celldata.Ny){ // for top bc elements - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i4); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i8); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i7); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i3); - - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i20); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i15); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i19); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i11); + topconn[(k-1)*t_celldata.Nx+i-1].Dim=2; + topconn[(k-1)*t_celldata.Nx+i-1].NodesNumPerElmt=8; + topconn[(k-1)*t_celldata.Nx+i-1].VTKCellType=23; + + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(4); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("top"); + + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i4); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i8); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i7); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i3); + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i20); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i15); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i19); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i11); + + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(8); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i4-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i4-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i4-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i8-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i8-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i8-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i3-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i3-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i3-1)*3+3-1]; + //// + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i20-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i20-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i20-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i15-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i15-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i15-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i19-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i19-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i19-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i11-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i11-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i11-1)*3+3-1]; topnodes.push_back(i4); topnodes.push_back(i8); @@ -641,15 +957,59 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(k==1){ // for back bc elements - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i1); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i4); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i3); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i2); - - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i12); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i11); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i10); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i9 ); + backconn[(j-1)*t_celldata.Nx+i-1].Dim=2; + backconn[(j-1)*t_celldata.Nx+i-1].NodesNumPerElmt=8; + backconn[(j-1)*t_celldata.Nx+i-1].VTKCellType=23; + + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(5); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("back"); + + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i1); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i4); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i3); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i2); + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i12); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i11); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i10); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i9); + + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(8); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i4-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i4-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i4-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i3-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i3-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i3-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i2-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i2-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i2-1)*3+3-1]; + //// + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i12-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i12-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i12-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i11-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i11-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i11-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i10-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i10-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i10-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i9-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i9-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i9-1)*3+3-1]; backnodes.push_back(i1); backnodes.push_back(i4); @@ -662,15 +1022,59 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(k==t_celldata.Nz){ // for front bc elements - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i5); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i6); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i7); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i8); - - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i13); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i14); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i15); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i16); + frontconn[(j-1)*t_celldata.Nx+i-1].Dim=2; + frontconn[(j-1)*t_celldata.Nx+i-1].NodesNumPerElmt=8; + frontconn[(j-1)*t_celldata.Nx+i-1].VTKCellType=23; + + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(6); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("front"); + + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i5); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i6); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i7); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i8); + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i13); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i14); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i15); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i16); + + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(8); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i5-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i5-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i5-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i6-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i6-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i6-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i8-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i8-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i8-1)*3+3-1]; + //// + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i13-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i13-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i13-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i14-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i14-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i14-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i15-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i15-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i15-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i6-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i6-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i6-1)*3+3-1]; frontnodes.push_back(i5); frontnodes.push_back(i6); @@ -710,7 +1114,7 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe t_celldata.BulkElmtVTKCellType=29; t_celldata.NodesNumPerSurfElmt=9; - t_celldata.SurfElmtVTKCellType=23; + t_celldata.SurfElmtVTKCellType=28; t_celldata.SurfElmtMeshType=MeshType::QUAD9; t_celldata.LineElmtVTKCellType=4; @@ -767,9 +1171,7 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe // backconn.resize(t_celldata.Nx*t_celldata.Ny); frontconn.resize(t_celldata.Nx*t_celldata.Ny); - - tempconn.clear(); - + for(k=1;k<=_Nz;++k){ for(j=1;j<=_Ny;++j){ for(i=1;i<=_Nx;++i){ @@ -813,8 +1215,6 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe i27=i21+1; - tempconn.push_back(e); - t_celldata.MeshCell_Total[e-1].Dim=3; t_celldata.MeshCell_Total[e-1].VTKCellType=t_celldata.BulkElmtVTKCellType; t_celldata.MeshCell_Total[e-1].NodesNumPerElmt=27; @@ -963,17 +1363,65 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe if(i==1){ // for left bc elements - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i1); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i5); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i8); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i4); - - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i17); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i16); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i20); - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i12); + leftconn[(k-1)*t_celldata.Ny+j-1].Dim=2; + leftconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=9; + leftconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=28; - leftconn[(k-1)*t_celldata.Ny+j-1].push_back(i21); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1; + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(1); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("left"); + + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear(); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i1); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i5); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i8); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i4); + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i17); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i16); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i20); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i12); + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i21); + + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(9); + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i5-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i5-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i5-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i8-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i8-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i8-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i4-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i4-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i4-1)*3+3-1]; + //// + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,1)=nodecoords[(i17-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,2)=nodecoords[(i17-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,3)=nodecoords[(i17-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,1)=nodecoords[(i16-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,2)=nodecoords[(i16-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,3)=nodecoords[(i16-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,1)=nodecoords[(i20-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,2)=nodecoords[(i20-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,3)=nodecoords[(i20-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,1)=nodecoords[(i12-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,2)=nodecoords[(i12-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,3)=nodecoords[(i12-1)*3+3-1]; + // + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(9,1)=nodecoords[(i21-1)*3+1-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(9,2)=nodecoords[(i21-1)*3+2-1]; + leftconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(9,3)=nodecoords[(i21-1)*3+3-1]; leftnodes.push_back(i1); leftnodes.push_back(i5); @@ -987,17 +1435,65 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(i==t_celldata.Nx){ // for right bc elements - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i2); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i3); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i7); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i6); - - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i10); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i19); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i14); - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i18); - - rightconn[(k-1)*t_celldata.Ny+j-1].push_back(i22); + rightconn[(k-1)*t_celldata.Ny+j-1].Dim=2; + rightconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=9; + rightconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=28; + + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1; + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(2); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("right"); + + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear(); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i2); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i3); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i7); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i6); + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i10); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i19); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i14); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i18); + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i22); + + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(9); + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i2-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i2-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i2-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i3-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i3-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i3-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i6-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i6-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i6-1)*3+3-1]; + //// + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,1)=nodecoords[(i10-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,2)=nodecoords[(i10-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,3)=nodecoords[(i10-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,1)=nodecoords[(i19-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,2)=nodecoords[(i19-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,3)=nodecoords[(i19-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,1)=nodecoords[(i14-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,2)=nodecoords[(i14-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,3)=nodecoords[(i14-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,1)=nodecoords[(i18-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,2)=nodecoords[(i18-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,3)=nodecoords[(i18-1)*3+3-1]; + // + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(9,1)=nodecoords[(i22-1)*3+1-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(9,2)=nodecoords[(i22-1)*3+2-1]; + rightconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(9,3)=nodecoords[(i22-1)*3+3-1]; rightnodes.push_back(i2); rightnodes.push_back(i3); @@ -1011,17 +1507,65 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(j==1){ // for bottom bc elements - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i1); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i2); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i6); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i5); - - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i9 ); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i18); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i13); - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i17); - - bottomconn[(k-1)*t_celldata.Nx+i-1].push_back(i23); + bottomconn[(k-1)*t_celldata.Nx+i-1].Dim=2; + bottomconn[(k-1)*t_celldata.Nx+i-1].NodesNumPerElmt=9; + bottomconn[(k-1)*t_celldata.Nx+i-1].VTKCellType=28; + + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(3); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("bottom"); + + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i1); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i2); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i6); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i5); + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i9); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i18); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i13); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i17); + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i23); + + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(9); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i6-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i6-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i6-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i5-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i5-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i5-1)*3+3-1]; + //// + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i9-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i9-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i9-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i18-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i18-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i18-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i13-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i13-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i13-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i17-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i17-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i17-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,1)=nodecoords[(i23-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,2)=nodecoords[(i23-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,3)=nodecoords[(i23-1)*3+3-1]; bottomnodes.push_back(i1); bottomnodes.push_back(i2); @@ -1035,17 +1579,65 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(j==t_celldata.Ny){ // for top bc elements - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i4); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i8); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i7); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i3); - - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i20); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i15); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i19); - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i11); - - topconn[(k-1)*t_celldata.Nx+i-1].push_back(i24); + topconn[(k-1)*t_celldata.Nx+i-1].Dim=2; + topconn[(k-1)*t_celldata.Nx+i-1].NodesNumPerElmt=9; + topconn[(k-1)*t_celldata.Nx+i-1].VTKCellType=28; + + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(4); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("top"); + + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i4); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i8); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i7); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i3); + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i20); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i15); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i19); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i11); + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i24); + + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(9); + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i4-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i4-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i4-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i8-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i8-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i8-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i3-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i3-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i3-1)*3+3-1]; + //// + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i20-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i20-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i20-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i15-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i15-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i15-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i19-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i19-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i19-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i11-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i11-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i11-1)*3+3-1]; + // + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,1)=nodecoords[(i24-1)*3+1-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,2)=nodecoords[(i24-1)*3+2-1]; + topconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,3)=nodecoords[(i24-1)*3+3-1]; topnodes.push_back(i4); topnodes.push_back(i8); @@ -1059,17 +1651,65 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(k==1){ // for back bc elements - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i1); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i4); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i3); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i2); - - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i12); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i11); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i10); - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i9 ); - - backconn[(j-1)*t_celldata.Nx+i-1].push_back(i25); + backconn[(j-1)*t_celldata.Nx+i-1].Dim=2; + backconn[(j-1)*t_celldata.Nx+i-1].NodesNumPerElmt=9; + backconn[(j-1)*t_celldata.Nx+i-1].VTKCellType=28; + + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(5); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("back"); + + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i1); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i4); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i3); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i2); + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i12); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i11); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i10); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i9); + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i25); + + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(9); + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i4-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i4-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i4-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i3-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i3-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i3-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i2-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i2-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i2-1)*3+3-1]; + //// + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i12-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i12-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i12-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i11-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i11-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i11-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i10-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i10-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i10-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i9-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i9-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i9-1)*3+3-1]; + // + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,1)=nodecoords[(i25-1)*3+1-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,2)=nodecoords[(i25-1)*3+2-1]; + backconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,3)=nodecoords[(i25-1)*3+3-1]; backnodes.push_back(i1); backnodes.push_back(i4); @@ -1083,17 +1723,65 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(k==t_celldata.Nz){ // for front bc elements - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i5); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i6); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i7); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i8); - - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i13); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i14); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i15); - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i16); - - frontconn[(j-1)*t_celldata.Nx+i-1].push_back(i26); + frontconn[(j-1)*t_celldata.Nx+i-1].Dim=2; + frontconn[(j-1)*t_celldata.Nx+i-1].NodesNumPerElmt=9; + frontconn[(j-1)*t_celldata.Nx+i-1].VTKCellType=28; + + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(6); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("front"); + + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i5); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i6); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i7); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i8); + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i13); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i14); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i15); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i16); + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i26); + + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(9); + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i5-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i5-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i5-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i6-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i6-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i6-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i7-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i7-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i7-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i8-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i8-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i8-1)*3+3-1]; + //// + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i13-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i13-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i13-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i14-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i14-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i14-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i15-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i15-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i15-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i16-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i16-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i16-1)*3+3-1]; + // + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,1)=nodecoords[(i26-1)*3+1-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,2)=nodecoords[(i26-1)*3+2-1]; + frontconn[(j-1)*t_celldata.Nx+i-1].ElmtNodeCoords(9,3)=nodecoords[(i26-1)*3+3-1]; frontnodes.push_back(i5); frontnodes.push_back(i6); @@ -1111,5 +1799,212 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe }//end-of-hex27-mesh + // remove the duplicate node id, for nodal type set, you don't need these duplicate node ids! + sort(leftnodes.begin(),leftnodes.end()); + leftnodes.erase(unique(leftnodes.begin(),leftnodes.end()),leftnodes.end()); + // for rightnodes + sort(rightnodes.begin(),rightnodes.end()); + rightnodes.erase(unique(rightnodes.begin(),rightnodes.end()),rightnodes.end()); + // for bottomnodes + sort(bottomnodes.begin(),bottomnodes.end()); + bottomnodes.erase(unique(bottomnodes.begin(),bottomnodes.end()),bottomnodes.end()); + // for topnodes + sort(topnodes.begin(),topnodes.end()); + topnodes.erase(unique(topnodes.begin(),topnodes.end()),topnodes.end()); + // for backnodes + sort(backnodes.begin(),backnodes.end()); + backnodes.erase(unique(backnodes.begin(),backnodes.end()),backnodes.end()); + // for frontnodes + sort(frontnodes.begin(),frontnodes.end()); + frontnodes.erase(unique(frontnodes.begin(),frontnodes.end()),frontnodes.end()); + + // setup the physical group information + t_celldata.PhyGroupNum_Global=1+6; + t_celldata.PhyDimVector_Global.resize(1+6,0); + t_celldata.PhyIDVector_Global.resize(1+6,0); + t_celldata.PhyNameVector_Global.resize(1+6); + t_celldata.PhyGroupElmtsNumVector_Global.resize(1+6,0); + + // for physical dim vector + t_celldata.PhyDimVector_Global[0]=3; + t_celldata.PhyDimVector_Global[1]=2; + t_celldata.PhyDimVector_Global[2]=2; + t_celldata.PhyDimVector_Global[3]=2; + t_celldata.PhyDimVector_Global[4]=2; + t_celldata.PhyDimVector_Global[5]=2; + t_celldata.PhyDimVector_Global[6]=2; + + // for physical id vector + t_celldata.PhyIDVector_Global[0]=0; + t_celldata.PhyIDVector_Global[1]=1; + t_celldata.PhyIDVector_Global[2]=2; + t_celldata.PhyIDVector_Global[3]=3; + t_celldata.PhyIDVector_Global[4]=4; + t_celldata.PhyIDVector_Global[5]=5; + t_celldata.PhyIDVector_Global[6]=6; + + // for physical name vector + t_celldata.PhyNameVector_Global[0]="alldomain"; + t_celldata.PhyNameVector_Global[1]="left"; + t_celldata.PhyNameVector_Global[2]="right"; + t_celldata.PhyNameVector_Global[3]="bottom"; + t_celldata.PhyNameVector_Global[4]="top"; + t_celldata.PhyNameVector_Global[5]="back"; + t_celldata.PhyNameVector_Global[6]="front"; + + // for phy group elmts num vector + t_celldata.PhyGroupElmtsNumVector_Global[0]=static_cast(t_celldata.BulkElmtsNum); + t_celldata.PhyGroupElmtsNumVector_Global[1]=static_cast(leftconn.size()); + t_celldata.PhyGroupElmtsNumVector_Global[2]=static_cast(rightconn.size()); + t_celldata.PhyGroupElmtsNumVector_Global[3]=static_cast(bottomconn.size()); + t_celldata.PhyGroupElmtsNumVector_Global[4]=static_cast(topconn.size()); + t_celldata.PhyGroupElmtsNumVector_Global[5]=static_cast(backconn.size()); + t_celldata.PhyGroupElmtsNumVector_Global[6]=static_cast(frontconn.size()); + + /** + * setup id<---->name map + */ + // id--->name map + t_celldata.PhyID2NameMap_Global[0]="alldomain"; + t_celldata.PhyID2NameMap_Global[1]="left"; + t_celldata.PhyID2NameMap_Global[2]="right"; + t_celldata.PhyID2NameMap_Global[3]="bottom"; + t_celldata.PhyID2NameMap_Global[4]="top"; + t_celldata.PhyID2NameMap_Global[5]="back"; + t_celldata.PhyID2NameMap_Global[6]="front"; + // name--->id map + t_celldata.PhyName2IDMap_Global["alldomain"]=0; + t_celldata.PhyName2IDMap_Global["left"]=1; + t_celldata.PhyName2IDMap_Global["right"]=2; + t_celldata.PhyName2IDMap_Global["bottom"]=3; + t_celldata.PhyName2IDMap_Global["top"]=4; + t_celldata.PhyName2IDMap_Global["back"]=5; + t_celldata.PhyName2IDMap_Global["front"]=6; + + /** + * Setup the global mapping, this should only be nonzero on master rank !!! + */ + t_celldata.PhyName2MeshCellVectorMap_Global["alldomain"]=t_celldata.MeshCell_Total; + t_celldata.PhyName2MeshCellVectorMap_Global["left"]=leftconn; + t_celldata.PhyName2MeshCellVectorMap_Global["right"]=rightconn; + t_celldata.PhyName2MeshCellVectorMap_Global["bottom"]=bottomconn; + t_celldata.PhyName2MeshCellVectorMap_Global["top"]=topconn; + t_celldata.PhyName2MeshCellVectorMap_Global["back"]=backconn; + t_celldata.PhyName2MeshCellVectorMap_Global["front"]=frontconn; + + t_celldata.PhyID2MeshCellVectorMap_Global[0]=t_celldata.MeshCell_Total; + t_celldata.PhyID2MeshCellVectorMap_Global[1]=leftconn; + t_celldata.PhyID2MeshCellVectorMap_Global[2]=rightconn; + t_celldata.PhyID2MeshCellVectorMap_Global[3]=bottomconn; + t_celldata.PhyID2MeshCellVectorMap_Global[4]=topconn; + t_celldata.PhyID2MeshCellVectorMap_Global[5]=backconn; + t_celldata.PhyID2MeshCellVectorMap_Global[6]=frontconn; + + /** + * Setup the nodal physical info group + */ + t_celldata.NodalPhyGroupNum_Global=6; + t_celldata.NodalPhyIDVector_Global.resize(6); + t_celldata.NodalPhyNameVector_Global.resize(6); + t_celldata.NodalPhyGroupNodesNumVector_Global.resize(6); + + t_celldata.NodalPhyIDVector_Global[0]=10001; + t_celldata.NodalPhyIDVector_Global[1]=10002; + t_celldata.NodalPhyIDVector_Global[2]=10003; + t_celldata.NodalPhyIDVector_Global[3]=10004; + t_celldata.NodalPhyIDVector_Global[4]=10005; + t_celldata.NodalPhyIDVector_Global[5]=10006; + + t_celldata.NodalPhyNameVector_Global[0]="leftnodes"; + t_celldata.NodalPhyNameVector_Global[1]="rightnodes"; + t_celldata.NodalPhyNameVector_Global[2]="bottomnodes"; + t_celldata.NodalPhyNameVector_Global[3]="topnodes"; + t_celldata.NodalPhyNameVector_Global[4]="backnodes"; + t_celldata.NodalPhyNameVector_Global[5]="frontnodes"; + + t_celldata.NodalPhyGroupNodesNumVector_Global[0]=static_cast(leftnodes.size()); + t_celldata.NodalPhyGroupNodesNumVector_Global[1]=static_cast(rightnodes.size()); + t_celldata.NodalPhyGroupNodesNumVector_Global[2]=static_cast(bottomnodes.size()); + t_celldata.NodalPhyGroupNodesNumVector_Global[3]=static_cast(topnodes.size()); + t_celldata.NodalPhyGroupNodesNumVector_Global[4]=static_cast(backnodes.size()); + t_celldata.NodalPhyGroupNodesNumVector_Global[5]=static_cast(frontnodes.size()); + + t_celldata.NodalPhyID2NameMap_Global[10001]="left"; + t_celldata.NodalPhyID2NameMap_Global[10002]="right"; + t_celldata.NodalPhyID2NameMap_Global[10003]="bottom"; + t_celldata.NodalPhyID2NameMap_Global[10004]="top"; + t_celldata.NodalPhyID2NameMap_Global[10005]="back"; + t_celldata.NodalPhyID2NameMap_Global[10006]="front"; + + t_celldata.NodalPhyName2IDMap_Global["left"]=10001; + t_celldata.NodalPhyName2IDMap_Global["right"]=10002; + t_celldata.NodalPhyName2IDMap_Global["bottom"]=10003; + t_celldata.NodalPhyName2IDMap_Global["top"]=10004; + t_celldata.NodalPhyName2IDMap_Global["back"]=10005; + t_celldata.NodalPhyName2IDMap_Global["front"]=10006; + + /** + * Now we start to distribute the gloabl mesh into different ranks + */ + // send out the physical group info + MPI_Request request; + int cpuid; + for(cpuid=1;cpuid LocalCellVector; + + t_celldata.PhyID2MeshCellVectorMap_Local.clear(); + t_celldata.PhyName2MeshCellVectorMap_Local.clear(); + + for(cpuid=0;cpuid(leftconn.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(leftconn.size()); + LocalSize=iEnd-iStart+1; + LocalCellVector.clear(); + for(int e=iStart;e<=iEnd;e++){ + LocalCellVector.push_back(leftconn[e-1]); + } + if(cpuid==0){ + t_celldata.PhyID2MeshCellVectorMap_Local[1]=LocalCellVector; + t_celldata.PhyName2MeshCellVectorMap_Local["left"]=LocalCellVector; + } + else{ + MPI_Isend(&LocalSize,1,MPI_INT,cpuid,3,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + } + } + }// end-of-if(rank==0) + + // now we distribute the global mesh into different ranks + + return true; } \ No newline at end of file From 00e181ea9cca5953e7def35a5b7b6abecca74562 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Tue, 16 Jan 2024 20:29:53 +0100 Subject: [PATCH 09/29] remove duplicate code according to https://github.com/MatMechLab/AsFem/issues/86#issue-2083973769 --- src/InputSystem/ReadNLSolverBlock.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/InputSystem/ReadNLSolverBlock.cpp b/src/InputSystem/ReadNLSolverBlock.cpp index 3ac6e4e9..5b938880 100644 --- a/src/InputSystem/ReadNLSolverBlock.cpp +++ b/src/InputSystem/ReadNLSolverBlock.cpp @@ -135,18 +135,6 @@ bool InputSystem::readNLSolverBlock(nlohmann::json &t_json,NonlinearSolver &t_nl t_nlsolver.m_nlsolverblock.m_reltol_r=1.0e-9; } //********************************************** - if(t_json.contains("rel-tolerance")){ - if(!t_json.at("rel-tolerance").is_number_float()){ - MessagePrinter::printErrorTxt("the rel-tolerance in your nlsolver block is not a valid float," - "please check your input file"); - return false; - } - t_nlsolver.m_nlsolverblock.m_reltol_r=t_json.at("rel-tolerance"); - } - else{ - t_nlsolver.m_nlsolverblock.m_reltol_r=1.0e-9; - } - //********************************************** if(t_json.contains("s-tolerance")){ if(!t_json.at("s-tolerance").is_number_float()){ MessagePrinter::printErrorTxt("the s-tolerance in your nlsolver block is not a valid float," From 5fb286c03b7e26a4e9d36d4506534d52bf5e3fbb Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Tue, 16 Jan 2024 21:14:35 +0100 Subject: [PATCH 10/29] start working on MPI message bus for mesh cell --- SourceCode.cmake | 6 +++ include/MPITool/MPITool.h | 51 ++++++++++++++++++++++++ src/MPITool/MPIToolForMeshCell.cpp | 63 ++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 include/MPITool/MPITool.h create mode 100644 src/MPITool/MPIToolForMeshCell.cpp diff --git a/SourceCode.cmake b/SourceCode.cmake index a2e3d0d7..6e9b68d6 100644 --- a/SourceCode.cmake +++ b/SourceCode.cmake @@ -34,6 +34,12 @@ set(src ${src} src/Utils/JsonUtils.cpp) set(inc ${inc} include/Utils/Timer.h) set(src ${src} src/Utils/Timer.cpp) +############################################################# +### For MPITool ### +############################################################# +set(inc ${inc} include/MPITool/MPITool.h) +set(src ${inc} src/MPITool/MPIToolForMeshCell.cpp) + ############################################################# ### For mathematic utils ### ############################################################# diff --git a/include/MPITool/MPITool.h b/include/MPITool/MPITool.h new file mode 100644 index 00000000..c6017c35 --- /dev/null +++ b/include/MPITool/MPITool.h @@ -0,0 +1,51 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.16 +//+++ Purpose: Implement the message sender/receiver among mpi ranks +//+++ for mesh cell, and other data structure +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#pragma once + +#include +#include +#include +#include + +#include "FECell/SingleMeshCell.h" + +#include "mpi.h" + +/** + * This class implement the message send/receive API for mesh cell and other data structure among mpi ranks +*/ +class MPITool{ +public: + /** + * Constructor + */ + MPITool(){} + + /** + * Send mesh cell data from master rank to others, this should be called on master rank + * @param meshcellvec the mesh cell vector to be sent + * @param tag the id of the sending message + * @param cpuid the rank id used to receive the message + */ + static void sendMeshCell2Others(const vector &meshcellvec,const int &tag,const int &cpuid); + /** + * Receive the mesh cell data from master rank, this should be called on each rank locally + * @param the mesh cell vector used to store the data from master rank + * @param tag the received message tag + * @param cpuid the cpuid to receive the message + */ + static void receiveMeshCellFromMaster(vector &meshcellvec,const int &tag,const int &cpuid); +}; \ No newline at end of file diff --git a/src/MPITool/MPIToolForMeshCell.cpp b/src/MPITool/MPIToolForMeshCell.cpp new file mode 100644 index 00000000..2e95c557 --- /dev/null +++ b/src/MPITool/MPIToolForMeshCell.cpp @@ -0,0 +1,63 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.16 +//+++ Purpose: Implement the function of send/receive mesh cell +//+++ among mpi ranks +//+++ Send : master ----> other ranks +//+++ Receive: others <----- master +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#include "MPITool/MPITool.h" + +void MPITool::sendMeshCell2Others(const vector &meshcellvec,const int &tag,const int &cpuid){ + int basetag; + basetag=tag; + + int datasize; + + MPI_Request request; + + // send out the length of the mesh cell vector + datasize=static_cast(meshcellvec.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + for(const auto &cell:meshcellvec){ + // send Dim + MPI_Isend(&cell.Dim,1,MPI_INT,cpuid,basetag+2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send NodesNumPerElmt + MPI_Isend(&cell.NodesNumPerElmt,1,MPI_INT,cpuid,basetag+3,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtConn + datasize=static_cast(cell.ElmtConn.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+4,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + MPI_Isend(cell.ElmtConn.data(),datasize,MPI_INT,cpuid,basetag+5,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtNodeCoords0 + datasize=static_cast(cell.ElmtNodeCoords0.getSize()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+6,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + MPI_Isend(cell.ElmtNodeCoords0.getData(),datasize,MPI_INT,cpuid,basetag+7,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send VTKCellType + MPI_Isend(&cell.VTKCellType,1,MPI_INT,cpuid,basetag+8,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + } + +} \ No newline at end of file From 83ea5de7497b50494fe5d735662694db9f9a6307 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Wed, 17 Jan 2024 19:29:06 +0100 Subject: [PATCH 11/29] rename MPITool --- SourceCode.cmake | 4 ++-- include/{MPITool/MPITool.h => MPIUtils/MPIDataBus.h} | 4 ++-- .../MPIToolForMeshCell.cpp => MPIUtils/MPIDataBus.cpp} | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) rename include/{MPITool/MPITool.h => MPIUtils/MPIDataBus.h} (97%) rename src/{MPITool/MPIToolForMeshCell.cpp => MPIUtils/MPIDataBus.cpp} (89%) diff --git a/SourceCode.cmake b/SourceCode.cmake index 6e9b68d6..c29726de 100644 --- a/SourceCode.cmake +++ b/SourceCode.cmake @@ -37,8 +37,8 @@ set(src ${src} src/Utils/Timer.cpp) ############################################################# ### For MPITool ### ############################################################# -set(inc ${inc} include/MPITool/MPITool.h) -set(src ${inc} src/MPITool/MPIToolForMeshCell.cpp) +set(inc ${inc} include/MPIUtils/MPIDataBus.h) +set(src ${src} src/MPIUtils/MPIDataBus.cpp) ############################################################# ### For mathematic utils ### diff --git a/include/MPITool/MPITool.h b/include/MPIUtils/MPIDataBus.h similarity index 97% rename from include/MPITool/MPITool.h rename to include/MPIUtils/MPIDataBus.h index c6017c35..4b390feb 100644 --- a/include/MPITool/MPITool.h +++ b/include/MPIUtils/MPIDataBus.h @@ -27,12 +27,12 @@ /** * This class implement the message send/receive API for mesh cell and other data structure among mpi ranks */ -class MPITool{ +class MPIDataBus{ public: /** * Constructor */ - MPITool(){} + MPIDataBus() {} /** * Send mesh cell data from master rank to others, this should be called on master rank diff --git a/src/MPITool/MPIToolForMeshCell.cpp b/src/MPIUtils/MPIDataBus.cpp similarity index 89% rename from src/MPITool/MPIToolForMeshCell.cpp rename to src/MPIUtils/MPIDataBus.cpp index 2e95c557..fefb52fd 100644 --- a/src/MPITool/MPIToolForMeshCell.cpp +++ b/src/MPIUtils/MPIDataBus.cpp @@ -15,9 +15,9 @@ //+++ Receive: others <----- master //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -#include "MPITool/MPITool.h" +#include "MPIUtils/MPIDataBus.h" -void MPITool::sendMeshCell2Others(const vector &meshcellvec,const int &tag,const int &cpuid){ +void MPIDataBus::sendMeshCell2Others(const vector &meshcellvec,const int &tag,const int &cpuid){ int basetag; basetag=tag; @@ -52,7 +52,7 @@ void MPITool::sendMeshCell2Others(const vector &meshcellvec,cons MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+6,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); // - MPI_Isend(cell.ElmtNodeCoords0.getData(),datasize,MPI_INT,cpuid,basetag+7,MPI_COMM_WORLD,&request); + MPI_Isend(cell.ElmtNodeCoords0.getCopy().data(),datasize,MPI_INT,cpuid,basetag+7,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); // send VTKCellType From 68e8452bb3ecee532f8e33908159d5fab5c713fc Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Wed, 17 Jan 2024 20:39:55 +0100 Subject: [PATCH 12/29] fix bug & add new funs in Nodes class --- include/Mesh/Nodes.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/include/Mesh/Nodes.h b/include/Mesh/Nodes.h index 21ffb61b..e1d3a78b 100644 --- a/include/Mesh/Nodes.h +++ b/include/Mesh/Nodes.h @@ -151,7 +151,7 @@ class Nodes{ Nodes& operator=(const Nodes &a){ m_size=a.m_size; m_coordinates.resize(m_size*3,0.0); - for(int i=1;i<=a.m_size*3;i++) m_coordinates[i]=a[i]; + for(int i=1;i<=a.m_size*3;i++) m_coordinates[i-1]=a[i]; return *this; } //************************************************ @@ -161,6 +161,10 @@ class Nodes{ * get the size/number of total nodes */ inline int getSize()const{return m_size;} + /** + * get the length of coordinate vector + */ + inline int getLength()const{return m_size*3;} /** * get the i-th node's j-th coordinate * @param i i-th node @@ -177,6 +181,19 @@ class Nodes{ } return m_coordinates[(i-1)*3+j-1]; } + + /** + * get the data of the coordinates vector + */ + inline double* getData(){return m_coordinates.data();} + /** + * get the reference of coordinate vector + */ + inline vector& getDataRef(){return m_coordinates;} + /** + * get the copy of coordinate vector + */ + inline vector getCopy()const{return m_coordinates;} private: From 6608db087acc7fc22f1c97869746153784f455dc Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Wed, 17 Jan 2024 20:50:21 +0100 Subject: [PATCH 13/29] add MeshCell transport in MPI data bus --- include/MPIUtils/MPIDataBus.h | 2 +- src/MPIUtils/MPIDataBus.cpp | 45 +++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/include/MPIUtils/MPIDataBus.h b/include/MPIUtils/MPIDataBus.h index 4b390feb..b4111a35 100644 --- a/include/MPIUtils/MPIDataBus.h +++ b/include/MPIUtils/MPIDataBus.h @@ -47,5 +47,5 @@ class MPIDataBus{ * @param tag the received message tag * @param cpuid the cpuid to receive the message */ - static void receiveMeshCellFromMaster(vector &meshcellvec,const int &tag,const int &cpuid); + static void receiveMeshCellFromMaster(vector &meshcellvec,const int &tag); }; \ No newline at end of file diff --git a/src/MPIUtils/MPIDataBus.cpp b/src/MPIUtils/MPIDataBus.cpp index fefb52fd..c6a65e76 100644 --- a/src/MPIUtils/MPIDataBus.cpp +++ b/src/MPIUtils/MPIDataBus.cpp @@ -60,4 +60,49 @@ void MPIDataBus::sendMeshCell2Others(const vector &meshcellvec,c MPI_Wait(&request,MPI_STATUS_IGNORE); } +} +//******************************************************** +void MPIDataBus::receiveMeshCellFromMaster(vector &meshcellvec,const int &tag){ + int basetag; + basetag=tag; + + int datasize; + + MPI_Request request; + + // send out the length of the mesh cell vector + MPI_Irecv(&datasize,1,MPI_INT,0,basetag+1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + meshcellvec.resize(datasize); + for(auto &cell:meshcellvec){ + // receive Dim + MPI_Irecv(&cell.Dim,1,MPI_INT,0,basetag+2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // receive NodesNumPerElmt + MPI_Irecv(&cell.NodesNumPerElmt,1,MPI_INT,0,basetag+3,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // receive ElmtConn + MPI_Irecv(&datasize,1,MPI_INT,0,basetag+4,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + cell.ElmtConn.resize(datasize,0); + MPI_Irecv(cell.ElmtConn.data(),datasize,MPI_INT,0,basetag+5,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtNodeCoords0 + MPI_Irecv(&datasize,1,MPI_INT,0,basetag+6,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + cell.ElmtNodeCoords0.resize(datasize); + MPI_Irecv(cell.ElmtNodeCoords0.getData(),datasize,MPI_INT,0,basetag+7,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + cell.ElmtNodeCoords=cell.ElmtNodeCoords0;// make a copy + + // send VTKCellType + MPI_Irecv(&cell.VTKCellType,1,MPI_INT,0,basetag+8,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + } } \ No newline at end of file From 16b183cf350b845a6ac2c4352d0e2cd7e7800e8d Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Wed, 17 Jan 2024 21:16:55 +0100 Subject: [PATCH 14/29] add phy name/id to mesh cell map ticket in MPIDataBus --- include/MPIUtils/MPIDataBus.h | 32 ++++- src/MPIUtils/MPIDataBus.cpp | 225 +++++++++++++++++++++++++++++++++- 2 files changed, 255 insertions(+), 2 deletions(-) diff --git a/include/MPIUtils/MPIDataBus.h b/include/MPIUtils/MPIDataBus.h index b4111a35..a33f2f1a 100644 --- a/include/MPIUtils/MPIDataBus.h +++ b/include/MPIUtils/MPIDataBus.h @@ -40,7 +40,7 @@ class MPIDataBus{ * @param tag the id of the sending message * @param cpuid the rank id used to receive the message */ - static void sendMeshCell2Others(const vector &meshcellvec,const int &tag,const int &cpuid); + static void sendMeshCellToOthers(const vector &meshcellvec,const int &tag,const int &cpuid); /** * Receive the mesh cell data from master rank, this should be called on each rank locally * @param the mesh cell vector used to store the data from master rank @@ -48,4 +48,34 @@ class MPIDataBus{ * @param cpuid the cpuid to receive the message */ static void receiveMeshCellFromMaster(vector &meshcellvec,const int &tag); + + /** + * Send the physical name and mesh cell to each rank + * @param phyname the physical group name to be sent + * @param meshcellvec the mesh cell vector to be sent + * @param tag the id of the sending message + * @param cpuid the rank id used to receive the message + */ + static void sendPhyName2MeshCellMapToOthers(const string &phyname,const vector &meshcellvec,const int &tag,const int &cpuid); + /** + * Receive the physical group name and mesh cell for local map + * @param localmap the local phyname-->meshcellvector map + * @param tag the id of the sending message + */ + static void receivePhyName2MeshCellMapFromMaster(map> &localmap,const int &tag); + + /** + * Send the physical id and mesh cell to each rank + * @param phyid the physical group id to be sent + * @param meshcellvec the mesh cell vector to be sent + * @param tag the id of the sending message + * @param cpuid the rank id used to receive the message + */ + static void sendPhyName2MeshCellMapToOthers(const int &phyid,const vector &meshcellvec,const int &tag,const int &cpuid); + /** + * Receive the physical group name and mesh cell for local map + * @param localmap the local id-->meshcellvector map + * @param tag the id of the sending message + */ + static void receivePhyID2MeshCellMapFromMaster(map> &localmap,const int &tag); }; \ No newline at end of file diff --git a/src/MPIUtils/MPIDataBus.cpp b/src/MPIUtils/MPIDataBus.cpp index c6a65e76..c7a63527 100644 --- a/src/MPIUtils/MPIDataBus.cpp +++ b/src/MPIUtils/MPIDataBus.cpp @@ -17,7 +17,7 @@ #include "MPIUtils/MPIDataBus.h" -void MPIDataBus::sendMeshCell2Others(const vector &meshcellvec,const int &tag,const int &cpuid){ +void MPIDataBus::sendMeshCellToOthers(const vector &meshcellvec,const int &tag,const int &cpuid){ int basetag; basetag=tag; @@ -105,4 +105,227 @@ void MPIDataBus::receiveMeshCellFromMaster(vector &meshcellvec,c MPI_Irecv(&cell.VTKCellType,1,MPI_INT,0,basetag+8,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); } +} + +//*********************************************************** +void MPIDataBus::sendPhyName2MeshCellMapToOthers(const string &phyname,const vector &meshcellvec,const int &tag,const int &cpuid){ + int basetag; + basetag=tag; + + int datasize; + + MPI_Request request; + + // send out the physical name to each rank + datasize=static_cast(phyname.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // send the char + MPI_Isend(phyname.c_str(),datasize,MPI_CHAR,cpuid,basetag+2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send out the length of the mesh cell vector + datasize=static_cast(meshcellvec.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+3,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + for(const auto &cell:meshcellvec){ + // send Dim + MPI_Isend(&cell.Dim,1,MPI_INT,cpuid,basetag+4,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send NodesNumPerElmt + MPI_Isend(&cell.NodesNumPerElmt,1,MPI_INT,cpuid,basetag+5,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtConn + datasize=static_cast(cell.ElmtConn.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+6,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + MPI_Isend(cell.ElmtConn.data(),datasize,MPI_INT,cpuid,basetag+7,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtNodeCoords0 + datasize=static_cast(cell.ElmtNodeCoords0.getSize()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+8,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + MPI_Isend(cell.ElmtNodeCoords0.getCopy().data(),datasize,MPI_INT,cpuid,basetag+9,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send VTKCellType + MPI_Isend(&cell.VTKCellType,1,MPI_INT,cpuid,basetag+10,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + } +} +//************************************************************************* +void MPIDataBus::receivePhyName2MeshCellMapFromMaster(map> &localmap,const int &tag){ + int basetag; + basetag=tag; + + string phyname; + char buff[108]; + + int datasize; + + MPI_Request request; + vector meshcellvec; + + // send out the physical name to each rank + MPI_Irecv(&datasize,1,MPI_INT,0,basetag+1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // send the char + MPI_Irecv(buff,datasize,MPI_CHAR,0,basetag+2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + phyname.clear(); + for(int i=0;i &meshcellvec,const int &tag,const int &cpuid){ + int basetag; + basetag=tag; + + int datasize; + + MPI_Request request; + + // send out the physical name to each rank + MPI_Isend(&phyid,1,MPI_INT,cpuid,basetag+1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send out the length of the mesh cell vector + datasize=static_cast(meshcellvec.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + for(const auto &cell:meshcellvec){ + // send Dim + MPI_Isend(&cell.Dim,1,MPI_INT,cpuid,basetag+3,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send NodesNumPerElmt + MPI_Isend(&cell.NodesNumPerElmt,1,MPI_INT,cpuid,basetag+4,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtConn + datasize=static_cast(cell.ElmtConn.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+5,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + MPI_Isend(cell.ElmtConn.data(),datasize,MPI_INT,cpuid,basetag+6,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtNodeCoords0 + datasize=static_cast(cell.ElmtNodeCoords0.getSize()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+7,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + MPI_Isend(cell.ElmtNodeCoords0.getCopy().data(),datasize,MPI_INT,cpuid,basetag+8,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send VTKCellType + MPI_Isend(&cell.VTKCellType,1,MPI_INT,cpuid,basetag+9,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + } +} +//*************************************************************** +void MPIDataBus::receivePhyID2MeshCellMapFromMaster(map> &localmap,const int &tag){ + int basetag; + basetag=tag; + + int datasize; + int phyid; + + MPI_Request request; + vector meshcellvec; + + // send out the physical name to each rank + MPI_Irecv(&phyid,1,MPI_INT,0,basetag+1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send out the length of the mesh cell vector + MPI_Irecv(&datasize,1,MPI_INT,0,basetag+2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + meshcellvec.resize(datasize); + for(auto &cell:meshcellvec){ + // send Dim + MPI_Irecv(&cell.Dim,1,MPI_INT,0,basetag+3,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send NodesNumPerElmt + MPI_Irecv(&cell.NodesNumPerElmt,1,MPI_INT,0,basetag+4,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtConn + datasize=0; + MPI_Irecv(&datasize,1,MPI_INT,0,basetag+5,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + cell.ElmtConn.resize(datasize,0); + MPI_Irecv(cell.ElmtConn.data(),datasize,MPI_INT,0,basetag+6,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send ElmtNodeCoords0 + datasize=0; + MPI_Irecv(&datasize,1,MPI_INT,0,basetag+7,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // + cell.ElmtNodeCoords0.resize(datasize); + MPI_Irecv(cell.ElmtNodeCoords0.getCopy().data(),datasize,MPI_INT,0,basetag+8,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + cell.ElmtNodeCoords=cell.ElmtNodeCoords0; + + // send VTKCellType + MPI_Irecv(&cell.VTKCellType,1,MPI_INT,0,basetag+9,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + } + + localmap.clear(); + localmap[phyid]=meshcellvec; + meshcellvec.clear(); } \ No newline at end of file From 91c4457382f5d8e30f64d6e59e421cf88a76334d Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Thu, 18 Jan 2024 21:49:47 +0100 Subject: [PATCH 15/29] allow MPIDataBus in Lagrange3DMeshCellGenerator --- include/MPIUtils/MPIDataBus.h | 2 +- src/FECell/Lagrange3DMeshCellGenerator.cpp | 235 +++++++++++++++++++-- src/MPIUtils/MPIDataBus.cpp | 14 +- src/main.cpp | 1 - 4 files changed, 225 insertions(+), 27 deletions(-) diff --git a/include/MPIUtils/MPIDataBus.h b/include/MPIUtils/MPIDataBus.h index a33f2f1a..509370b3 100644 --- a/include/MPIUtils/MPIDataBus.h +++ b/include/MPIUtils/MPIDataBus.h @@ -71,7 +71,7 @@ class MPIDataBus{ * @param tag the id of the sending message * @param cpuid the rank id used to receive the message */ - static void sendPhyName2MeshCellMapToOthers(const int &phyid,const vector &meshcellvec,const int &tag,const int &cpuid); + static void sendPhyID2MeshCellMapToOthers(const int &phyid,const vector &meshcellvec,const int &tag,const int &cpuid); /** * Receive the physical group name and mesh cell for local map * @param localmap the local id-->meshcellvector map diff --git a/src/FECell/Lagrange3DMeshCellGenerator.cpp b/src/FECell/Lagrange3DMeshCellGenerator.cpp index ffc7240d..91b22067 100644 --- a/src/FECell/Lagrange3DMeshCellGenerator.cpp +++ b/src/FECell/Lagrange3DMeshCellGenerator.cpp @@ -14,6 +14,7 @@ #include "FECell/Lagrange3DMeshCellGenerator.h" #include "FECell/SingleMeshCell.h" +#include "MPIUtils/MPIDataBus.h" Lagrange3DMeshCellGenerator::Lagrange3DMeshCellGenerator(){ m_mesh_generated=false; @@ -1947,15 +1948,10 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe * Now we start to distribute the gloabl mesh into different ranks */ // send out the physical group info - MPI_Request request; int cpuid; - for(cpuid=1;cpuid LocalCellVector; t_celldata.PhyID2MeshCellVectorMap_Local.clear(); @@ -1966,11 +1962,11 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe iStart=cpuid*ranksize; iEnd=(cpuid+1)*ranksize; if(cpuid==size-1) iEnd=t_celldata.BulkElmtsNum; - LocalSize=iEnd-iStart+1; LocalCellVector.clear(); - for(int e=iStart;e<=iEnd;e++){ - LocalCellVector.push_back(t_celldata.MeshCell_Total[e-1]); + cout<<"cpuid="<(leftconn.size()); - LocalSize=iEnd-iStart+1; LocalCellVector.clear(); - for(int e=iStart;e<=iEnd;e++){ - LocalCellVector.push_back(leftconn[e-1]); + for(int e=iStart;e(rightconn.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(rightconn.size()); + LocalCellVector.clear(); + for(int e=iStart;e(bottomconn.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(bottomconn.size()); + LocalCellVector.clear(); + for(int e=iStart;e(topconn.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(topconn.size()); + LocalCellVector.clear(); + for(int e=iStart;e(backconn.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(backconn.size()); + LocalCellVector.clear(); + for(int e=iStart;e(frontconn.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(frontconn.size()); + LocalCellVector.clear(); + for(int e=iStart;ename map + */ + // id--->name map + t_celldata.PhyID2NameMap_Global[0]="alldomain"; + t_celldata.PhyID2NameMap_Global[1]="left"; + t_celldata.PhyID2NameMap_Global[2]="right"; + t_celldata.PhyID2NameMap_Global[3]="bottom"; + t_celldata.PhyID2NameMap_Global[4]="top"; + t_celldata.PhyID2NameMap_Global[5]="back"; + t_celldata.PhyID2NameMap_Global[6]="front"; + // name--->id map + t_celldata.PhyName2IDMap_Global["alldomain"]=0; + t_celldata.PhyName2IDMap_Global["left"]=1; + t_celldata.PhyName2IDMap_Global["right"]=2; + t_celldata.PhyName2IDMap_Global["bottom"]=3; + t_celldata.PhyName2IDMap_Global["top"]=4; + t_celldata.PhyName2IDMap_Global["back"]=5; + t_celldata.PhyName2IDMap_Global["front"]=6; + + /** + * Setup the nodal physical info group + */ + t_celldata.NodalPhyGroupNum_Global=6; + t_celldata.NodalPhyIDVector_Global.resize(6); + t_celldata.NodalPhyNameVector_Global.resize(6); + t_celldata.NodalPhyGroupNodesNumVector_Global.resize(6); + + t_celldata.NodalPhyIDVector_Global[0]=10001; + t_celldata.NodalPhyIDVector_Global[1]=10002; + t_celldata.NodalPhyIDVector_Global[2]=10003; + t_celldata.NodalPhyIDVector_Global[3]=10004; + t_celldata.NodalPhyIDVector_Global[4]=10005; + t_celldata.NodalPhyIDVector_Global[5]=10006; + + t_celldata.NodalPhyNameVector_Global[0]="leftnodes"; + t_celldata.NodalPhyNameVector_Global[1]="rightnodes"; + t_celldata.NodalPhyNameVector_Global[2]="bottomnodes"; + t_celldata.NodalPhyNameVector_Global[3]="topnodes"; + t_celldata.NodalPhyNameVector_Global[4]="backnodes"; + t_celldata.NodalPhyNameVector_Global[5]="frontnodes"; + + t_celldata.NodalPhyID2NameMap_Global[10001]="left"; + t_celldata.NodalPhyID2NameMap_Global[10002]="right"; + t_celldata.NodalPhyID2NameMap_Global[10003]="bottom"; + t_celldata.NodalPhyID2NameMap_Global[10004]="top"; + t_celldata.NodalPhyID2NameMap_Global[10005]="back"; + t_celldata.NodalPhyID2NameMap_Global[10006]="front"; + + t_celldata.NodalPhyName2IDMap_Global["left"]=10001; + t_celldata.NodalPhyName2IDMap_Global["right"]=10002; + t_celldata.NodalPhyName2IDMap_Global["bottom"]=10003; + t_celldata.NodalPhyName2IDMap_Global["top"]=10004; + t_celldata.NodalPhyName2IDMap_Global["back"]=10005; + t_celldata.NodalPhyName2IDMap_Global["front"]=10006; + + /** + * Receive message from master rank + */ + MPIDataBus::receiveMeshCellFromMaster(t_celldata.MeshCell_Local,1000*rank); + MPIDataBus::receivePhyID2MeshCellMapFromMaster(t_celldata.PhyID2MeshCellVectorMap_Local,1000*rank+20); + MPIDataBus::receivePhyName2MeshCellMapFromMaster(t_celldata.PhyName2MeshCellVectorMap_Local,1000*rank+40); + + // for leftconn + MPIDataBus::receivePhyID2MeshCellMapFromMaster(t_celldata.PhyID2MeshCellVectorMap_Local,1000*rank+60); + MPIDataBus::receivePhyName2MeshCellMapFromMaster(t_celldata.PhyName2MeshCellVectorMap_Local,1000*rank+80); + // for rightconn + MPIDataBus::receivePhyID2MeshCellMapFromMaster(t_celldata.PhyID2MeshCellVectorMap_Local,1000*rank+100); + MPIDataBus::receivePhyName2MeshCellMapFromMaster(t_celldata.PhyName2MeshCellVectorMap_Local,1000*rank+120); + // for bottomconn + MPIDataBus::receivePhyID2MeshCellMapFromMaster(t_celldata.PhyID2MeshCellVectorMap_Local,1000*rank+140); + MPIDataBus::receivePhyName2MeshCellMapFromMaster(t_celldata.PhyName2MeshCellVectorMap_Local,1000*rank+160); + // for topconn + MPIDataBus::receivePhyID2MeshCellMapFromMaster(t_celldata.PhyID2MeshCellVectorMap_Local,1000*rank+180); + MPIDataBus::receivePhyName2MeshCellMapFromMaster(t_celldata.PhyName2MeshCellVectorMap_Local,1000*rank+200); + // for backconn + MPIDataBus::receivePhyID2MeshCellMapFromMaster(t_celldata.PhyID2MeshCellVectorMap_Local,1000*rank+220); + MPIDataBus::receivePhyName2MeshCellMapFromMaster(t_celldata.PhyName2MeshCellVectorMap_Local,1000*rank+240); + // for frontconn + MPIDataBus::receivePhyID2MeshCellMapFromMaster(t_celldata.PhyID2MeshCellVectorMap_Local,1000*rank+260); + MPIDataBus::receivePhyName2MeshCellMapFromMaster(t_celldata.PhyName2MeshCellVectorMap_Local,1000*rank+280); + } return true; } \ No newline at end of file diff --git a/src/MPIUtils/MPIDataBus.cpp b/src/MPIUtils/MPIDataBus.cpp index c7a63527..e59accb3 100644 --- a/src/MPIUtils/MPIDataBus.cpp +++ b/src/MPIUtils/MPIDataBus.cpp @@ -52,7 +52,7 @@ void MPIDataBus::sendMeshCellToOthers(const vector &meshcellvec, MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+6,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); // - MPI_Isend(cell.ElmtNodeCoords0.getCopy().data(),datasize,MPI_INT,cpuid,basetag+7,MPI_COMM_WORLD,&request); + MPI_Isend(cell.ElmtNodeCoords0.getCopy().data(),datasize*3,MPI_INT,cpuid,basetag+7,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); // send VTKCellType @@ -97,7 +97,7 @@ void MPIDataBus::receiveMeshCellFromMaster(vector &meshcellvec,c MPI_Wait(&request,MPI_STATUS_IGNORE); // cell.ElmtNodeCoords0.resize(datasize); - MPI_Irecv(cell.ElmtNodeCoords0.getData(),datasize,MPI_INT,0,basetag+7,MPI_COMM_WORLD,&request); + MPI_Irecv(cell.ElmtNodeCoords0.getData(),datasize*3,MPI_INT,0,basetag+7,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); cell.ElmtNodeCoords=cell.ElmtNodeCoords0;// make a copy @@ -151,7 +151,7 @@ void MPIDataBus::sendPhyName2MeshCellMapToOthers(const string &phyname,const vec MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+8,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); // - MPI_Isend(cell.ElmtNodeCoords0.getCopy().data(),datasize,MPI_INT,cpuid,basetag+9,MPI_COMM_WORLD,&request); + MPI_Isend(cell.ElmtNodeCoords0.getCopy().data(),datasize*3,MPI_INT,cpuid,basetag+9,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); // send VTKCellType @@ -210,7 +210,7 @@ void MPIDataBus::receivePhyName2MeshCellMapFromMaster(map &meshcellvec,const int &tag,const int &cpuid){ +void MPIDataBus::sendPhyID2MeshCellMapToOthers(const int &phyid,const vector &meshcellvec,const int &tag,const int &cpuid){ int basetag; basetag=tag; @@ -264,7 +264,7 @@ void MPIDataBus::sendPhyName2MeshCellMapToOthers(const int &phyid,const vector Date: Fri, 19 Jan 2024 21:16:04 +0100 Subject: [PATCH 16/29] add FECellGenerator --- SourceCode.cmake | 2 ++ include/FECell/FECellGenerator.h | 36 ++++++++++++++++++++++++++++++++ src/FECell/FECellGenerator.cpp | 31 +++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 include/FECell/FECellGenerator.h create mode 100644 src/FECell/FECellGenerator.cpp diff --git a/SourceCode.cmake b/SourceCode.cmake index c29726de..a6b2de31 100644 --- a/SourceCode.cmake +++ b/SourceCode.cmake @@ -124,6 +124,8 @@ set(inc ${inc} include/FECell/FECellGeneratorBase.h) ### for 3d lagrange mesh cell set(inc ${inc} include/FECell/Lagrange3DMeshCellGenerator.h) set(src ${src} src/FECell/Lagrange3DMeshCellGenerator.cpp) +set(inc ${inc} include/FECell/FECellGenerator.h) +set(src ${src} src/FECell/FECellGenerator.cpp) ############################################################# ### For inputystem ### diff --git a/include/FECell/FECellGenerator.h b/include/FECell/FECellGenerator.h new file mode 100644 index 00000000..57f08695 --- /dev/null +++ b/include/FECell/FECellGenerator.h @@ -0,0 +1,36 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.19 +//+++ Purpose: the FE cell generator +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#pragma once + +#include "FECell/Lagrange3DMeshCellGenerator.h" + + +/** + * This class offers the FE mesh cell generator for default mesh in AsFem +*/ +class FECellGenerator:public Lagrange3DMeshCellGenerator{ +public: + /** + * Constructor + */ + FECellGenerator(); + + /** + * create the finite element mesh cell and store them in meshdata(distributed) + * @param meshtype the mesh type used for mesh generation + * @param meshdata the meshdata structure + */ + bool createFEMeshCell(const MeshType &meshtype,FECellData &meshdata); +}; \ No newline at end of file diff --git a/src/FECell/FECellGenerator.cpp b/src/FECell/FECellGenerator.cpp new file mode 100644 index 00000000..c8b7554a --- /dev/null +++ b/src/FECell/FECellGenerator.cpp @@ -0,0 +1,31 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.19 +//+++ Purpose: the FE cell generator +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#include "FECell/FECellGenerator.h" + +FECellGenerator::FECellGenerator(){ + +} +//******************************************** +bool FECellGenerator::createFEMeshCell(const MeshType &meshtype,FECellData &meshdata){ + if(meshtype==MeshType::HEX8|| + meshtype==MeshType::HEX20|| + meshtype==MeshType::HEX27){ + return Lagrange3DMeshCellGenerator::generateFECell(meshtype,meshdata); + } + else{ + return false; + } + return true; +} From 79688f6cc1aac05efd08ed91c146f7f68a9ae221 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Fri, 19 Jan 2024 21:40:38 +0100 Subject: [PATCH 17/29] start working on FECell class --- SourceCode.cmake | 1 + include/FECell/FECell.h | 36 +++++++++++++++++++++++++- src/FECell/FECell.cpp | 56 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 src/FECell/FECell.cpp diff --git a/SourceCode.cmake b/SourceCode.cmake index a6b2de31..1891dec8 100644 --- a/SourceCode.cmake +++ b/SourceCode.cmake @@ -120,6 +120,7 @@ set(src ${src} src/Mesh/MeshFileImporter.cpp) set(inc ${inc} include/FECell/SingleMeshCell.h) set(inc ${inc} include/FECell/FECellData.h) set(inc ${inc} include/FECell/FECell.h) +set(src ${src} src/FECell/FECell.cpp) set(inc ${inc} include/FECell/FECellGeneratorBase.h) ### for 3d lagrange mesh cell set(inc ${inc} include/FECell/Lagrange3DMeshCellGenerator.h) diff --git a/include/FECell/FECell.h b/include/FECell/FECell.h index 78fc302e..c931bef6 100644 --- a/include/FECell/FECell.h +++ b/include/FECell/FECell.h @@ -48,7 +48,41 @@ class FECell{ */ FECell(const FECell &a); + /** + * setup mesh geometry info for 1d case + * @param nx mesh number along x-axis + * @param xmin xmin value of the domain + * @param xmax xmax value of the domain + * @param meshtype the given mesh type + */ void setMeshInfo(const int &nx,const double &xmin,const double &xmax,const MeshType &meshtype); + /** + * setup mesh geometry info for 2d case + * @param nx mesh number along x-axis + * @param ny mesh number along y-axis + * @param xmin xmin value of the domain + * @param xmax xmax value of the domain + * @param ymin ymin value of the domain + * @param ymax ymax value of the domain + * @param meshtype the given mesh type + */ + void setMeshInfo(const int &nx,const int &ny, + const double &xmin,const double &xmax, + const double &ymin,const double &ymax,const MeshType &meshtype); + /** + * setup mesh geometry info for 3d case + * @param nx mesh number along x-axis + * @param ny mesh number along y-axis + * @param xmin xmin value of the domain + * @param xmax xmax value of the domain + * @param ymin ymin value of the domain + * @param ymax ymax value of the domain + * @param meshtype the given mesh type + */ + void setMeshInfo(const int &nx,const int &ny,const int &nz, + const double &xmin,const double &xmax, + const double &ymin,const double &ymax, + const double &zmin,const double &zmax,const MeshType &meshtype); /** @@ -57,7 +91,7 @@ class FECell{ void printSummaryInfo()const; private: - FECellData CellData;/**< the FE cell data structure of the whole system */ + FECellData m_CellData;/**< the FE cell data structure of the whole system */ }; \ No newline at end of file diff --git a/src/FECell/FECell.cpp b/src/FECell/FECell.cpp new file mode 100644 index 00000000..aef2cecc --- /dev/null +++ b/src/FECell/FECell.cpp @@ -0,0 +1,56 @@ +//**************************************************************** +//* This file is part of the AsFem framework +//* Advanced Simulation kit based on Finite Element Method (AsFem) +//* All rights reserved, Yang Bai/MM-Lab@CopyRight 2020-present +//* https://github.com/MatMechLab/AsFem +//* Licensed under GNU GPLv3, please see LICENSE for details +//* https://www.gnu.org/licenses/gpl-3.0.en.html +//**************************************************************** +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +//+++ Author : Yang Bai +//+++ Date : 2024.01.19 +//+++ Function: finite element cell management class +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#include "FECell/FECell.h" + +FECell::FECell(){} + +// setup 1d mesh info +void FECell::setMeshInfo(const int &nx,const double &xmin,const double &xmax,const MeshType &meshtype){ + m_CellData.Nx=nx; + m_CellData.Xmin=xmin; + m_CellData.Xmax=xmax; + m_CellData.BulkElmtMeshType=meshtype; +} +// setup 2d mesh info +void FECell::setMeshInfo(const int &nx,const int &ny, + const double &xmin,const double &xmax, + const double &ymin,const double &ymax,const MeshType &meshtype){ + m_CellData.Nx=nx; + m_CellData.Ny=ny; + m_CellData.Xmin=xmin; + m_CellData.Xmax=xmax; + m_CellData.Ymin=ymin; + m_CellData.Ymax=ymax; + m_CellData.BulkElmtMeshType=meshtype; +} +// setup 3d mesh info +void FECell::setMeshInfo(const int &nx,const int &ny,const int &nz, + const double &xmin,const double &xmax, + const double &ymin,const double &ymax, + const double &zmin,const double &zmax,const MeshType &meshtype){ + m_CellData.Nx=nx; + m_CellData.Ny=ny; + m_CellData.Nz=nz; + m_CellData.Xmin=xmin; + m_CellData.Xmax=xmax; + m_CellData.Ymin=ymin; + m_CellData.Ymax=ymax; + m_CellData.Zmin=zmin; + m_CellData.Zmax=zmax; + m_CellData.BulkElmtMeshType=meshtype; +} +void FECell::printSummaryInfo()const{ + +} \ No newline at end of file From 0b7c0bc1d8fc0a7fa6ab0ab005f3f28a60cec45a Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Fri, 26 Jan 2024 21:13:28 +0100 Subject: [PATCH 18/29] small changes to MessagePrinter --- include/Utils/MessagePrinter.h | 35 ++-- src/Utils/MessagePrinter.cpp | 369 ++++++++++----------------------- 2 files changed, 122 insertions(+), 282 deletions(-) diff --git a/include/Utils/MessagePrinter.h b/include/Utils/MessagePrinter.h index 8463a900..9681190d 100644 --- a/include/Utils/MessagePrinter.h +++ b/include/Utils/MessagePrinter.h @@ -41,6 +41,18 @@ class MessagePrinter{ */ MessagePrinter(); + /** + * print out the single txt or sentences + * @param str the string to be printed + * @param color the color for current string printing + */ + static void printSingleTxt(string str,MessageColor color=MessageColor::WHITE); + + /** + * print out new line + */ + static void printNewLine(); + /** * print out the standard text * @param str the string to be printed @@ -122,27 +134,14 @@ class MessagePrinter{ static void setColor(const MessageColor &color); private: - static const int _nWords=78;/**< the number of characters in one single line output */ + static const int _nWords=85;/**< the number of characters in one single line output */ /** - * this function split the str into several substring once it is beyond the length limit - * @param str the input string - */ - vector splitStr2Vec(string str); - /** - * this function split the error str into several substring once it is beyond the length limit - * @param str the input string - */ - vector splitErrorStr2Vec(string str); - /** - * this function split the warning str into several substring once it is beyond the length limit - * @param str the input string - */ - vector splitWarningStr2Vec(string str); - /** - * this function split the normal str into several substring once it is beyond the length limit + * this function split the str into several substring based on the given head and end txt + * @param headtxt head string txt + * @param endtxt end string txt * @param str the input string */ - vector splitNormalStr2Vec(string str); + vector splitStr2Vec(const string &headtxt,const string &endtxt,string str); }; \ No newline at end of file diff --git a/src/Utils/MessagePrinter.cpp b/src/Utils/MessagePrinter.cpp index c10268b3..be59b45c 100644 --- a/src/Utils/MessagePrinter.cpp +++ b/src/Utils/MessagePrinter.cpp @@ -72,6 +72,14 @@ void MessagePrinter::printStars(MessageColor color){ PetscPrintf(PETSC_COMM_WORLD,"\n"); PetscPrintf(PETSC_COMM_WORLD,"\033[0m");// recover color } +void MessagePrinter::printSingleTxt(string str,MessageColor color){ + setColor(color); + PetscPrintf(PETSC_COMM_WORLD,"%s",str.c_str()); + setColor(MessageColor::WHITE); +} +void MessagePrinter::printNewLine(){ + PetscPrintf(PETSC_COMM_WORLD,"\n"); +} //********************************************* void MessagePrinter::printTxt(string str,MessageColor color){ setColor(color); @@ -111,6 +119,66 @@ void MessagePrinter::printTxt(string str,MessageColor color){ PetscPrintf(PETSC_COMM_WORLD,"\033[0m");// recover color } //********************************************************** +void MessagePrinter::printErrorTxt(string str,bool flag){ + const string HeadTxt="*** Error: "; + const string EndTxt=" !!! ***"; + vector subvec; + MessagePrinter printer; + subvec=printer.splitStr2Vec(HeadTxt,EndTxt,str); + int i1=static_cast(HeadTxt.size()); + int i2=static_cast(EndTxt.size()); + int i3=static_cast(str.size()); + setColor(MessageColor::RED); + if(flag){ + printStars(MessageColor::RED); + } + for(const auto &it:subvec){ + setColor(MessageColor::RED); + PetscPrintf(PETSC_COMM_WORLD,"%s",HeadTxt.c_str()); + setColor(MessageColor::WHITE); + PetscPrintf(PETSC_COMM_WORLD,"%s",it.c_str()); + i3=static_cast(it.size()); + for(int i=0;i<_nWords-i1-i2-i3;i++){ + PetscPrintf(PETSC_COMM_WORLD," "); + } + setColor(MessageColor::RED); + PetscPrintf(PETSC_COMM_WORLD,"%s\n",EndTxt.c_str()); + } + if(flag){ + printStars(MessageColor::RED); + } +} +//********************************************************** +void MessagePrinter::printWarningTxt(string str,bool flag){ + const string HeadTxt="*** Warning: "; + const string EndTxt=" !!! ***"; + vector subvec; + MessagePrinter printer; + subvec=printer.splitStr2Vec(HeadTxt,EndTxt,str); + int i1=static_cast(HeadTxt.size()); + int i2=static_cast(EndTxt.size()); + int i3=static_cast(str.size()); + setColor(MessageColor::YELLOW); + if(flag){ + printStars(MessageColor::YELLOW); + } + for(const auto &it:subvec){ + setColor(MessageColor::YELLOW); + PetscPrintf(PETSC_COMM_WORLD,"%s",HeadTxt.c_str()); + setColor(MessageColor::WHITE); + PetscPrintf(PETSC_COMM_WORLD,"%s",it.c_str()); + i3=static_cast(it.size()); + for(int i=0;i<_nWords-i1-i2-i3;i++){ + PetscPrintf(PETSC_COMM_WORLD," "); + } + setColor(MessageColor::YELLOW); + PetscPrintf(PETSC_COMM_WORLD,"%s\n",EndTxt.c_str()); + } + if(flag){ + printStars(MessageColor::YELLOW); + } +} +//********************************************************** void MessagePrinter::printShortTxt(string str,MessageColor color){ setColor(color); string _Head="*** "; @@ -135,7 +203,7 @@ void MessagePrinter::printLongTxt(string str,MessageColor color){ setColor(color); MessagePrinter printer; vector strvec; - strvec=printer.splitStr2Vec(str); + strvec=printer.splitStr2Vec("***"," !!! ***",str); for(const auto &it:strvec){ printShortTxt(it,color); } @@ -162,224 +230,57 @@ void MessagePrinter::printWelcomeTxt(string str){ PetscPrintf(PETSC_COMM_WORLD,"\033[0m");// recover color } -//**************************************** -vector MessagePrinter::splitStr2Vec(string str){ - string _Head="*** "; - string _End=" !!! ***"; - int i1=static_cast(_Head.size()); - int i2=static_cast(_End.size()); +//************************************** +void MessagePrinter::printNormalTxt(string str,MessageColor color){ + setColor(color); + string HeadTxt="*** "; + string EndTxt =" ***"; + int i1=static_cast(HeadTxt.size()); + int i2=static_cast(EndTxt.size()); int i3=static_cast(str.size()); - vector strvec; - strvec.clear(); - if(i3<=_nWords-i1-i2){ - strvec.push_back(str); - } - else{ - strvec.clear(); - string substr; - substr.clear(); - int count=0; - int nWords=_nWords-i1-i2; - for(int i=0;i(str.length());i++){ - substr.push_back(str.at(i)); - count+=1; - if(static_cast(substr.size())==nWords){ - strvec.push_back(substr); - substr.clear(); - if(count==static_cast(str.length())-1){ - break; - } - } - else{ - if(count==static_cast(str.length())-1){ - strvec.push_back(substr); - break; - } - } - } - } - return strvec; -} -//************************************************** -//*** for error message print -//************************************************** -vector MessagePrinter::splitWarningStr2Vec(string str){ - //string _Head="*** Warning:"; - string _Head="*** "; - string _End=" !!! ***"; - int i1=static_cast(_Head.size()); - int i2=static_cast(_End.size()); - int i3=static_cast(str.size()); - vector strvec; - strvec.clear(); - if(i3<=_nWords-i1-i2){ - strvec.push_back(str); - } - else{ - strvec.clear(); - string substr; - substr.clear(); - int count=0; - int nWords=_nWords-i1-i2; - for(int i=0;i(str.length());i++){ - substr.push_back(str.at(i)); - count+=1; - if(static_cast(substr.size())==nWords){ - strvec.push_back(substr); - substr.clear(); - } - if(count==static_cast(str.length()) && static_cast(substr.size()) MessagePrinter::splitErrorStr2Vec(string str){ - // string _Head="*** Error:"; - string _Head="*** "; - string _End=" !!! ***"; - int i1=static_cast(_Head.size()); - int i2=static_cast(_End.size()); - int i3=static_cast(str.size()); vector strvec; - strvec.clear(); - if(i3<=_nWords-i1-i2){ - strvec.push_back(str); - } - else{ - strvec.clear(); - string substr; - substr.clear(); - int count=0; - int nWords=_nWords-i1-i2; - for(int i=0;i(str.length());i++){ - substr.push_back(str.at(i)); - count+=1; - if(static_cast(substr.size())==nWords){ - strvec.push_back(substr); - substr.clear(); - } - if(count==static_cast(str.length()) && static_cast(substr.size())(_Head1.size()); - int i2=static_cast(_End.size()); - int i3=static_cast(str.size()); - if(i3<=_nWords-i1-i2){ - if(flag) printStars(MessageColor::RED); - setColor(MessageColor::RED); - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head1.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",str.c_str()); + + MessagePrinter printer; + strvec=printer.splitStr2Vec(HeadTxt,EndTxt,str); + for(const auto &it:strvec){ + setColor(color); + PetscPrintf(PETSC_COMM_WORLD,"%s",HeadTxt.c_str()); + PetscPrintf(PETSC_COMM_WORLD,"%s",it.c_str()); + i3=static_cast(it.size()); for(int i=0;i<_nWords-i1-i2-i3;i++){ PetscPrintf(PETSC_COMM_WORLD," "); } - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - if(flag) printStars(MessageColor::RED); - setColor(MessageColor::RED); - } - else{ - string substr1,substr2; - vector strvec; - substr1=str.substr(0,_nWords-i1-i2); - substr2=str.substr(_nWords-i1-i2); - // for the first line - if(flag) printStars(MessageColor::RED); - setColor(MessageColor::RED); - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head1.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",substr1.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - // for the later lines - MessagePrinter printer; - strvec=printer.splitErrorStr2Vec(substr2); - i1=static_cast(_Head.size()); - for(const auto &it:strvec){ - // cout<<"str("<(it.size()); - for(int i=0;i<_nWords-i1-i2-i3;i++){ - PetscPrintf(PETSC_COMM_WORLD," "); - } - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - } - if(flag) printStars(MessageColor::RED); - setColor(MessageColor::RED); + PetscPrintf(PETSC_COMM_WORLD,"%s\n",EndTxt.c_str()); } PetscPrintf(PETSC_COMM_WORLD,"\033[0m");// recover color } -//************************************************ -void MessagePrinter::printWarningTxt(string str,bool flag){ - setColor(MessageColor::YELLOW); - string _Head ="*** "; - string _Head1="*** Warning:"; - string _End=" !!! ***"; - int i1=static_cast(_Head1.size()); +//****************************************** +void MessagePrinter::printErrorInLineNumber(const int &linenumber){ + setColor(MessageColor::RED); + string _Head="*** Error:"; + string _End =" ***"; + char buff[35]; + string str; + int i1=static_cast(_Head.size()); int i2=static_cast(_End.size()); + snprintf(buff,35," error detected in line-%d",linenumber); + str=buff; int i3=static_cast(str.size()); - if(i3<=_nWords-i1-i2){ - if(flag) printStars(MessageColor::YELLOW); - setColor(MessageColor::YELLOW); - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head1.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",str.c_str()); - for(int i=0;i<_nWords-i1-i2-i3;i++){ - PetscPrintf(PETSC_COMM_WORLD," "); - } - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - if(flag) printStars(MessageColor::YELLOW); - setColor(MessageColor::YELLOW); - } - else{ - string substr1,substr2; - vector strvec; - substr1=str.substr(0,_nWords-i1-i2); - substr2=str.substr(_nWords-i1-i2); - // for the first line - if(flag) printStars(MessageColor::YELLOW); - setColor(MessageColor::YELLOW); - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head1.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",substr1.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - // for the later lines - MessagePrinter printer; - strvec=printer.splitWarningStr2Vec(substr2); - i1=static_cast(_Head.size()); - for(const auto &it:strvec){ - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",it.c_str()); - i3=static_cast(it.size()); - for(int i=0;i<_nWords-i1-i2-i3;i++){ - PetscPrintf(PETSC_COMM_WORLD," "); - } - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - } - if(flag) printStars(MessageColor::YELLOW); - setColor(MessageColor::YELLOW); + PetscPrintf(PETSC_COMM_WORLD,"%s",_Head.c_str()); + setColor(MessageColor::WHITE); + PetscPrintf(PETSC_COMM_WORLD,"%s",str.c_str()); + for(int i=0;i<_nWords-i1-i2-i3;i++){ + PetscPrintf(PETSC_COMM_WORLD," "); } + setColor(MessageColor::RED); + PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); PetscPrintf(PETSC_COMM_WORLD,"\033[0m");// recover color } //********************************************** -vector MessagePrinter::splitNormalStr2Vec(string str){ - // string _Head="*** Error:"; - string _Head="*** "; - string _End =" ***"; - int i1=static_cast(_Head.size()); - int i2=static_cast(_End.size()); +vector MessagePrinter::splitStr2Vec(const string &headtxt,const string &endtxt,string str){ + int i1=static_cast(headtxt.size()); + int i2=static_cast(endtxt.size()); int i3=static_cast(str.size()); vector strvec; strvec.clear(); @@ -411,64 +312,4 @@ vector MessagePrinter::splitNormalStr2Vec(string str){ } } return strvec; -} -void MessagePrinter::printNormalTxt(string str,MessageColor color){ - setColor(color); - string _Head="*** "; - string _End =" ***"; - int i1=static_cast(_Head.size()); - int i2=static_cast(_End.size()); - int i3=static_cast(str.size()); - if(i3<=_nWords-i1-i2){ - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",str.c_str()); - for(int i=0;i<_nWords-i1-i2-i3;i++){ - PetscPrintf(PETSC_COMM_WORLD," "); - } - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - } - else{ - string substr1,substr2; - vector strvec; - substr1=str.substr(0,_nWords-i1-i2); - substr2=str.substr(_nWords-i1-i2); - // for the first line - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",substr1.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - // for the later lines - MessagePrinter printer; - strvec=printer.splitNormalStr2Vec(substr2); - i1=static_cast(_Head.size()); - for(const auto &it:strvec){ - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",it.c_str()); - i3=static_cast(it.size()); - for(int i=0;i<_nWords-i1-i2-i3;i++){ - PetscPrintf(PETSC_COMM_WORLD," "); - } - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - } - } - PetscPrintf(PETSC_COMM_WORLD,"\033[0m");// recover color -} -//****************************************** -void MessagePrinter::printErrorInLineNumber(const int &linenumber){ - setColor(MessageColor::RED); - string _Head="*** Error:"; - string _End =" ***"; - char buff[35]; - string str; - int i1=static_cast(_Head.size()); - int i2=static_cast(_End.size()); - snprintf(buff,35," error detected in line-%d",linenumber); - str=buff; - int i3=static_cast(str.size()); - PetscPrintf(PETSC_COMM_WORLD,"%s",_Head.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"%s",str.c_str()); - for(int i=0;i<_nWords-i1-i2-i3;i++){ - PetscPrintf(PETSC_COMM_WORLD," "); - } - PetscPrintf(PETSC_COMM_WORLD,"%s\n",_End.c_str()); - PetscPrintf(PETSC_COMM_WORLD,"\033[0m");// recover color } \ No newline at end of file From e31c5733808333808760e97c12b2439395318025 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Fri, 26 Jan 2024 21:26:51 +0100 Subject: [PATCH 19/29] update Welcome print --- include/Welcome.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/include/Welcome.h b/include/Welcome.h index edcd4f7a..abe006c8 100644 --- a/include/Welcome.h +++ b/include/Welcome.h @@ -39,7 +39,28 @@ void welcome(const int &year,const int &month,const int &day,const double &versi MessagePrinter::printStars(MessageColor::BLUE); MessagePrinter::printWelcomeTxt("Welcome to use AsFem AAA"); - MessagePrinter::printWelcomeTxt("Advanced Simulation kit based on Finite Element Method // \\\\"); + // MessagePrinter::printWelcomeTxt("Advanced Simulation kit based on Finite Element Method // \\\\"); + + MessagePrinter::printSingleTxt("*** ",MessageColor::BLUE); + MessagePrinter::printSingleTxt("A",MessageColor::BLUE); + MessagePrinter::printSingleTxt("dvanced ",MessageColor::WHITE); + // + MessagePrinter::printSingleTxt("S",MessageColor::BLUE); + MessagePrinter::printSingleTxt("imulation ",MessageColor::WHITE); + // + MessagePrinter::printSingleTxt("kit based on ",MessageColor::WHITE); + // + MessagePrinter::printSingleTxt("F",MessageColor::BLUE); + MessagePrinter::printSingleTxt("inite ",MessageColor::WHITE); + // + MessagePrinter::printSingleTxt("E",MessageColor::BLUE); + MessagePrinter::printSingleTxt("lement ",MessageColor::WHITE); + // + MessagePrinter::printSingleTxt("M",MessageColor::BLUE); + MessagePrinter::printSingleTxt("ethod ",MessageColor::WHITE); + MessagePrinter::printSingleTxt(" // \\\\",MessageColor::BLUE); + MessagePrinter::printSingleTxt(" ***",MessageColor::BLUE); + MessagePrinter::printNewLine(); snprintf(buff,50,"Version: %-10.2f Release @ %4d-%02d-%02d",version,year,month,day); str=buff; From 21834b926bde701b19eeb8ba0441157fdd12eb0e Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Sat, 27 Jan 2024 20:29:30 +0100 Subject: [PATCH 20/29] add FECell printer & mpi test --- include/FECell/FECell.h | 6 + src/FECell/FECell.cpp | 132 ++++++++++++++++++++- src/FECell/Lagrange3DMeshCellGenerator.cpp | 2 +- 3 files changed, 138 insertions(+), 2 deletions(-) diff --git a/include/FECell/FECell.h b/include/FECell/FECell.h index c931bef6..41a93cb7 100644 --- a/include/FECell/FECell.h +++ b/include/FECell/FECell.h @@ -85,6 +85,12 @@ class FECell{ const double &zmin,const double &zmax,const MeshType &meshtype); + /** + * Get the reference of fecell data + */ + inline FECellData& getCellDataRef(){return m_CellData;} + + /** * Print out the summary information of FECell class, i.e., mpi-based mesh distribution, elements num, nodes num, etc. */ diff --git a/src/FECell/FECell.cpp b/src/FECell/FECell.cpp index aef2cecc..115e6a00 100644 --- a/src/FECell/FECell.cpp +++ b/src/FECell/FECell.cpp @@ -52,5 +52,135 @@ void FECell::setMeshInfo(const int &nx,const int &ny,const int &nz, m_CellData.BulkElmtMeshType=meshtype; } void FECell::printSummaryInfo()const{ - + MessagePrinter::printNormalTxt("Summary information of FECell system"); + MessagePrinter::printDashLine(); + string txt; + char buff[65]; + snprintf(buff,65,"Total nodes=%5d, total elmts=%5d, total dofs=%6d",m_CellData.NodesNum,m_CellData.ElmtsNum,m_CellData.TotalDofsNum); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + + snprintf(buff,65,"Bulk elmts=%6d, line elmts=%6d, surf elmts=%6d",m_CellData.BulkElmtsNum,m_CellData.LineElmtsNum,m_CellData.SurfElmtsNum); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + + snprintf(buff,65,"Bulk elmt nodes=%2d, nodal dofs=%6d",m_CellData.NodesNumPerBulkElmt,m_CellData.MaxDofsPerNode); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + + snprintf(buff,65,"Elemental physical groups=%4d, nodal physical groups=%4d",m_CellData.PhyGroupNum_Global,m_CellData.NodalPhyGroupNum_Global); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + + MessagePrinter::printDashLine(); + MessagePrinter::printNormalTxt("Physical ID<------>Physical name<------>Dim<---------->Elmts num"); + for(int i=0;iPhysical name<---------->Nodes num"); + for(int i=0;i(m_CellData.MeshCell_Local.size()); + MPI_Isend(&datasize,1,MPI_INT,0,1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + datasize=static_cast(m_CellData.PhyName2MeshCellVectorMap_Local.size()); + MPI_Isend(&datasize,1,MPI_INT,0,2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + for(const auto &it:m_CellData.PhyName2MeshCellVectorMap_Local){ + datasize=static_cast(it.first.size()); + MPI_Isend(&datasize,1,MPI_INT,0,3,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + MPI_Isend(it.first.c_str(),datasize,MPI_CHAR,0,4,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + datasize=static_cast(it.second.size()); + MPI_Isend(&datasize,1,MPI_INT,0,5,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + } + } + else{ + int cpuid,datasize; + char buff[65]; + cpuid=0; + MessagePrinter::printDashLine(); + snprintf(buff,65," For rank-%3d:",cpuid); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + + snprintf(buff,65," Local bulk elmts num=%6d",static_cast(m_CellData.MeshCell_Local.size())); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + for(const auto &it:m_CellData.PhyName2MeshCellVectorMap_Local){ + snprintf(buff,65," \"%20s\"====> elmts num=%6d",it.first.c_str(),static_cast(it.second.size())); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + } + + MPI_Request req; + int phynum; + string phyname; + + for(cpuid=1;cpuid elmts num=%6d",phyname.c_str(),datasize); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + } + + } + } + MessagePrinter::printStars(); } \ No newline at end of file diff --git a/src/FECell/Lagrange3DMeshCellGenerator.cpp b/src/FECell/Lagrange3DMeshCellGenerator.cpp index 91b22067..2f608624 100644 --- a/src/FECell/Lagrange3DMeshCellGenerator.cpp +++ b/src/FECell/Lagrange3DMeshCellGenerator.cpp @@ -30,6 +30,7 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe t_celldata.ActiveDofsNum=0; t_celldata.TotalDofsNum=0; + t_celldata.MaxDofsPerNode=0; MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&size); @@ -1964,7 +1965,6 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe if(cpuid==size-1) iEnd=t_celldata.BulkElmtsNum; LocalCellVector.clear(); - cout<<"cpuid="< Date: Sun, 28 Jan 2024 10:18:30 +0100 Subject: [PATCH 23/29] add nodal phy data ticket in MPIDataBus --- include/MPIUtils/MPIDataBus.h | 19 +++++++++++ src/MPIUtils/MPIDataBus.cpp | 61 +++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/include/MPIUtils/MPIDataBus.h b/include/MPIUtils/MPIDataBus.h index 509370b3..7367dc02 100644 --- a/include/MPIUtils/MPIDataBus.h +++ b/include/MPIUtils/MPIDataBus.h @@ -78,4 +78,23 @@ class MPIDataBus{ * @param tag the id of the sending message */ static void receivePhyID2MeshCellMapFromMaster(map> &localmap,const int &tag); + + //************************************************************* + //*** for nodal phy group transfer + //************************************************************* + /** + * Send the nodal physical name and nodes id to each rank + * @param phyname the physical group name to be sent + * @param nodesid the mesh cell vector to be sent + * @param tag the id of the sending message + * @param cpuid the rank id used to receive the message + */ + static void sendPhyName2NodeIDVecMapToOthers(const string &phyname,const vector &nodesid,const int &tag,const int &cpuid); + /** + * Receive the physical group name and mesh cell for local map + * @param localmap the local phyname-->nodeid map + * @param tag the id of the sending message + */ + static void receivePhyName2NodeIDVecMapFromMaster(map> &localmap,const int &tag); + }; \ No newline at end of file diff --git a/src/MPIUtils/MPIDataBus.cpp b/src/MPIUtils/MPIDataBus.cpp index c874932c..9e6a290f 100644 --- a/src/MPIUtils/MPIDataBus.cpp +++ b/src/MPIUtils/MPIDataBus.cpp @@ -326,4 +326,65 @@ void MPIDataBus::receivePhyID2MeshCellMapFromMaster(map &nodesid,const int &tag,const int &cpuid){ + int basetag; + basetag=tag; + + int datasize; + + MPI_Request request; + + // send out the physical name to each rank + datasize=static_cast(phyname.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // send the char + MPI_Isend(phyname.c_str(),datasize,MPI_CHAR,cpuid,basetag+2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send out the length of the node id vector + datasize=static_cast(nodesid.size()); + MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+3,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + // send out the node id vector + MPI_Isend(nodesid.data(),datasize,MPI_INT,cpuid,basetag+4,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); +} +//*********************************+ +void MPIDataBus::receivePhyName2NodeIDVecMapFromMaster(map> &localmap,const int &tag){ + int basetag; + basetag=tag; + + string phyname; + char buff[108]; + + int datasize; + + MPI_Request request; + vector nodeidvec; + + // receive the physical name length from master rank + MPI_Irecv(&datasize,1,MPI_INT,0,basetag+1,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + // receive the phy name + MPI_Irecv(buff,datasize,MPI_CHAR,0,basetag+2,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + phyname.clear(); + for(int i=0;i Date: Sun, 28 Jan 2024 10:22:09 +0100 Subject: [PATCH 24/29] revise the comment in MPIDataBu --- src/MPIUtils/MPIDataBus.cpp | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/MPIUtils/MPIDataBus.cpp b/src/MPIUtils/MPIDataBus.cpp index 9e6a290f..1a814cc8 100644 --- a/src/MPIUtils/MPIDataBus.cpp +++ b/src/MPIUtils/MPIDataBus.cpp @@ -70,7 +70,7 @@ void MPIDataBus::receiveMeshCellFromMaster(vector &meshcellvec,c MPI_Request request; - // send out the length of the mesh cell vector + // receive the length of the mesh cell vector MPI_Irecv(&datasize,1,MPI_INT,0,basetag+1,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); @@ -92,7 +92,7 @@ void MPIDataBus::receiveMeshCellFromMaster(vector &meshcellvec,c MPI_Irecv(cell.ElmtConn.data(),datasize,MPI_INT,0,basetag+5,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); - // send ElmtNodeCoords0 + // receive ElmtNodeCoords0 MPI_Irecv(&datasize,1,MPI_INT,0,basetag+6,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); // @@ -101,7 +101,7 @@ void MPIDataBus::receiveMeshCellFromMaster(vector &meshcellvec,c MPI_Wait(&request,MPI_STATUS_IGNORE); cell.ElmtNodeCoords=cell.ElmtNodeCoords0;// make a copy - // send VTKCellType + // receive VTKCellType MPI_Irecv(&cell.VTKCellType,1,MPI_INT,0,basetag+8,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); } @@ -172,30 +172,30 @@ void MPIDataBus::receivePhyName2MeshCellMapFromMaster(map meshcellvec; - // send out the physical name to each rank + // receive the physical name MPI_Irecv(&datasize,1,MPI_INT,0,basetag+1,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); - // send the char + // receive the char of phy name MPI_Irecv(buff,datasize,MPI_CHAR,0,basetag+2,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); phyname.clear(); for(int i=0;i meshcellvec; - // send out the physical name to each rank + // receive the physical name to each rank MPI_Irecv(&phyid,1,MPI_INT,0,basetag+1,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); - // send out the length of the mesh cell vector + // receive the length of the mesh cell vector MPI_Irecv(&datasize,1,MPI_INT,0,basetag+2,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); meshcellvec.resize(datasize); for(auto &cell:meshcellvec){ - // send Dim + // receive Dim MPI_Irecv(&cell.Dim,1,MPI_INT,0,basetag+3,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); - // send NodesNumPerElmt + // receive NodesNumPerElmt MPI_Irecv(&cell.NodesNumPerElmt,1,MPI_INT,0,basetag+4,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); - // send ElmtConn + // receive ElmtConn datasize=0; MPI_Irecv(&datasize,1,MPI_INT,0,basetag+5,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); @@ -309,7 +309,7 @@ void MPIDataBus::receivePhyID2MeshCellMapFromMaster(map(phyname.size()); MPI_Isend(&datasize,1,MPI_INT,cpuid,basetag+1,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); - // send the char + // send the char of the phy name MPI_Isend(phyname.c_str(),datasize,MPI_CHAR,cpuid,basetag+2,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); From abe9e5f05fa477ef31bffc0c82f6325fad2a7cfb Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Sun, 28 Jan 2024 11:39:24 +0100 Subject: [PATCH 25/29] add nodal mesh data trasfer --- src/FECell/Lagrange3DMeshCellGenerator.cpp | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/src/FECell/Lagrange3DMeshCellGenerator.cpp b/src/FECell/Lagrange3DMeshCellGenerator.cpp index 7df425e3..00da3f34 100644 --- a/src/FECell/Lagrange3DMeshCellGenerator.cpp +++ b/src/FECell/Lagrange3DMeshCellGenerator.cpp @@ -1961,6 +1961,7 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe // send out the total mesh cell int iStart,iEnd,ranksize; vector LocalCellVector; + vector nodeids; t_celldata.PhyID2MeshCellVectorMap_Local.clear(); t_celldata.PhyName2MeshCellVectorMap_Local.clear(); @@ -2090,6 +2091,100 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe MPIDataBus::sendPhyID2MeshCellMapToOthers(6,LocalCellVector,1000*cpuid+260,cpuid); MPIDataBus::sendPhyName2MeshCellMapToOthers("front",LocalCellVector,1000*cpuid+280,cpuid); } + + //*************************************************** + // for nodal physical groups + //*************************************************** + // for leftnodes + ranksize=static_cast(leftnodes.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(leftnodes.size()); + nodeids.clear(); + for(int e=iStart;e(rightnodes.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(rightnodes.size()); + nodeids.clear(); + for(int e=iStart;e(bottomnodes.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(bottomnodes.size()); + nodeids.clear(); + for(int e=iStart;e(topnodes.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(topnodes.size()); + nodeids.clear(); + for(int e=iStart;e(backnodes.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(backnodes.size()); + nodeids.clear(); + for(int e=iStart;e(frontnodes.size())/size; + iStart=cpuid*ranksize; + iEnd=(cpuid+1)*ranksize; + if(cpuid==size-1) iEnd=static_cast(frontnodes.size()); + nodeids.clear(); + for(int e=iStart;e Date: Sun, 28 Jan 2024 15:05:19 +0100 Subject: [PATCH 26/29] improve FECell info printer --- src/FECell/FECell.cpp | 69 +++++++++++++++++++++++++++++++++++++++++-- src/main.cpp | 16 +++++++--- 2 files changed, 78 insertions(+), 7 deletions(-) diff --git a/src/FECell/FECell.cpp b/src/FECell/FECell.cpp index 115e6a00..81980f7f 100644 --- a/src/FECell/FECell.cpp +++ b/src/FECell/FECell.cpp @@ -52,6 +52,7 @@ void FECell::setMeshInfo(const int &nx,const int &ny,const int &nz, m_CellData.BulkElmtMeshType=meshtype; } void FECell::printSummaryInfo()const{ + MessagePrinter::printStars(); MessagePrinter::printNormalTxt("Summary information of FECell system"); MessagePrinter::printDashLine(); string txt; @@ -124,6 +125,27 @@ void FECell::printSummaryInfo()const{ MPI_Isend(&datasize,1,MPI_INT,0,5,MPI_COMM_WORLD,&request); MPI_Wait(&request,MPI_STATUS_IGNORE); } + // for nodal physical info + datasize=0; + for(const auto &it:m_CellData.NodalPhyName2NodeIDVecMap_Local) datasize+=static_cast(it.second.size()); + MPI_Isend(&datasize,1,MPI_INT,0,6,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + datasize=static_cast(m_CellData.NodalPhyName2NodeIDVecMap_Local.size()); + MPI_Isend(&datasize,1,MPI_INT,0,7,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + for(const auto &it:m_CellData.NodalPhyName2NodeIDVecMap_Local){ + datasize=static_cast(it.first.size()); + MPI_Isend(&datasize,1,MPI_INT,0,8,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + MPI_Isend(it.first.c_str(),datasize,MPI_CHAR,0,9,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + + datasize=static_cast(it.second.size()); + MPI_Isend(&datasize,1,MPI_INT,0,10,MPI_COMM_WORLD,&request); + MPI_Wait(&request,MPI_STATUS_IGNORE); + } } else{ int cpuid,datasize; @@ -138,13 +160,25 @@ void FECell::printSummaryInfo()const{ txt=string(buff); MessagePrinter::printNormalTxt(txt); for(const auto &it:m_CellData.PhyName2MeshCellVectorMap_Local){ - snprintf(buff,65," \"%20s\"====> elmts num=%6d",it.first.c_str(),static_cast(it.second.size())); + snprintf(buff,65," elmtset[%20s]====> elmts num=%6d",it.first.c_str(),static_cast(it.second.size())); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + } + + datasize=0; + for(const auto &it:m_CellData.NodalPhyName2NodeIDVecMap_Local) datasize+=static_cast(it.second.size()); + + snprintf(buff,65," Local nodes num=%6d",datasize); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + for(const auto &it:m_CellData.NodalPhyName2NodeIDVecMap_Local){ + snprintf(buff,65," nodeset[%20s]====> nodes num=%6d",it.first.c_str(),static_cast(it.second.size())); txt=string(buff); MessagePrinter::printNormalTxt(txt); } MPI_Request req; - int phynum; + int phynum,nodesnum; string phyname; for(cpuid=1;cpuid elmts num=%6d",phyname.c_str(),datasize); + snprintf(buff,65," elmtset[%20s]====> elmts num=%6d",phyname.c_str(),datasize); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + } + + // for nodal phy info + nodesnum=0; + MPI_Irecv(&nodesnum,1,MPI_INT,cpuid,6,MPI_COMM_WORLD,&req); + MPI_Wait(&req,MPI_STATUS_IGNORE); + + snprintf(buff,65," Local nodes num=%6d",nodesnum); + txt=string(buff); + MessagePrinter::printNormalTxt(txt); + + MPI_Irecv(&phynum,1,MPI_INT,cpuid,7,MPI_COMM_WORLD,&req); + MPI_Wait(&req,MPI_STATUS_IGNORE); + + for(int i=0;i nodes num=%6d",phyname.c_str(),datasize); txt=string(buff); MessagePrinter::printNormalTxt(txt); } diff --git a/src/main.cpp b/src/main.cpp index ea6995d8..e19f97fa 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,6 +18,8 @@ #include "Welcome.h" #include "FEProblem/FEProblem.h" +#include "FECell/FECell.h" +#include "FECell/FECellGenerator.h" int main(int args,char *argv[]){ PetscErrorCode ierr; ierr=PetscInitialize(&args,&argv,NULL,NULL);if (ierr) return ierr; @@ -29,10 +31,16 @@ int main(int args,char *argv[]){ welcome(Year,Month,Day,Version); - FEProblem feProblem; - feProblem.initFEProblem(args,argv); - feProblem.run(); - feProblem.finalize(); + // FEProblem feProblem; + // feProblem.initFEProblem(args,argv); + // feProblem.run(); + // feProblem.finalize(); + + FECell mycell; + FECellGenerator generator; + mycell.setMeshInfo(1,2,3,0.0,1.0,0.0,1.0,0.0,1.0,MeshType::HEX8); + generator.createFEMeshCell(MeshType::HEX8,mycell.getCellDataRef()); + mycell.printSummaryInfo(); ierr=PetscFinalize();CHKERRQ(ierr); From 2436236610ae9b7d1476760534d711723bd2f87f Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Sun, 28 Jan 2024 17:05:53 +0100 Subject: [PATCH 27/29] add FECell mesh save function --- include/FECell/FECell.h | 5 +- include/FECell/FECellData.h | 2 + src/FECell/FECell.cpp | 75 ++++++++++++++++++++++ src/FECell/Lagrange3DMeshCellGenerator.cpp | 9 +++ src/main.cpp | 6 +- 5 files changed, 94 insertions(+), 3 deletions(-) diff --git a/include/FECell/FECell.h b/include/FECell/FECell.h index 41a93cb7..06f79063 100644 --- a/include/FECell/FECell.h +++ b/include/FECell/FECell.h @@ -90,7 +90,10 @@ class FECell{ */ inline FECellData& getCellDataRef(){return m_CellData;} - + /** + * Save the FECell mesh to vtu file + */ + void saveFECell2VTUFile()const; /** * Print out the summary information of FECell class, i.e., mpi-based mesh distribution, elements num, nodes num, etc. */ diff --git a/include/FECell/FECellData.h b/include/FECell/FECellData.h index b1cb6a38..19fbe6b8 100644 --- a/include/FECell/FECellData.h +++ b/include/FECell/FECellData.h @@ -67,6 +67,8 @@ struct FECellData{ int Ny;/**< elements num along y-axis */ int Nz;/**< elements num along z-axis */ + vector NodeCoords_Global;/**< the nodal coordinates of all the mesh point, which is only stored in master rank */ + int MaxDofsPerNode;/**< the maximum dofs number of each node */ int TotalDofsNum;/**< the total dofs number of the fe cell mesh */ int ActiveDofsNum;/**< the active dofs number of the fe cell mesh */ diff --git a/src/FECell/FECell.cpp b/src/FECell/FECell.cpp index 81980f7f..060ec031 100644 --- a/src/FECell/FECell.cpp +++ b/src/FECell/FECell.cpp @@ -12,6 +12,7 @@ //+++ Function: finite element cell management class //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +#include #include "FECell/FECell.h" FECell::FECell(){} @@ -51,6 +52,80 @@ void FECell::setMeshInfo(const int &nx,const int &ny,const int &nz, m_CellData.Zmax=zmax; m_CellData.BulkElmtMeshType=meshtype; } +//**************************************************** +void FECell::saveFECell2VTUFile()const{ + int rank; + MPI_Comm_rank(MPI_COMM_WORLD,&rank); + if(rank==0){ + std::ofstream out; + out.open("mesh.vtu",std::ios::out); + if(!out.is_open()){ + MessagePrinter::printErrorTxt("can\'t create/open mesh.vtu, please make sure you have the write permission"); + MessagePrinter::exitAsFem(); + } + out << "\n"; + out << "\n"; + out << "\n"; + out << "\n"; + out << "\n"; + out << "\n"; + + int i; + //***************************** + // print out node coordinates + out <\n"; + out << "\n"; + + //*************************************** + //*** For cell information + //*************************************** + out << "\n"; + out << "\n"; + for(const auto &cell:m_CellData.MeshCell_Total){ + for(const auto &id:cell.ElmtConn){ + out<\n"; + + //*************************************** + //*** For offset + //*************************************** + out << "\n"; + int offset = 0; + for(const auto &cell:m_CellData.MeshCell_Total){ + offset+=cell.NodesNumPerElmt; + out << offset << "\n"; + } + out << "\n"; + + //*************************************** + //*** For vtk cell type + //*************************************** + out << "\n"; + for(const auto &cell:m_CellData.MeshCell_Total){ + out<\n"; + out << "\n"; + + //*************************************** + //*** End of output + //*************************************** + out << "\n"; + out << "\n"; + out << "" << endl; + + out.close(); + } +} void FECell::printSummaryInfo()const{ MessagePrinter::printStars(); MessagePrinter::printNormalTxt("Summary information of FECell system"); diff --git a/src/FECell/Lagrange3DMeshCellGenerator.cpp b/src/FECell/Lagrange3DMeshCellGenerator.cpp index 00da3f34..1950a9df 100644 --- a/src/FECell/Lagrange3DMeshCellGenerator.cpp +++ b/src/FECell/Lagrange3DMeshCellGenerator.cpp @@ -120,6 +120,9 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } }// end-of-node-generation + t_celldata.NodeCoords_Global.clear(); + for(const auto &it:nodecoords) t_celldata.NodeCoords_Global.push_back(it); + // for the connectivity information of bulk elements t_celldata.MeshCell_Total.resize(t_celldata.BulkElmtsNum); leftconn.resize(t_celldata.Ny*t_celldata.Nz); @@ -545,6 +548,9 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe nodecoords[(kk-1)*3+2-1]=t_celldata.Ymin+(j-1)*2*dy; nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; } + t_celldata.NodeCoords_Global.clear(); + for(const auto &it:nodecoords) t_celldata.NodeCoords_Global.push_back(it); + // end-of-node-generation t_celldata.MeshCell_Total.resize(t_celldata.BulkElmtsNum); leftconn.resize(t_celldata.Ny*t_celldata.Nz); @@ -1163,6 +1169,9 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe nodecoords[(kk-1)*3+3-1]=t_celldata.Zmin+(k-1)*2*dz; } } + t_celldata.NodeCoords_Global.clear(); + for(const auto &it:nodecoords) t_celldata.NodeCoords_Global.push_back(it); + // for the connectivity information of bulk elements t_celldata.MeshCell_Total.resize(t_celldata.BulkElmtsNum); leftconn.resize(t_celldata.Ny*t_celldata.Nz); diff --git a/src/main.cpp b/src/main.cpp index e19f97fa..3df2d96b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -38,9 +38,11 @@ int main(int args,char *argv[]){ FECell mycell; FECellGenerator generator; - mycell.setMeshInfo(1,2,3,0.0,1.0,0.0,1.0,0.0,1.0,MeshType::HEX8); - generator.createFEMeshCell(MeshType::HEX8,mycell.getCellDataRef()); + mycell.setMeshInfo(1,2,3,0.0,1.0,0.0,1.0,0.0,1.0,MeshType::HEX20); + generator.createFEMeshCell(MeshType::HEX20,mycell.getCellDataRef()); mycell.printSummaryInfo(); + + mycell.saveFECell2VTUFile(); ierr=PetscFinalize();CHKERRQ(ierr); From f91e9ea8b97f7739c1ea9e83c4988d0c9fb98c6f Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Sun, 28 Jan 2024 17:11:01 +0100 Subject: [PATCH 28/29] fix bug in Hex20 bc mesh conn --- src/FECell/Lagrange3DMeshCellGenerator.cpp | 96 +++++++++++----------- src/main.cpp | 18 +--- 2 files changed, 52 insertions(+), 62 deletions(-) diff --git a/src/FECell/Lagrange3DMeshCellGenerator.cpp b/src/FECell/Lagrange3DMeshCellGenerator.cpp index 1950a9df..e1e24d95 100644 --- a/src/FECell/Lagrange3DMeshCellGenerator.cpp +++ b/src/FECell/Lagrange3DMeshCellGenerator.cpp @@ -835,59 +835,59 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe } if(j==1){ // for bottom bc elements - bottomconn[(k-1)*t_celldata.Ny+j-1].Dim=2; - bottomconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=8; - bottomconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=23; + bottomconn[(k-1)*t_celldata.Nx+i-1].Dim=2; + bottomconn[(k-1)*t_celldata.Nx+i-1].NodesNumPerElmt=8; + bottomconn[(k-1)*t_celldata.Nx+i-1].VTKCellType=23; - bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1; - bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear(); - bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(3); - bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear(); - bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("bottom"); - - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear(); - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i1); - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i2); - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i6); - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i5); - // - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i9); - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i18); - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i13); - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i17); - - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(8); - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; - // - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1]; - // - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i6-1)*3+1-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i6-1)*3+2-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i6-1)*3+3-1]; - // - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i5-1)*3+1-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i5-1)*3+2-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i5-1)*3+3-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1; + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(3); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("bottom"); + + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.clear(); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i1); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i2); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i6); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i5); + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i9); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i18); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i13); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i17); + + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(8); + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i6-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i6-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i6-1)*3+3-1]; + // + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i5-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i5-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i5-1)*3+3-1]; //// - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,1)=nodecoords[(i9-1)*3+1-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,2)=nodecoords[(i9-1)*3+2-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,3)=nodecoords[(i9-1)*3+3-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i9-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i9-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i9-1)*3+3-1]; // - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,1)=nodecoords[(i18-1)*3+1-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,2)=nodecoords[(i18-1)*3+2-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,3)=nodecoords[(i18-1)*3+3-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i18-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i18-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i18-1)*3+3-1]; // - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,1)=nodecoords[(i13-1)*3+1-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,2)=nodecoords[(i13-1)*3+2-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,3)=nodecoords[(i13-1)*3+3-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i13-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i13-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i13-1)*3+3-1]; // - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,1)=nodecoords[(i17-1)*3+1-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,2)=nodecoords[(i17-1)*3+2-1]; - bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,3)=nodecoords[(i17-1)*3+3-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i17-1)*3+1-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i17-1)*3+2-1]; + bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i17-1)*3+3-1]; bottomnodes.push_back(i1); bottomnodes.push_back(i2); diff --git a/src/main.cpp b/src/main.cpp index 3df2d96b..899db0a1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,8 +18,6 @@ #include "Welcome.h" #include "FEProblem/FEProblem.h" -#include "FECell/FECell.h" -#include "FECell/FECellGenerator.h" int main(int args,char *argv[]){ PetscErrorCode ierr; ierr=PetscInitialize(&args,&argv,NULL,NULL);if (ierr) return ierr; @@ -31,19 +29,11 @@ int main(int args,char *argv[]){ welcome(Year,Month,Day,Version); - // FEProblem feProblem; - // feProblem.initFEProblem(args,argv); - // feProblem.run(); - // feProblem.finalize(); + FEProblem feProblem; + feProblem.initFEProblem(args,argv); + feProblem.run(); + feProblem.finalize(); - FECell mycell; - FECellGenerator generator; - mycell.setMeshInfo(1,2,3,0.0,1.0,0.0,1.0,0.0,1.0,MeshType::HEX20); - generator.createFEMeshCell(MeshType::HEX20,mycell.getCellDataRef()); - mycell.printSummaryInfo(); - - mycell.saveFECell2VTUFile(); - ierr=PetscFinalize();CHKERRQ(ierr); return ierr; From e82e669342bb347a74ea43473a4c7d29c30ea3f7 Mon Sep 17 00:00:00 2001 From: yangbai90 Date: Mon, 29 Jan 2024 19:38:25 +0100 Subject: [PATCH 29/29] update README --- README.md | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 0f51539b..e7b47776 100644 --- a/README.md +++ b/README.md @@ -1,54 +1,58 @@ -[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4603558.svg?style=flat-square)](https://doi.org/10.5281/zenodo.4603557) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4603558.svg)](https://doi.org/10.5281/zenodo.4603557) # AsFem -A **simple** finite element method program, which is short for **AsFem**. AsFem is written in C++ and designed for phase-field modeling and multiphysics coupling. The [PETSc](https://www.mcs.anl.gov/petsc/) library is involved in AsFem for the efficient computing. +**AsFem**-**A**dvanced **S**imulation kit based on **F**inite **E**lement **M**ethod. AsFem is written in C++ and designed for phase-field modeling and multiphysics coupling. The [PETSc](https://www.mcs.anl.gov/petsc/) library and [MPI](https://www.open-mpi.org/) package are involved in AsFem for the scalable computing. # Download ``` -git clone https://github.com/M3Group/AsFem.git +git clone https://github.com/MatMechLab/AsFem ``` -For the detailed usage, one is referred to [AsFem Page](https://m3group.github.io/AsFem/) . +For comprehensive details on usage, please refer to the [AsFem Page](https://matmechlab.github.io/AsFem/). -If one has access issues, the alternative link could be [AsFem-Gitee](https://gitee.com/m3group/AsFem.git), the git clone can be done via: +If you encounter any access issues, an alternative link to explore is [AsFem-Gitee](https://gitee.com/matmechlab/AsFem). Git cloning can be executed using the following command: ``` -git clone https://gitee.com/m3group/AsFem.git +git clone https://gitee.com/matmechlab/AsFem.git ``` # Installation -The installation details of AsFem can be found here [AsFem-Installation](https://m3group.github.io/AsFem/install/) . +Detailed installation instructions for AsFem are available at [AsFem-Installation](https://matmechlab.github.io/AsFem/install/). -After you've installed your PETSc (PETSC_DIR) and MPI (MPI_DIR), all you have to do is: +Once you have installed PETSc and MPI (set up your PETSC_DIR and MPI_DIR), the next steps are as follows: ``` cmake CMakeLists.txt -DCMAKE_BUILD_TYPE=Release make -j4 ``` # Demos -AsFem has several demos, you can visit them either on [Bilibili](https://space.bilibili.com/100272198/channel/detail?cid=90241) or on [Youtube](https://www.youtube.com/playlist?list=PLVEpIo_wvYmaLPoLjj5Lg93YvYy9flkN8). + +You can explore several AsFem demos on platforms like [Bilibili](https://space.bilibili.com/100272198/channel/collectiondetail?sid=73185) and [Youtube](https://www.youtube.com/playlist?list=PLVEpIo_wvYmaLPoLjj5Lg93YvYy9flkN8). + spinodal-decomposition | double-notch failure :-------------------------:|:-------------------------: ![](figures/CahnHilliard.gif) | ![](figures/DoubleNotch.gif) # Tutorial & examples -The tutorial is avialable here https://m3group.github.io/AsFem/Tutorial/step-0/ -For Chinese users, the video lecture is available on bilibili, please see [AsFem-Lecture](https://space.bilibili.com/100272198/channel/detail?cid=193605). +The tutorial can be accessed at this link: [AsFem Tutorial](https://matmechlab.github.io/AsFem/Tutorial/step-0/) -Currently, one can find the tested input files in both the `AsFem/examples` folder as well as `AsFem/test_input` folder. For a better understanding of how to use AsFem, please take a look at these input files first. +Chinese users can access the video lecture on Bilibili at [AsFem-Lecture](https://space.bilibili.com/100272198/channel/collectiondetail?sid=73182). + +At present, the tested input files for AsFem are located in two directories: `AsFem/examples` and `AsFem/test_input`. For an enhanced understanding of how to utilize AsFem effectively, it is recommended to first examine these input files. # Document -The code is documented by the [Doxygen](https://www.doxygen.nl/index.html) package, one can generate the pdf file or html files via: + +The code is documented using the [Doxygen](https://www.doxygen.nl/index.html) package. You can generate PDF or HTML files using the following commands: ``` doxygen ``` -More documents and details can be found in AsFem's [homepage](https://m3group.github.io/AsFem/). +Additional documentation and details about AsFem are available on its [homepage](https://matmechlab.github.io/AsFem/) # Author [Yang Bai](https://yangbai90.github.io/) @@ -58,12 +62,12 @@ More documents and details can be found in AsFem's [homepage](https://m3group.gi ``` @misc{yang_bai_2021_4603558, author = {Yang Bai}, - title = {{AsFem: a simple finite element method program for - phase-field modeling and multiphysics coupling}}, - month = feb, + title = {{AsFem: Advanced Simulation kit based on Finite + Element Method}}, + month = mar, year = 2021, publisher = {Zenodo}, - version = {master}, + version = {V0.8}, doi = {10.5281/zenodo.4603558}, url = {https://doi.org/10.5281/zenodo.4603558} } @@ -71,19 +75,19 @@ More documents and details can be found in AsFem's [homepage](https://m3group.gi # Contribute -If you discover bugs in the `AsFem` package, please create an issue at the project repository on GitHub at https://github.com/M3Group/AsFem. +If you discover bugs in the `AsFem` package, please create an issue at the project repository on GitHub at https://github.com/MatMechLab/AsFem. -If you find the AsFem package useful, we welcome your code and documentation contributions. To contribute, fork the repository on GitHub, and submit a pull request at https://github.com/M3Group/AsFem. +If you find the AsFem package useful, we welcome your code and documentation contributions. To contribute, fork the repository on GitHub, and submit a pull request at https://github.com/MatMechLab/AsFem. # Contact -Submit bug reports and feature requests on the [repository issue tracker](https://github.com/M3Group/AsFem/issues). +Submit bug reports and feature requests on the [repository issue tracker](https://github.com/MatMechLab/AsFem/issues). # Discussion -If you are interested in AsFem or have any questions, just feel free to send me an email [Mail2Me](mailto:yangbai90@outlook.com) or join the QQ group for more discussion . +If you have an interest in AsFem or any questions, please don't hesitate to [Mail2Me](mailto:yangbai90@outlook.com), or join our QQ group for further discussions. ``` QQ group: 879908352 ```