Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 0 additions & 79 deletions Dockerfile

This file was deleted.

5 changes: 2 additions & 3 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@ set(CMAKE_CXX_EXTENSIONS OFF)
# DOLFIN_CMAKE_CONFIG_PATH)
find_package(DOLFINX REQUIRED)

# set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS "-Ofast ${CMAKE_CXX_FLAGS} -g -Wall")
set(CMAKE_C_FLAGS "-Ofast ${CMAKE_C_FLAGS} -g -Wall")
set(CMAKE_CXX_FLAGS "-O3 -ffast-math ${CMAKE_CXX_FLAGS} -g -Wall")
set(CMAKE_C_FLAGS "-O3 -ffast-math ${CMAKE_C_FLAGS} -g -Wall")

# Compile UFL files
add_custom_command(
Expand Down
5 changes: 3 additions & 2 deletions src/cgpoisson_problem.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ std::tuple<std::shared_ptr<dolfinx::la::Vector<PetscScalar>>,
std::shared_ptr<dolfinx::fem::Function<PetscScalar>>,
std::function<int(dolfinx::fem::Function<PetscScalar>&,
const dolfinx::la::Vector<PetscScalar>&)>>
problem(std::shared_ptr<dolfinx::mesh::Mesh<double>> mesh, int order, std::string scatterer);
problem(std::shared_ptr<dolfinx::mesh::Mesh<double>> mesh, int order,
std::string scatterer);

} // namespace poisson
} // namespace cgpoisson
3 changes: 2 additions & 1 deletion src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,8 @@ int main(int argc, char* argv[])
std::string fmt = "[%Y-%m-%d %H:%M:%S.%e] [" + thread_name + "] [%l] %v";
spdlog::set_pattern(fmt);

// Turn off logging except on rank 0, if set (e.g. use SPDLOG_LEVEL=info in CLI)
// Turn off logging except on rank 0, if set (e.g. use SPDLOG_LEVEL=info in
// CLI)
if (mpi_rank != 0)
spdlog::set_level(spdlog::level::err);

Expand Down
33 changes: 19 additions & 14 deletions src/mesh.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,15 @@ namespace
//
// 1. Available at <https://pi.math.cornell.edu/~hatcher/AT/ATpage.html>.
constexpr std::tuple<std::int64_t, std::int64_t, std::int64_t, std::int64_t>
num_entities(std::int64_t i, std::int64_t j, std::int64_t k, int nrefine) {
num_entities(std::int64_t i, std::int64_t j, std::int64_t k, int nrefine)
{
i <<= nrefine;
j <<= nrefine;
k <<= nrefine;
std::int64_t vertices = (i + 1) * (j + 1) * (k + 1);
std::int64_t edges = 7*i*j*k + 3*(i*j + i*k + j*k) + (i + j + k);
std::int64_t faces = 12*i*j*k + 2*(i*j + i*k + j*k);
std::int64_t edges
= 7 * i * j * k + 3 * (i * j + i * k + j * k) + (i + j + k);
std::int64_t faces = 12 * i * j * k + 2 * (i * j + i * k + j * k);
std::int64_t cells = 6 * (i * j * k);
return {vertices, edges, faces, cells};
}
Expand Down Expand Up @@ -179,8 +181,8 @@ create_cube_mesh(MPI_Comm comm, std::size_t target_dofs, bool target_dofs_total,
else
MPI_Comm_dup(comm, &sub_comm);

auto cell_part = dolfinx::mesh::create_cell_partitioner(dolfinx::mesh::GhostMode::none,
graph_part, 2);
auto cell_part = dolfinx::mesh::create_cell_partitioner(
dolfinx::mesh::GhostMode::none, graph_part, 2);
auto mesh = dolfinx::mesh::create_box(
comm, sub_comm, {{{0.0, 0.0, 0.0}, {1.0, 1.0, 1.0}}}, {Nx, Ny, Nz},
dolfinx::mesh::CellType::tetrahedron, cell_part);
Expand All @@ -197,9 +199,10 @@ create_cube_mesh(MPI_Comm comm, std::size_t target_dofs, bool target_dofs_total,
{
mesh.topology_mutable()->create_connectivity(3, 1);
auto [new_mesh, _parent_edges, _parent_facet] = dolfinx::refinement::refine(
mesh, std::nullopt,
dolfinx::mesh::create_cell_partitioner(dolfinx::mesh::GhostMode::shared_facet),
dolfinx::refinement::Option::parent_cell_and_facet);
mesh, std::nullopt,
dolfinx::mesh::create_cell_partitioner(
dolfinx::mesh::GhostMode::shared_facet, 2),
dolfinx::refinement::Option::parent_cell_and_facet);
mesh = std::move(new_mesh);
}

Expand Down Expand Up @@ -374,9 +377,10 @@ create_spoke_mesh(MPI_Comm comm, std::size_t target_dofs,
< target)
{
auto [new_mesh, _parent_edges, _parent_facet] = dolfinx::refinement::refine(
*mesh, std::nullopt,
dolfinx::mesh::create_cell_partitioner(dolfinx::mesh::GhostMode::shared_facet),
dolfinx::refinement::Option::parent_cell_and_facet);
*mesh, std::nullopt,
dolfinx::mesh::create_cell_partitioner(
dolfinx::mesh::GhostMode::shared_facet, 2),
dolfinx::refinement::Option::parent_cell_and_facet);
mesh = std::make_shared<dolfinx::mesh::Mesh<double>>(new_mesh);
mesh->topology_mutable()->create_entities(1);
}
Expand Down Expand Up @@ -412,9 +416,10 @@ create_spoke_mesh(MPI_Comm comm, std::size_t target_dofs,
marked_edges.push_back(i);

auto [new_mesh, _parent_edges, _parent_facet] = dolfinx::refinement::refine(
*mesh, marked_edges,
dolfinx::mesh::create_cell_partitioner(dolfinx::mesh::GhostMode::shared_facet),
dolfinx::refinement::Option::parent_cell_and_facet);
*mesh, marked_edges,
dolfinx::mesh::create_cell_partitioner(
dolfinx::mesh::GhostMode::shared_facet, 2),
dolfinx::refinement::Option::parent_cell_and_facet);
meshi = std::make_shared<dolfinx::mesh::Mesh<double>>(new_mesh);

double actual_fraction
Expand Down
Loading