Skip to content

Commit

Permalink
Update Polar splines to add comments and more DDC syntax
Browse files Browse the repository at this point in the history
See merge request gysela-developpers/gyselalibxx!352

--------------------------------------------

Co-authored-by: Alexander Hoffmann <[email protected]>
  • Loading branch information
EmilyBourne and alex-m-h committed Mar 22, 2024
1 parent 8fc63b1 commit f463574
Show file tree
Hide file tree
Showing 19 changed files with 474 additions and 166 deletions.
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ cmake_tests:
rm -rf build || true
mkdir build
cd build
cmake -DCMAKE_CXX_FLAGS="-Wall -Wno-sign-compare" -DBUILD_BENCHMARKS=ON $GENERAL_CMAKE_OPTIONS ..
cmake -DCMAKE_CXX_FLAGS="-Wall -Werror=unused-variable -Wno-sign-compare" -DBUILD_BENCHMARKS=ON $GENERAL_CMAKE_OPTIONS ..
make -j 4
ctest -j 2 --output-on-failure --timeout 5 -LE test_on_Release_only --output-junit tests.xml
artifacts:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,6 @@ int main(int argc, char** argv)
restart(allfdistribu);
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(allfequilibrium.span_view());
auto allfdistribu_host = ddc::create_mirror_view_and_copy(allfdistribu.span_view());

// --> Algorithm info
double const deltat = PCpp_double(conf_voicexx, ".Algorithm.deltat");
Expand Down
1 change: 0 additions & 1 deletion simulations/geometryXVx/bump_on_tail/bumpontail_fft.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,6 @@ int main(int argc, char** argv)
restart(allfdistribu);
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(allfequilibrium.span_view());
auto allfdistribu_host = ddc::create_mirror_view_and_copy(allfdistribu.span_view());

// --> Algorithm info
double const deltat = PCpp_double(conf_voicexx, ".Algorithm.deltat");
Expand Down
1 change: 0 additions & 1 deletion simulations/geometryXVx/landau/landau_fem_uniform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,6 @@ int main(int argc, char** argv)
restart(allfdistribu);
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(allfequilibrium.span_view());
auto allfdistribu_host = ddc::create_mirror_view_and_copy(allfdistribu.span_view());

// --> Algorithm info
double const deltat = PCpp_double(conf_voicexx, ".Algorithm.deltat");
Expand Down
1 change: 0 additions & 1 deletion simulations/geometryXVx/landau/landau_fft.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,6 @@ int main(int argc, char** argv)
restart(allfdistribu);
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(allfequilibrium.span_view());
auto allfdistribu_host = ddc::create_mirror_view_and_copy(allfdistribu.span_view());

// --> Algorithm info
double const deltat = PCpp_double(conf_voicexx, ".Algorithm.deltat");
Expand Down
1 change: 0 additions & 1 deletion simulations/geometryXVx/sheath/sheath.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,6 @@ int main(int argc, char** argv)
restart(allfdistribu);
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(allfequilibrium.span_view());
auto allfdistribu_host = ddc::create_mirror_view_and_copy(allfdistribu.span_view());

// --> Algorithm info
double const deltat = PCpp_double(conf_voicexx, ".Algorithm.deltat");
Expand Down
2 changes: 0 additions & 2 deletions src/geometryRTheta/advection/advection_domain.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,6 @@ class AdvectionPhysicalDomain : public AdvectionDomain<Mapping>
VectorDViewRP<RDimX, RDimY> advection_field,
VectorDSpanRP<RDimX_adv, RDimY_adv> advection_field_physical) const
{
auto const rp_dom = advection_field.domain();

ddc::parallel_deepcopy(
ddcHelper::get<RDimX_adv>(advection_field_physical),
ddcHelper::get<RDimX>(advection_field));
Expand Down
7 changes: 1 addition & 6 deletions src/geometryRTheta/poisson/polarpoissonsolver.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ class PolarSplineFEMPoissonSolver
: nbasis_r(ddc::discrete_space<BSplinesR>().nbasis() - n_overlap_cells - 1)
, nbasis_p(ddc::discrete_space<BSplinesP>().nbasis())
, fem_non_singular_domain(
ddc::discrete_space<PolarBSplinesRP>().non_singular_domain().remove_last(
ddc::discrete_space<PolarBSplinesRP>().tensor_bspline_domain().remove_last(
ddc::DiscreteVector<PolarBSplinesRP> {nbasis_p}))
, radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
ddc::DiscreteVector<BSplinesR> {n_overlap_cells}))
Expand Down Expand Up @@ -415,7 +415,6 @@ class PolarSplineFEMPoissonSolver
[&](QuadratureIndexRP const quad_idx) {
QuadratureIndexR const ir = ddc::select<QDimRMesh>(quad_idx);
QuadratureIndexP const ip = ddc::select<QDimPMesh>(quad_idx);
std::optional<std::array<double, 3>> null(std::nullopt);
return weak_integral_element(
ir,
ip,
Expand All @@ -436,10 +435,6 @@ class PolarSplineFEMPoissonSolver

BSDomainRP non_singular_domain_near_centre(central_radial_bspline_domain, polar_bsplines);

const ddc::DiscreteDomain<RCellDim> r_cells_near_centre(
ddc::DiscreteElement<RCellDim> {0},
ddc::DiscreteVector<RCellDim> {n_overlap_cells});

// Calculate the matrix elements where bspline products overlap the bsplines which cover the singular point
ddc::for_each(singular_domain, [&](IDimPolarBspl const idx_test) {
ddc::for_each(non_singular_domain_near_centre, [&](IDimBSpline2D const idx_trial) {
Expand Down
2 changes: 0 additions & 2 deletions src/geometryXYVxVy/initialization/maxwellianequilibrium.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ MaxwellianEquilibrium::MaxwellianEquilibrium(
DSpanSpVxVy MaxwellianEquilibrium::operator()(DSpanSpVxVy const allfequilibrium) const
{
IDomainSp const gridsp = allfequilibrium.domain<IDimSp>();
IDomainVx const gridvx = allfequilibrium.domain<IDimVx>();
IDomainVy const gridvy = allfequilibrium.domain<IDimVy>();
IDomainVxVy const gridvxvy = allfequilibrium.domain<IDimVx, IDimVy>();

// Initialization of the maxwellian
Expand Down
2 changes: 0 additions & 2 deletions src/quadrature/simpson_quadrature.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ ddc::Chunk<
simpson_quadrature_coefficients_1d(ExecSpace const& space, ddc::DiscreteDomain<IDim> const& domain)
{
ddc::Chunk<double, ddc::DiscreteDomain<IDim>> coefficients(domain);
ddc::DiscreteDomain<IDim> middle_domain
= domain.remove(ddc::DiscreteVector<IDim>(1), ddc::DiscreteVector<IDim>(1));

coefficients(domain.front()) = 1. / 3. * distance_at_right(domain.front());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,6 @@ void save_feet(
ddc::for_each(rp_dom, [&](IndexRP const irp) {
IDomainP p_dom = ddc::select<IDimP>(rp_dom);

IndexR const ir(ddc::select<IDimR>(irp));
IndexP const ip(ddc::select<IDimP>(irp));

file_feet << std::setw(15) << ddc::select<IDimR>(irp).uid() << std::setw(15)
<< ddc::select<IDimP>(irp).uid();
print_coordinate(file_feet, ddc::coordinate(irp), mapping, p_dom);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,6 @@ TEST(AdvectionFieldRPComputation, TestAdvectionFieldFinder)
IDomainRP const Opoint_grid(grid.take_first(IVectRP(1, npoints_p)));


// Build domains for polar B-splines. -------------------------------------------------------------
BSDomainR radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
ddc::DiscreteVector<BSplinesR> {PolarBSplinesRP::continuity + 1}));
BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());


// OPERATORS ======================================================================================
SplineRBuilder const r_builder(interpolation_domain_R);
SplinePBuilder const p_builder(interpolation_domain_P);
Expand Down Expand Up @@ -152,8 +146,6 @@ TEST(AdvectionFieldRPComputation, TestAdvectionFieldFinder)

ddc::init_discrete_space<PolarBSplinesRP>(discrete_mapping, r_builder, p_builder);

BSDomainRP const dom_bsplinesRP = builder.spline_domain();


// --- Advection operator -------------------------------------------------------------------------
Evaluator spline_evaluator(
Expand Down
Loading

0 comments on commit f463574

Please sign in to comment.