Skip to content

Commit 2d2af0a

Browse files
Merge pull request #364 from easifem-fortran/dev
easifemClasses.v23.10.2
2 parents 4c0dea1 + 5074180 commit 2d2af0a

File tree

376 files changed

+35151
-14638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

376 files changed

+35151
-14638
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ tests/
3434
*.ipynb
3535
*.dat
3636
_packages/
37+
__*
3738

3839

3940

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"folders": [
3+
{
4+
"path": "../src/modules/AbstractKernel"
5+
},
6+
{
7+
"path": "../src/submodules/AbstractKernel"
8+
}
9+
]
10+
}

build.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env python3
2+
3+
# This program is a part of EASIFEM library.
4+
# See. www.easifem.com
5+
# Copyright (c) 2020-2021, All right reserved, Vikas Sharma, Ph.D.
6+
#
7+
8+
import os
9+
10+
# import sys
11+
import platform
12+
13+
print("Detecting OS type...")
14+
_os = platform.system()
15+
if _os == "Windows":
16+
print("ERROR: INSTALLATION on windows is work in progress")
17+
exit
18+
# print("Please use Windows Subsystem Linux(WSL) ")
19+
# print("Installation DONE!!")
20+
else:
21+
cmake_def = ""
22+
cmake_def += '-G "Ninja"'
23+
cmake_def += " -D USE_GMSH_SDK:BOOL=ON"
24+
cmake_def += " -D CMAKE_BUILD_TYPE=Debug"
25+
cmake_def += " -D BUILD_SHARED_LIBS:BOOL=ON"
26+
cmake_def += " -D USE_LIS:BOOL=ON"
27+
cmake_def += " -D CMAKE_INSTALL_PREFIX:PATH=${EASIFEM_CLASSES}"
28+
print("CMAKE DEF : ", cmake_def)
29+
_build0 = os.path.join(os.environ["HOME"], "temp")
30+
build_dir = os.path.join(
31+
os.environ.get("EASIFEM_BUILD_DIR",
32+
_build0), "easifem", "classes", "build"
33+
)
34+
# build_dir = os.environ["HOME"] + "/temp/easifem-base/build"
35+
os.makedirs(build_dir, exist_ok=True)
36+
os.system(f"cmake -S ./ -B {build_dir} {cmake_def}")
37+
os.system(f"cmake --build {build_dir}")
38+
print("Build DONE!!")

cmake/addLIS.cmake

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
# This program is a part of EASIFEM library
2-
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
1+
# This program is a part of EASIFEM library Copyright (C) 2020-2021 Vikas
2+
# Sharma, Ph.D
33
#
4-
# This program is free software: you can redistribute it and/or modify
5-
# it under the terms of the GNU General Public License as published by
6-
# the Free Software Foundation, either version 3 of the License, or
7-
# (at your option) any later version.
4+
# This program is free software: you can redistribute it and/or modify it under
5+
# the terms of the GNU General Public License as published by the Free Software
6+
# Foundation, either version 3 of the License, or (at your option) any later
7+
# version.
88
#
9-
# This program is distributed in the hope that it will be useful,
10-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12-
# GNU General Public License for more details.
9+
# This program is distributed in the hope that it will be useful, but WITHOUT
10+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12+
# details.
1313
#
14-
# You should have received a copy of the GNU General Public License
15-
# along with this program. If not, see <https: //www.gnu.org/licenses/>
14+
# You should have received a copy of the GNU General Public License along with
15+
# this program. If not, see <https: //www.gnu.org/licenses/>
1616
#
1717

18-
IF( ${PROJECT_NAME} MATCHES "easifemBase" )
19-
OPTION( USE_LIS OFF )
20-
IF( USE_LIS )
21-
LIST( APPEND TARGET_COMPILE_DEF "-DUSE_LIS" )
22-
IF( UNIX )
23-
IF(APPLE)
24-
SET( LIS_LIBRARIES "$ENV{EASIFEM_EXTPKGS}/lib/liblis.dylib" )
25-
ELSE()
26-
SET( LIS_LIBRARIES "$ENV{EASIFEM_EXTPKGS}/lib/liblis.so" )
27-
ENDIF()
28-
ENDIF()
29-
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PUBLIC ${LIS_LIBRARIES} )
30-
MESSAGE( STATUS "LIS_LIBRARIES : ${LIS_LIBRARIES}" )
31-
ELSE()
32-
MESSAGE( STATUS "NOT USING LIS LIBRARIES" )
33-
ENDIF()
34-
ENDIF()
18+
if(${PROJECT_NAME} MATCHES "easifemBase")
19+
option(USE_LIS OFF)
20+
if(USE_LIS)
21+
list(APPEND TARGET_COMPILE_DEF "-DUSE_LIS")
22+
if(UNIX)
23+
if(APPLE)
24+
set(LIS_LIBRARIES "$ENV{EASIFEM_EXTPKGS}/lib/liblis.dylib")
25+
else()
26+
set(LIS_LIBRARIES "$ENV{EASIFEM_EXTPKGS}/lib/liblis.so")
27+
endif()
28+
endif()
29+
target_link_libraries(${PROJECT_NAME} PUBLIC ${LIS_LIBRARIES})
30+
message(STATUS "LIS_LIBRARIES : ${LIS_LIBRARIES}")
31+
else()
32+
message(STATUS "NOT USING LIS LIBRARIES")
33+
endif()
34+
endif()

cmake/prefixPaths.cmake

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,19 @@
1-
# This program is a part of EASIFEM library
2-
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
1+
# This program is a part of EASIFEM library Copyright (C) 2020-2021 Vikas
2+
# Sharma, Ph.D
33
#
4-
# This program is free software: you can redistribute it and/or modify
5-
# it under the terms of the GNU General Public License as published by
6-
# the Free Software Foundation, either version 3 of the License, or
7-
# (at your option) any later version.
4+
# This program is free software: you can redistribute it and/or modify it under
5+
# the terms of the GNU General Public License as published by the Free Software
6+
# Foundation, either version 3 of the License, or (at your option) any later
7+
# version.
88
#
9-
# This program is distributed in the hope that it will be useful,
10-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12-
# GNU General Public License for more details.
9+
# This program is distributed in the hope that it will be useful, but WITHOUT
10+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12+
# details.
1313
#
14-
# You should have received a copy of the GNU General Public License
15-
# along with this program. If not, see <https: //www.gnu.org/licenses/>
14+
# You should have received a copy of the GNU General Public License along with
15+
# this program. If not, see <https: //www.gnu.org/licenses/>
1616
#
17-
IF(NOT CMAKE_PREFIX_PATH)
18-
LIST(
19-
APPEND
20-
CMAKE_PREFIX_PATH
21-
"$ENV{EASIFEM_EXTPKGS}"
22-
"$ENV{EASIFEM_BASE}"
23-
)
24-
ENDIF()
17+
if(NOT CMAKE_PREFIX_PATH)
18+
list(APPEND CMAKE_PREFIX_PATH "$ENV{EASIFEM_EXTPKGS}" "$ENV{EASIFEM_BASE}")
19+
endif()

cmake/targetCompileDefs.cmake

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,47 @@
1-
# This program is a part of EASIFEM library
2-
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
1+
# This program is a part of EASIFEM library Copyright (C) 2020-2021 Vikas
2+
# Sharma, Ph.D
33
#
4-
# This program is free software: you can redistribute it and/or modify
5-
# it under the terms of the GNU General Public License as published by
6-
# the Free Software Foundation, either version 3 of the License, or
7-
# (at your option) any later version.
4+
# This program is free software: you can redistribute it and/or modify it under
5+
# the terms of the GNU General Public License as published by the Free Software
6+
# Foundation, either version 3 of the License, or (at your option) any later
7+
# version.
88
#
9-
# This program is distributed in the hope that it will be useful,
10-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12-
# GNU General Public License for more details.
9+
# This program is distributed in the hope that it will be useful, but WITHOUT
10+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12+
# details.
1313
#
14-
# You should have received a copy of the GNU General Public License
15-
# along with this program. If not, see <https: //www.gnu.org/licenses/>
14+
# You should have received a copy of the GNU General Public License along with
15+
# this program. If not, see <https: //www.gnu.org/licenses/>
1616
#
17-
#COMPILE DEF
17+
# COMPILE DEF
1818
#
19-
#Single precision or double precision
20-
OPTION(USE_Real32 OFF)
21-
OPTION(USE_Real64 OFF)
22-
IF(USE_Real32)
23-
LIST( APPEND TARGET_COMPILE_DEF "-DUSE_Real32" )
24-
ELSEIF(USE_Real64)
25-
LIST( APPEND TARGET_COMPILE_DEF "-DUSE_Real64" )
26-
ELSE()
27-
LIST( APPEND TARGET_COMPILE_DEF "-DUSE_Real64" )
28-
ENDIF()
29-
OPTION(USE_Int32 OFF)
30-
OPTION(USE_Int64 OFF)
31-
IF(USE_Int32)
32-
LIST( APPEND TARGET_COMPILE_DEF "-DUSE_Int32" )
33-
ELSEIF(USE_Real64)
34-
LIST( APPEND TARGET_COMPILE_DEF "-DUSE_Int64" )
35-
ELSE()
36-
LIST( APPEND TARGET_COMPILE_DEF "-DUSE_Int32" )
37-
ENDIF()
38-
LIST( APPEND TARGET_COMPILE_DEF "-D${CMAKE_HOST_SYSTEM_NAME}_SYSTEM" )
19+
# Single precision or double precision
20+
option(USE_Real32 OFF)
21+
option(USE_Real64 OFF)
22+
if(USE_Real32)
23+
list(APPEND TARGET_COMPILE_DEF "-DUSE_Real32")
24+
elseif(USE_Real64)
25+
list(APPEND TARGET_COMPILE_DEF "-DUSE_Real64")
26+
else()
27+
list(APPEND TARGET_COMPILE_DEF "-DUSE_Real64")
28+
endif()
29+
option(USE_Int32 OFF)
30+
option(USE_Int64 OFF)
31+
if(USE_Int32)
32+
list(APPEND TARGET_COMPILE_DEF "-DUSE_Int32")
33+
elseif(USE_Real64)
34+
list(APPEND TARGET_COMPILE_DEF "-DUSE_Int64")
35+
else()
36+
list(APPEND TARGET_COMPILE_DEF "-DUSE_Int32")
37+
endif()
38+
list(APPEND TARGET_COMPILE_DEF "-D${CMAKE_HOST_SYSTEM_NAME}_SYSTEM")
3939

40-
#DEFINE DEBUG
41-
IF (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
42-
LIST( APPEND TARGET_COMPILE_DEF "-DDEBUG_VER" )
43-
ENDIF()
40+
# DEFINE DEBUG
41+
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
42+
list(APPEND TARGET_COMPILE_DEF "-DDEBUG_VER")
43+
endif()
4444

45-
#ADD TO PROJECT
46-
TARGET_COMPILE_DEFINITIONS( ${PROJECT_NAME} PUBLIC ${TARGET_COMPILE_DEF} )
47-
MESSAGE( STATUS "COMPILE DEFINITIONS USED ARE ${TARGET_COMPILE_DEF}")
45+
# ADD TO PROJECT
46+
target_compile_definitions(${PROJECT_NAME} PUBLIC ${TARGET_COMPILE_DEF})
47+
message(STATUS "COMPILE DEFINITIONS USED ARE ${TARGET_COMPILE_DEF}")

cmake/targetLinkLibs.cmake

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,28 @@
1-
# This program is a part of EASIFEM library
2-
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
1+
# This program is a part of EASIFEM library Copyright (C) 2020-2021 Vikas
2+
# Sharma, Ph.D
33
#
4-
# This program is free software: you can redistribute it and/or modify
5-
# it under the terms of the GNU General Public License as published by
6-
# the Free Software Foundation, either version 3 of the License, or
7-
# (at your option) any later version.
4+
# This program is free software: you can redistribute it and/or modify it under
5+
# the terms of the GNU General Public License as published by the Free Software
6+
# Foundation, either version 3 of the License, or (at your option) any later
7+
# version.
88
#
9-
# This program is distributed in the hope that it will be useful,
10-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12-
# GNU General Public License for more details.
13-
#
14-
# You should have received a copy of the GNU General Public License
15-
# along with this program. If not, see <https: //www.gnu.org/licenses/>
9+
# This program is distributed in the hope that it will be useful, but WITHOUT
10+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12+
# details.
1613
#
14+
# You should have received a copy of the GNU General Public License along with
15+
# this program. If not, see <https: //www.gnu.org/licenses/>
1716
#
1817

19-
#....................................................................
18+
# ....................................................................
2019
#
21-
#....................................................................
22-
23-
FIND_PACKAGE( easifemBase REQUIRED )
24-
IF( easifemBase_FOUND )
25-
MESSAGE(STATUS "FOUND easifemBase")
26-
ELSE()
27-
MESSAGE(ERROR "NOT FOUND easifemBase")
28-
ENDIF()
29-
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PUBLIC easifemBase::easifemBase )
20+
# ....................................................................
3021

22+
find_package(easifemBase REQUIRED)
23+
if(easifemBase_FOUND)
24+
message(STATUS "FOUND easifemBase")
25+
else()
26+
message(ERROR "NOT FOUND easifemBase")
27+
endif()
28+
target_link_libraries(${PROJECT_NAME} PUBLIC easifemBase::easifemBase)

install.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
cmake_def += " -D USE_GMSH_SDK:BOOL=ON"
2424
cmake_def += " -D CMAKE_BUILD_TYPE=Debug"
2525
cmake_def += " -D BUILD_SHARED_LIBS:BOOL=ON"
26+
cmake_def += " -D USE_LIS:BOOL=ON"
2627
cmake_def += " -D CMAKE_INSTALL_PREFIX:PATH=${EASIFEM_CLASSES}"
2728
print("CMAKE DEF : ", cmake_def)
2829
_build0 = os.path.join(os.environ["HOME"], "temp")

release_install.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/usr/bin/env python3
2+
3+
# This program is a part of EASIFEM library.
4+
# See. www.easifem.com
5+
# Copyright (c) 2020-2021, All right reserved, Vikas Sharma, Ph.D.
6+
#
7+
8+
import os
9+
10+
# import sys
11+
import platform
12+
13+
print("Detecting OS type...")
14+
_os = platform.system()
15+
if _os == "Windows":
16+
print("ERROR: INSTALLATION on windows is work in progress")
17+
exit
18+
# print("Please use Windows Subsystem Linux(WSL) ")
19+
# print("Installation DONE!!")
20+
else:
21+
cmake_def = ""
22+
cmake_def += '-G "Ninja"'
23+
cmake_def += " -D USE_GMSH_SDK:BOOL=ON"
24+
cmake_def += " -D CMAKE_BUILD_TYPE:STRING=Release"
25+
cmake_def += " -D BUILD_SHARED_LIBS:BOOL=ON"
26+
cmake_def += " -D CMAKE_INSTALL_PREFIX:PATH=${EASIFEM_CLASSES}"
27+
print("CMAKE DEF : ", cmake_def)
28+
_build0 = os.path.join(os.environ["HOME"], "temp")
29+
build_dir = os.path.join(
30+
os.environ.get("EASIFEM_BUILD_DIR",
31+
_build0), "easifem", "classes", "build"
32+
)
33+
# build_dir = os.environ["HOME"] + "/temp/easifem-base/build"
34+
os.makedirs(build_dir, exist_ok=True)
35+
os.system(f"cmake -S ./ -B {build_dir} {cmake_def}")
36+
os.system(f"cmake --build {build_dir} --target install")
37+
print("Installation DONE!!")

src/modules/AbstractBC/src/AbstractBC_Class.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ END SUBROUTINE bc_Get
370370

371371
!> author: Vikas Sharma, Ph. D.
372372
! date: 2023-02-12
373-
! summary: Get the node number and nodal value
373+
! summary: Get the dirichlet boundary condition in FEVariable
374374

375375
INTERFACE
376376
MODULE SUBROUTINE bc_GetFEVar(obj, fevar, globalNode, &
@@ -386,7 +386,7 @@ END SUBROUTINE bc_GetFEVar
386386
END INTERFACE
387387

388388
!----------------------------------------------------------------------------
389-
! GetFromFunction@GetMethods
389+
! GetFromFunction@GetMethods
390390
!----------------------------------------------------------------------------
391391

392392
!> author: Vikas Sharma, Ph. D.

0 commit comments

Comments
 (0)