Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix compilation of master #2013

Merged
merged 2 commits into from Nov 22, 2017
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions include/aspect/free_surface.h
Expand Up @@ -77,6 +77,12 @@ namespace aspect
*/
void execute();

/**
* Called by Simulator::set_assemblers() to allow the FreeSurfaceHandler
* to register its assembler.
*/
void set_assemblers();

/**
* Allocates and sets up the members of the FreeSurfaceHandler. This
* is called by Simulator<dim>::setup_dofs()
Expand Down
6 changes: 6 additions & 0 deletions include/aspect/simulator/assemblers/interface.h
Expand Up @@ -587,6 +587,12 @@ namespace aspect
class Manager
{
public:

/**
* Reset the state of the manager and remove all Assemblers.
*/
void reset ();

/**
* A vector of pointers containing all assemblers for the Stokes preconditioner.
* These assemblers are called once per cell.
Expand Down
10 changes: 10 additions & 0 deletions source/simulator/assemblers/interface.cc
Expand Up @@ -487,6 +487,16 @@ namespace aspect
}


template <int dim>
void Manager<dim>::reset ()
{
stokes_preconditioner.clear();
stokes_system.clear();
stokes_system_on_boundary_face.clear();
advection_system.clear();
advection_system_on_boundary_face.clear();
advection_system_on_interior_face.clear();
}

template <int dim>
Manager<dim>::Properties::Properties ()
Expand Down
10 changes: 8 additions & 2 deletions source/simulator/assembly.cc
Expand Up @@ -123,10 +123,12 @@ namespace aspect
Simulator<dim>::
set_assemblers ()
{
// first let the manager delete all existing assemblers:
assemblers->reset();

assemblers->advection_system_assembler_properties.resize(1+introspection.n_compositional_fields);
assemblers->advection_system_assembler_on_face_properties.resize(1+introspection.n_compositional_fields);


if (parameters.include_melt_transport)
{
aspect::Assemblers::MeltStokesPreconditioner<dim> *preconditioner = new aspect::Assemblers::MeltStokesPreconditioner<dim>();
Expand Down Expand Up @@ -359,7 +361,11 @@ namespace aspect
}
}

// allow other assemblers to add themselves or modify the existing ones by firing the signal
// Let the free surface add its assembler:
if (parameters.free_surface_enabled)
free_surface->set_assemblers();

// Finally allow other assemblers to add themselves or modify the existing ones by firing the signal
this->signals.set_assemblers(*this, *assemblers);

// ensure that all assembler objects have access to the SimulatorAccess
Expand Down
26 changes: 16 additions & 10 deletions source/simulator/free_surface.cc
Expand Up @@ -134,7 +134,23 @@ namespace aspect
free_surface_dof_handler (sim.triangulation)
{
parse_parameters(prm);
}

template <int dim>
FreeSurfaceHandler<dim>::~FreeSurfaceHandler ()
{
// Free the Simulator's mapping object, otherwise
// when the FreeSurfaceHandler gets destroyed,
// the mapping's reference to the mesh displacement
// vector will be invalid.
sim.mapping.reset();
}



template <int dim>
void FreeSurfaceHandler<dim>::set_assemblers()
{
aspect::Assemblers::ApplyStabilization<dim> *surface_stabilization
= new aspect::Assemblers::ApplyStabilization<dim>();

Expand All @@ -153,16 +169,6 @@ namespace aspect
update_JxW_values);
}

template <int dim>
FreeSurfaceHandler<dim>::~FreeSurfaceHandler ()
{
// Free the Simulator's mapping object, otherwise
// when the FreeSurfaceHandler gets destroyed,
// the mapping's reference to the mesh displacement
// vector will be invalid.
sim.mapping.reset();
}

template <int dim>
void FreeSurfaceHandler<dim>::declare_parameters(ParameterHandler &prm)
{
Expand Down
1 change: 0 additions & 1 deletion source/simulator/solver_schemes.cc
Expand Up @@ -528,7 +528,6 @@ namespace aspect

if (nonlinear_iteration <= 1)
{
assemblers.reset (new internal::Assembly::AssemblerLists<dim>());
set_assemblers();
compute_current_constraints ();
}
Expand Down
38 changes: 19 additions & 19 deletions tests/advect_mesh_vertically/statistics
Expand Up @@ -17,22 +17,22 @@
# 17: Max. velocity (m/year)
0 0.000000000000e+00 0.000000000000e+00 124 1365 601 601 0 0 29 30 141 output-advect_mesh_vertically/solution/solution-00000 0.00000000e+00 0.00000000e+00 4.17927942e-01 9.87943127e-01
1 3.164899371647e+02 3.164899371647e+02 124 1365 601 601 0 10 18 19 91 "" -2.98691858e+02 1.40640770e+02 3.73830330e-01 9.10541806e-01
2 6.605833959076e+02 3.440934587429e+02 124 1365 601 601 0 9 15 16 78 "" -5.93417888e+02 2.67278314e+02 3.48564501e-01 8.77637998e-01
3 1.017860062111e+03 3.572766662037e+02 124 1365 601 601 0 9 15 16 77 "" -8.84931966e+02 3.82743970e+02 3.23783131e-01 8.34731889e-01
4 1.393910156740e+03 3.760500946283e+02 124 1365 601 601 0 9 13 14 68 "" -1.17331103e+03 4.88288165e+02 3.00170766e-01 7.90428109e-01
5 1.791605790375e+03 3.976956336352e+02 124 1365 601 601 0 9 15 16 79 "" -1.45848844e+03 5.84033960e+02 2.78783280e-01 7.53651330e-01
6 2.209170920013e+03 4.175651296382e+02 184 2004 885 885 0 9 17 18 90 "" -1.74039663e+03 6.69431762e+02 2.60352290e-01 7.33451763e-01
7 2.635316782013e+03 4.261458619996e+02 184 2004 885 885 0 9 16 17 85 "" -2.01739044e+03 7.42866464e+02 2.42184699e-01 6.92245483e-01
8 3.086890957843e+03 4.515741758300e+02 184 2004 885 885 0 9 14 15 72 "" -2.29087978e+03 8.07530670e+02 2.25499835e-01 6.53002914e-01
9 3.565632867643e+03 4.787419098000e+02 184 2004 885 885 0 9 14 15 73 "" -2.56012732e+03 8.63388536e+02 2.10539083e-01 6.16378647e-01
10 4.072840684975e+03 5.072078173322e+02 184 2004 885 885 0 8 15 16 78 "" -2.82450534e+03 9.10670392e+02 1.97426545e-01 5.83214564e-01
11 4.608743226792e+03 5.359025418168e+02 232 2450 1083 1083 0 9 204 377 840 "" -3.08343397e+03 9.49571800e+02 1.86036315e-01 5.52782295e-01
12 5.174117373016e+03 5.653741462246e+02 232 2450 1083 1083 0 8 202 319 832 "" -3.33665341e+03 9.80845163e+02 1.75920330e-01 5.24426983e-01
13 5.770015254818e+03 5.958978818022e+02 232 2450 1083 1083 0 8 203 354 836 "" -3.58346048e+03 1.00499660e+03 1.67157784e-01 4.98717557e-01
14 6.396641379581e+03 6.266261247630e+02 232 2450 1083 1083 0 8 202 293 832 "" -3.82391797e+03 1.02274950e+03 1.59614961e-01 4.75439093e-01
15 7.053959436358e+03 6.573180567768e+02 232 2450 1083 1083 0 8 203 310 836 "" -4.05782851e+03 1.03486602e+03 1.53189348e-01 4.54610197e-01
16 7.741401109192e+03 6.874416728342e+02 250 2585 1143 1143 0 8 204 385 844 "" -4.28501362e+03 1.04216318e+03 1.47801348e-01 4.36330242e-01
17 8.457611714075e+03 7.162106048825e+02 250 2585 1143 1143 0 9 204 420 843 "" -4.50487058e+03 1.04547446e+03 1.43290228e-01 4.20180985e-01
18 9.201327599663e+03 7.437158855885e+02 250 2585 1143 1143 0 8 204 413 840 "" -4.71697667e+03 1.04695183e+03 1.39512287e-01 4.06029804e-01
19 9.971027044019e+03 7.696994443558e+02 250 2585 1143 1143 0 9 204 381 840 "" -4.92153422e+03 1.04712111e+03 1.36363793e-01 3.93639194e-01
20 1.076501345755e+04 7.939864135324e+02 250 2585 1143 1143 0 9 202 279 832 output-advect_mesh_vertically/solution/solution-00001 -5.11854309e+03 1.04490332e+03 1.33728767e-01 3.82811809e-01
2 6.605833959078e+02 3.440934587431e+02 124 1365 601 601 0 9 15 16 78 "" -5.93417888e+02 2.67278314e+02 3.48564501e-01 8.77637998e-01
3 1.017860062112e+03 3.572766662042e+02 124 1365 601 601 0 9 15 16 77 "" -8.84931966e+02 3.82743970e+02 3.23783131e-01 8.34731889e-01
4 1.393910156731e+03 3.760500946195e+02 124 1365 601 601 0 9 13 14 68 "" -1.17331103e+03 4.88288165e+02 3.00170766e-01 7.90428109e-01
5 1.791605790369e+03 3.976956336375e+02 124 1365 601 601 0 9 15 16 79 "" -1.45848844e+03 5.84033960e+02 2.78783280e-01 7.53651330e-01
6 2.209170920008e+03 4.175651296389e+02 184 2004 885 885 0 9 17 18 90 "" -1.74039663e+03 6.69431762e+02 2.60352290e-01 7.33451763e-01
7 2.635316782013e+03 4.261458620057e+02 184 2004 885 885 0 9 16 17 85 "" -2.01739044e+03 7.42866464e+02 2.42184699e-01 6.92245483e-01
8 3.086890957865e+03 4.515741758515e+02 184 2004 885 885 0 9 14 15 72 "" -2.29087978e+03 8.07530670e+02 2.25499835e-01 6.53002914e-01
9 3.565632867670e+03 4.787419098047e+02 184 2004 885 885 0 9 14 15 73 "" -2.56012732e+03 8.63388536e+02 2.10539083e-01 6.16378647e-01
10 4.072840684981e+03 5.072078173112e+02 184 2004 885 885 0 8 15 16 78 "" -2.82450534e+03 9.10670392e+02 1.97426545e-01 5.83214564e-01
11 4.608743226829e+03 5.359025418481e+02 232 2450 1083 1083 0 9 204 377 840 "" -3.08343397e+03 9.49571800e+02 1.86036315e-01 5.52782295e-01
12 5.174117373042e+03 5.653741462129e+02 232 2450 1083 1083 0 8 202 319 832 "" -3.33665341e+03 9.80845163e+02 1.75920329e-01 5.24426983e-01
13 5.770015254858e+03 5.958978818157e+02 232 2450 1083 1083 0 8 203 354 836 "" -3.58346048e+03 1.00499660e+03 1.67157784e-01 4.98717557e-01
14 6.396641379599e+03 6.266261247417e+02 232 2450 1083 1083 0 8 202 293 832 "" -3.82391797e+03 1.02274950e+03 1.59614961e-01 4.75439093e-01
15 7.053959436356e+03 6.573180567566e+02 232 2450 1083 1083 0 8 203 310 836 "" -4.05782851e+03 1.03486602e+03 1.53189348e-01 4.54610197e-01
16 7.741401109174e+03 6.874416728177e+02 250 2585 1143 1143 0 8 204 386 844 "" -4.28501362e+03 1.04216318e+03 1.47801348e-01 4.36330242e-01
17 8.457611714055e+03 7.162106048819e+02 250 2585 1143 1143 0 9 204 420 843 "" -4.50487058e+03 1.04547446e+03 1.43290228e-01 4.20180985e-01
18 9.201327599624e+03 7.437158855681e+02 250 2585 1143 1143 0 8 204 413 840 "" -4.71697667e+03 1.04695183e+03 1.39512287e-01 4.06029804e-01
19 9.971027043968e+03 7.696994443445e+02 250 2585 1143 1143 0 9 204 381 840 "" -4.92153422e+03 1.04712111e+03 1.36363793e-01 3.93639194e-01
20 1.076501345751e+04 7.939864135375e+02 250 2585 1143 1143 0 9 202 279 832 output-advect_mesh_vertically/solution/solution-00001 -5.11854309e+03 1.04490332e+03 1.33728767e-01 3.82811809e-01