Skip to content

Commit

Permalink
Merge pull request #120 from vickysharma0812/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
vickysharma0812 authored Feb 28, 2022
2 parents c77e544 + a6801aa commit 1577579
Show file tree
Hide file tree
Showing 39 changed files with 235 additions and 5,007 deletions.
17 changes: 17 additions & 0 deletions cmake/Compiler.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
#
MESSAGE(STATUS
"Is the Fortran compiler loaded? ${CMAKE_Fortran_COMPILER_LOADED}")

Expand Down
16 changes: 16 additions & 0 deletions cmake/addGmsh.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
#GMSH SDK
IF( ${PROJECT_NAME} MATCHES "easifemClasses" )
OPTION( USE_GMSH_SDK OFF )
Expand Down
16 changes: 16 additions & 0 deletions cmake/addHDF5.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
# Find HDF5
IF( ${PROJECT_NAME} MATCHES "easifemClasses" )
FIND_PACKAGE(HDF5 REQUIRED COMPONENTS Fortran HL)
Expand Down
16 changes: 16 additions & 0 deletions cmake/addMetis.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
# METIS LIBRARY
IF( ${PROJECT_NAME} MATCHES "easifemBase" )
OPTION(USE_METIS ON)
Expand Down
18 changes: 17 additions & 1 deletion cmake/addOpenBLAS.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
# INSTALL OPENBLAS
IF( ${PROJECT_NAME} MATCHES "easifemBase" )
SET(BLA_VENDOR "OpenBLAS")
#SET(BLA_VENDOR "OpenBLAS")
FIND_PACKAGE( LAPACK REQUIRED )
IF( LAPACK_FOUND )
MESSAGE(STATUS "FOUND LAPACK")
Expand Down
16 changes: 16 additions & 0 deletions cmake/addOpenMP.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
# FIND OPENMP
OPTION(USE_OpenMP OFF)
IF(USE_OpenMP)
Expand Down
22 changes: 19 additions & 3 deletions cmake/addPLPLOT.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
#PLPLOT
IF( ${PROJECT_NAME} MATCHES "easifemBase" )
OPTION( USE_PLPLOT OFF )
Expand All @@ -13,11 +29,11 @@ IF( ${PROJECT_NAME} MATCHES "easifemBase" )
"/usr/local/lib/libplplotfortran.dylib" )
ELSE()
SET(PLPLOT_INCLUDE_DIR
"$ENV{EASIFEM_EXTPKGS}/lib/fortran/modules/plplot" )
"/usr/lib/x86_64-linux-gnu/fortran/modules/plplot" )
SET(PLPLOT_LIBRARY
"$ENV{EASIFEM_EXTPKGS}/lib/libplplot.so" )
"/usr/lib/x86_64-linux-gnu/libplplot.so" )
SET(PLPLOT_FORTRAN_LIBRARY
"$ENV{EASIFEM_EXTPKGS}/lib/libplplotfortran.so" )
"/usr/lib/x86_64-linux-gnu/libplplotfortran.so" )
ENDIF()
ENDIF()
TARGET_LINK_LIBRARIES(
Expand Down
16 changes: 16 additions & 0 deletions cmake/checkError.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
# SYSTEM INFORMATION
# Disable in-source builds to prevent source tree corruption.
IF(" ${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL " ${CMAKE_CURRENT_BINARY_DIR}")
Expand Down
16 changes: 16 additions & 0 deletions cmake/makeDirs.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
INCLUDE( GNUInstallDirs )
SET(
CMAKE_Fortran_MODULE_DIRECTORY
Expand Down
16 changes: 16 additions & 0 deletions cmake/prefixPaths.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
IF(NOT CMAKE_PREFIX_PATH)
LIST(
APPEND
Expand Down
18 changes: 17 additions & 1 deletion cmake/targetCompileDefs.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
#COMPILE DEF

#
#Single precision or double precision
OPTION(USE_Real32 OFF)
OPTION(USE_Real64 OFF)
Expand Down
16 changes: 16 additions & 0 deletions cmake/targetCompileOpts.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
#OPTIONS
TARGET_COMPILE_OPTIONS(
${PROJECT_NAME}
Expand Down
16 changes: 16 additions & 0 deletions cmake/targetIncludeDirs.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# This program is a part of EASIFEM library
# Copyright (C) 2020-2021 Vikas Sharma, Ph.D
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#
#INCLDE DIR
TARGET_INCLUDE_DIRECTORIES(
${PROJECT_NAME}
Expand Down
2 changes: 1 addition & 1 deletion cmake/targetLinkLibs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https: //www.gnu.org/licenses/>
#

#
# Link libs to the project
# 1
FUNCTION(FIND_EASIFEM_DEPENDENCY EXT_PKG_LIST)
Expand Down
16 changes: 8 additions & 8 deletions install.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,44 +40,44 @@ def getOption(key, opt):
cmake_def += " -DUSE_METIS=ON"
user_query = False
if user_query:

###################################
opt = getOption("CMAKE_GENERATOR", [
"Unix Makefiles", "Ninja", "Ninja Multi-Config"])
if(opt == " "):
# opt = '"Unix Makefiles"'
opt = '"Ninja"'
cmake_def += " -G " + opt

###################################
opt = getOption("USE_PLPLOT", ["ON", "OFF"])
if(opt == " "):
opt = "ON"
cmake_def += " -DUSE_PLPLOT=" + opt

###################################
opt = getOption("USE_BLAS95", ["ON", "OFF"])
if(opt == " "):
opt = "ON"
cmake_def += " -DUSE_BLAS95=" + opt

###################################
opt = getOption("USE_LAPACK95", ["ON", "OFF"])
if(opt == " "):
opt = "ON"
cmake_def += " -DUSE_LAPACK95=" + opt

###################################
opt = getOption("USE_OpenMP", ["ON", "OFF"])
if(opt == " "):
opt = "ON"
cmake_def += " -DUSE_OpenMP=" + opt

###################################
opt = getOption("CMAKE_BUILD_TYPE", ["Release", "Debug"])
if(opt == " "):
opt = "Release"
cmake_def += " -DCMAKE_BUILD_TYPE=" + opt

###################################
opt = getOption("BUILD_SHARED_LIBS", ["ON", "OFF"])
if(opt == " "):
opt = "ON"
cmake_def += " -DBUILD_SHARED_LIBS=" + opt

###################################
opt = getOption("CMAKE_INSTALL_PREFIX", ["${PREFIX}"])
if(opt == " "):
opt = "${EASIFEM_BASE}"
Expand Down
8 changes: 1 addition & 7 deletions src/modules/BaseType/src/BaseType.F90
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,6 @@ MODULE BaseType
IMPLICIT NONE
PRIVATE

TYPE(String), PUBLIC, PARAMETER :: TypeString = String(raw=NULL())
TYPE :: StringPointer_
CLASS(String), POINTER :: ptr => NULL()
END TYPE StringPointer_
PUBLIC :: StringPointer_

!----------------------------------------------------------------------------
! BoundingBox_
!----------------------------------------------------------------------------
Expand Down Expand Up @@ -371,7 +365,7 @@ MODULE BaseType
PUBLIC :: IterationData_

TYPE(IterationData_), PUBLIC, PARAMETER :: TypeIterationData = &
& IterationData_()
& IterationData_( header=NULL() )

TYPE :: IterationDataPointer_
CLASS(IterationData_), POINTER :: Ptr => NULL()
Expand Down
11 changes: 11 additions & 0 deletions src/modules/String/src/String_Class.F90
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,17 @@ MODULE String_Class
!
!----------------------------------------------------------------------------

TYPE(String), PUBLIC, PARAMETER :: TypeString = String(raw=NULL())

TYPE :: StringPointer_
CLASS(String), POINTER :: ptr => NULL()
END TYPE StringPointer_
PUBLIC :: StringPointer_

!----------------------------------------------------------------------------
!
!----------------------------------------------------------------------------

! internal parameters
CHARACTER(kind=CK, len=26), PARAMETER :: UPPER_ALPHABET = &
& 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
Expand Down
Loading

0 comments on commit 1577579

Please sign in to comment.