Skip to content

Commit 39b3e51

Browse files
Merge pull request #7 from awslabs/sjg/release-0.11.0
Release v0.11.0
2 parents b5b2f83 + 637d9aa commit 39b3e51

14 files changed

+89
-49
lines changed

CHANGELOG.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ The format of this changelog is based on
1111
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
1212
[Semantic Versioning](https://semver.org/).
1313

14-
## In progress
14+
## [0.11.0] - 2023-01-26
1515

16+
- Initial public release on GitHub.
1617
- Added support for anisotropic materials through the use of `"MaterialAxes"` under
1718
`"Materials"`. These material axes allow for specifying symmetric material property
1819
tensors through a sum of weighted outer products of normal vectors. This can be used in
@@ -43,7 +44,7 @@ The format of this changelog is based on
4344
to check a provided configuration file against the schema.
4445
- Added optional interface to GSLIB library which enables `"Probe"` functionality to
4546
sample the computed electric and magnetic fields at points in space.
46-
- Added support for builds using Spack. This includes an option in the build system for
47+
- Prepared to support builds using Spack. This includes an option in the build system for
4748
user-supplied dependencies as an alternative to the superbuild configuration.
4849
- Updated submodules for superbuild, fixing a bug in SuperLU_DIST solver causing
4950
communication hangs for certain numbers of processors.
@@ -140,8 +141,8 @@ The format of this changelog is based on
140141
- Added finite conductivity surface impedance boundary condition, with optional thickness
141142
correction.
142143
- Added dielectric loss calculation specializations for metal-air, metal-substrate, and
143-
substrate-air interfaces in accordance with [this paper]
144-
(https://aip.scitation.org/doi/10.1063/1.3637047).
144+
substrate-air interfaces in accordance with
145+
[this paper](https://aip.scitation.org/doi/10.1063/1.3637047).
145146
- Changed implementation of frequency domain linear algebra to eliminate the use of PETSc
146147
matrix types, relying instead on wrappers of the real and imaginary Hypre matrices
147148
making up a complex operator.

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
1414
endif()
1515

1616
# Initialize the project
17-
project(palace-superbuild LANGUAGES CXX C VERSION 0.10.0)
17+
project(palace-superbuild LANGUAGES CXX C VERSION 0.11.0)
1818

1919
# Define build settings and defaults
2020
set(PALACE_WITH_64BIT_INT OFF CACHE BOOL "Use 64 bit integers")

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ SPDX-License-Identifier: Apache-2.0
1010
[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://awslabs.github.io/palace/dev)
1111

1212
*Palace*, for **PA**rallel **LA**rge-scale **C**omputational **E**lectromagnetics, is an
13-
open-source parallel finite element code for full-wave 3D electromagnetic simulations in
14-
the frequency or time domain, using the [MFEM](http://mfem.org) finite element
15-
discretization library.
13+
open-source, parallel finite element code for full-wave 3D electromagnetic simulations in
14+
the frequency or time domain, using the
15+
[MFEM finite element discretization library](http://mfem.org).
1616

1717
## Key features
1818

@@ -37,7 +37,7 @@ discretization library.
3737

3838
## Getting started
3939

40-
*Palace* can be installed using the [Spack](https://spack.io/) HPC package manager, with the
40+
*Palace* can be installed using the [Spack HPC package manager](https://spack.io/), with the
4141
command `spack install palace`. Run `spack info palace` to get more information about the
4242
available configuration options and dependencies.
4343

cmake/extern/ExternalGitTags.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ set(EXTERN_METIS_GIT_TAG
3535
"Git tag for external METIS build"
3636
)
3737
set(EXTERN_MUMPS_GIT_TAG
38-
"38bf3b3f598d983a630cb7d62561c140c27e7019" CACHE STRING # 01/26/2023
38+
"e478370809c46add2a8f148d83ab4881154c0809" CACHE STRING # 01/26/2023
3939
"Git tag for external MUMPS build"
4040
)
4141
set(EXTERN_PARMETIS_GIT_TAG

docs/make.jl

+6-1
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,9 @@ makedocs(
4545
]
4646
)
4747

48-
deploydocs(repo="github.com/awslabs/palace.git", devbranch="main", push_preview=true)
48+
deploydocs(
49+
repo="github.com/awslabs/palace.git",
50+
devbranch="main",
51+
push_preview=true,
52+
forcepush=true
53+
)

docs/src/index.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
# Palace: 3D Finite Element Solver for Computational Electromagnetics
77

88
*Palace*, for **PA**rallel **LA**rge-scale **C**omputational **E**lectromagnetics, is an
9-
open-source parallel finite element code for full-wave 3D electromagnetic simulations in
10-
the frequency or time domain, using the [MFEM](http://mfem.org) finite element
11-
discretization library.
9+
open-source, parallel finite element code for full-wave 3D electromagnetic simulations in
10+
the frequency or time domain, using the [MFEM finite element discretization library]
11+
(http://mfem.org).
1212

1313
## Key features
1414

docs/src/install.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
# Installation
77

8-
*Palace* can be built and installed using the [Spack](https://spack.io/) HPC package
9-
manager, following the instructions in the [Build using Spack]
8+
*Palace* can be built and installed using the [Spack HPC package manager]
9+
(https://spack.io/), following the instructions in the [Build using Spack]
1010
(#Build-using-Spack) section. Alternatively, compiling from source using [CMake]
1111
(https://cmake.org/download) is described in [Build from source](#Build-from-source).
1212

@@ -146,7 +146,7 @@ as the standard parallelization in approach in *Palace* is to use pure MPI paral
146146

147147
## Dependencies
148148

149-
*Palace* leverages the [MFEM](http://mfem.org) finite element discretization library. It
149+
*Palace* leverages the [MFEM finite element discretization library](http://mfem.org). It
150150
always configures and builds its own installation of MFEM internally in order to support
151151
the most up to date features and patches. In addition, *Palace* uses:
152152

examples/cpw/cpw_lumped_adaptive.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
{
2828
"Attributes": [1], // Sapphire
29-
"Permeability": [ 0.99999975, 0.99999975, 0.99999979],
29+
"Permeability": [0.99999975, 0.99999975, 0.99999979],
3030
"Permittivity": [9.3, 9.3, 11.5],
3131
"LossTan": [3.0e-5, 3.0e-5, 8.6e-5],
3232
"MaterialAxes": [[0.8, 0.6, 0.0], [-0.6, 0.8, 0.0], [0.0, 0.0, 1.0]]

examples/cpw/cpw_lumped_uniform.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
{
2828
"Attributes": [1], // Sapphire
29-
"Permeability": [ 0.99999975, 0.99999975, 0.99999979],
29+
"Permeability": [0.99999975, 0.99999975, 0.99999979],
3030
"Permittivity": [9.3, 9.3, 11.5],
3131
"LossTan": [3.0e-5, 3.0e-5, 8.6e-5],
3232
"MaterialAxes": [[0.8, 0.6, 0.0], [-0.6, 0.8, 0.0], [0.0, 0.0, 1.0]]

examples/cpw/cpw_wave_adaptive.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
{
2828
"Attributes": [1], // Sapphire
29-
"Permeability": [ 0.99999975, 0.99999975, 0.99999979],
29+
"Permeability": [0.99999975, 0.99999975, 0.99999979],
3030
"Permittivity": [9.3, 9.3, 11.5],
3131
"LossTan": [3.0e-5, 3.0e-5, 8.6e-5],
3232
"MaterialAxes": [[0.8, 0.6, 0.0], [-0.6, 0.8, 0.0], [0.0, 0.0, 1.0]]

examples/cpw/cpw_wave_uniform.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
{
2828
"Attributes": [1], // Sapphire
29-
"Permeability": [ 0.99999975, 0.99999975, 0.99999979],
29+
"Permeability": [0.99999975, 0.99999975, 0.99999979],
3030
"Permittivity": [9.3, 9.3, 11.5],
3131
"LossTan": [3.0e-5, 3.0e-5, 8.6e-5],
3232
"MaterialAxes": [[0.8, 0.6, 0.0], [-0.6, 0.8, 0.0], [0.0, 0.0, 1.0]]

extern/patch/mumps/patch_build.diff

+60-26
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ index 5a83b9b..037f707 100644
4343
-include(cmake/install.cmake)
4444
diff --git a/cmake/FindLAPACK.cmake b/cmake/FindLAPACK.cmake
4545
deleted file mode 100644
46-
index 2016c7c..0000000
46+
index 35395c6..0000000
4747
--- a/cmake/FindLAPACK.cmake
4848
+++ /dev/null
49-
@@ -1,571 +0,0 @@
49+
@@ -1,591 +0,0 @@
5050
-# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
5151
-# file Copyright.txt or https://cmake.org/licensing for details.
5252
-
@@ -302,14 +302,34 @@ index 2016c7c..0000000
302302
-
303303
-function(aocl_libs)
304304
-
305+
-set(_names flame)
306+
-if(WIN32)
307+
- if(BUILD_SHARED_LIBS)
308+
- list(APPEND _names AOCL-LibFlame-Win-MT-dll AOCL-LibFlame-Win-dll)
309+
- else()
310+
- list(APPEND _names AOCL-LibFlame-Win-MT AOCL-LibFlame-Win)
311+
- endif()
312+
-endif()
313+
-
305314
-find_library(LAPACK_LIBRARY
306-
-NAMES flame AOCL-LibFLAME-Win-MT-dll AOCL-LibFLAME-Win
315+
-NAMES ${_names}
316+
-NAMES_PER_DIR
307317
-PATH_SUFFIXES LP64
308318
-DOC "LAPACK Flame library"
309319
-)
310320
-
321+
-set(_names blis-mt blis)
322+
-if(WIN32)
323+
- if(BUILD_SHARED_LIBS)
324+
- list(APPEND _names AOCL-LibBlis-Win-MT-dll AOCL-LibBlis-Win-dll)
325+
- else()
326+
- list(APPEND _names AOCL-LibBlis-Win-MT AOCL-LibBlis-Win)
327+
- endif()
328+
-endif()
329+
-
311330
-find_library(BLAS_LIBRARY
312-
-NAMES blis-mt blis AOCL-LibBlis-Win-MT-dll
331+
-NAMES ${_names}
332+
-NAMES_PER_DIR
313333
-PATH_SUFFIXES LP64
314334
-DOC "BLAS Blis library"
315335
-)
@@ -620,10 +640,10 @@ index 2016c7c..0000000
620640
-mark_as_advanced(LAPACK_LIBRARY LAPACK_INCLUDE_DIR)
621641
diff --git a/cmake/FindSCALAPACK.cmake b/cmake/FindSCALAPACK.cmake
622642
deleted file mode 100644
623-
index 47543a1..0000000
643+
index e93337f..0000000
624644
--- a/cmake/FindSCALAPACK.cmake
625645
+++ /dev/null
626-
@@ -1,301 +0,0 @@
646+
@@ -1,315 +0,0 @@
627647
-# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
628648
-# file Copyright.txt or https://cmake.org/licensing for details.
629649
-
@@ -810,6 +830,37 @@ index 47543a1..0000000
810830
-
811831
-endfunction(scalapack_mkl)
812832
-
833+
-
834+
-function(scalapack_lib)
835+
-
836+
-if(BUILD_SHARED_LIBS)
837+
- set(_s shared)
838+
-else()
839+
- set(_s static)
840+
-endif()
841+
-list(APPEND _s openmpi/lib mpich/lib)
842+
-
843+
-find_library(SCALAPACK_LIBRARY
844+
-NAMES scalapack scalapack-openmpi scalapack-mpich
845+
-NAMES_PER_DIR
846+
-PATH_SUFFIXES ${_s}
847+
-DOC "SCALAPACK library"
848+
-)
849+
-
850+
-# some systems have libblacs as a separate file, instead of being subsumed in libscalapack.
851+
-if(NOT DEFINED BLACS_ROOT)
852+
- get_filename_component(BLACS_ROOT ${SCALAPACK_LIBRARY} DIRECTORY)
853+
-endif()
854+
-
855+
-find_library(BLACS_LIBRARY
856+
-NAMES blacs
857+
-NO_DEFAULT_PATH
858+
-HINTS ${BLACS_ROOT}
859+
-DOC "BLACS library"
860+
-)
861+
-
862+
-endfunction(scalapack_lib)
863+
-
813864
-# === main
814865
-
815866
-set(scalapack_cray false)
@@ -855,24 +906,7 @@ index 47543a1..0000000
855906
-elseif(scalapack_cray)
856907
- # Cray PE has Scalapack build into LibSci. Use Cray compiler wrapper.
857908
-else()
858-
-
859-
- find_library(SCALAPACK_LIBRARY
860-
- NAMES scalapack scalapack-openmpi scalapack-mpich
861-
- NAMES_PER_DIR
862-
- PATH_SUFFIXES openmpi/lib mpich/lib
863-
- DOC "SCALAPACK library"
864-
- )
865-
-
866-
- # some systems have libblacs as a separate file, instead of being subsumed in libscalapack.
867-
- get_filename_component(BLACS_ROOT ${SCALAPACK_LIBRARY} DIRECTORY)
868-
-
869-
- find_library(BLACS_LIBRARY
870-
- NAMES blacs
871-
- NO_DEFAULT_PATH
872-
- HINTS ${BLACS_ROOT}
873-
- DOC "BLACS library"
874-
- )
875-
-
909+
- scalapack_lib()
876910
-endif()
877911
-
878912
-if(STATIC IN_LIST SCALAPACK_FIND_COMPONENTS)
@@ -926,7 +960,7 @@ index 47543a1..0000000
926960
-
927961
-mark_as_advanced(SCALAPACK_LIBRARY SCALAPACK_INCLUDE_DIR)
928962
diff --git a/cmake/lapack.cmake b/cmake/lapack.cmake
929-
index a01dbf9..4e2c75e 100644
963+
index d4e6336..e565d0e 100644
930964
--- a/cmake/lapack.cmake
931965
+++ b/cmake/lapack.cmake
932966
@@ -2,38 +2,13 @@
@@ -968,7 +1002,7 @@ index a01dbf9..4e2c75e 100644
9681002
-endif()
9691003
+set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES})
9701004

971-
if(BUILD_DOUBLE AND BLAS_HAVE_GEMMT)
1005+
if(BUILD_DOUBLE)
9721006
check_fortran_source_compiles(
9731007
diff --git a/cmake/options.cmake b/cmake/options.cmake
9741008
index 57572cd..29ae9a3 100644

palace/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ set(CMAKE_CXX_STANDARD 17)
1919
set(CMAKE_CXX_EXTENSIONS OFF)
2020

2121
# Initialize the project
22-
project(palace LANGUAGES CXX VERSION 0.10.0)
22+
project(palace LANGUAGES CXX VERSION 0.11.0)
2323

2424
# Define build settings and defaults
2525
set(PALACE_WITH_OPENMP OFF CACHE BOOL "Use OpenMP")

0 commit comments

Comments
 (0)