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

Remove interface compatibility in the rest #1681

Closed
wants to merge 33 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
f15ab50
Remove Interface Compatibility.
May 14, 2017
575061f
Changed for indentation.
May 14, 2017
1ae9c5a
Removed Interface Compatibility.
May 14, 2017
d18221a
Removed Interface Compatibility in benchmarks/annulus
May 14, 2017
38ddb9f
Removed Interface Compatibility.
May 14, 2017
23b9543
Removed Interface Compatibility.
May 14, 2017
d9bcb41
Removed Interface Compatibility
May 14, 2017
5c865b0
Removed Interface Compatibilty.
May 14, 2017
451195f
Removed previously commented functions.
May 14, 2017
4e5b7ce
Removed Interface compatibility.
May 14, 2017
a2ea156
Fixed bug.
May 14, 2017
477607f
Testing with different strain rate condition.
May 14, 2017
ba03c3d
Fixed for bug.
May 15, 2017
4f0e343
Removed compatibility except in entropy derivative.
May 15, 2017
061b291
Removed earlier commented functions.
May 15, 2017
c655710
Remove deal.II 8.4.0 compatibility
zarestky May 14, 2017
87a7182
Only use manifold (dealii 9)
anne-glerum May 8, 2017
85e6a3e
fix newton warnings.
MFraters May 14, 2017
0a94541
Update tests
anne-glerum May 14, 2017
0edd04c
new test geoid prm file using Matt's spherical coordinates input
Shangxin-Liu May 14, 2017
c330266
add an assert to check if melt outputs are filled
jdannberg May 14, 2017
534dc3b
Added a new function extract_stokes_dof_indices for type internal::As…
yinghe616 May 14, 2017
ee3846f
Simplify code a bit. Make a function argument more general.
bangerth May 14, 2017
b5b5dfa
Fix bug for Inclusion, SolCx, and SolKz benchmarks in check.sh
hlokavarapu May 14, 2017
c08d3bc
added new refinement stratedy using approximate gradient for compostion
yinghe616 May 13, 2017
5b457d5
Merge branch 'master' of https://github.com/geodynamics/aspect
May 15, 2017
e304bdf
Merge branch 'master' of https://github.com/geodynamics/aspect
May 15, 2017
af41165
Modified for entropy derivative.
May 15, 2017
22af681
Removed interface compatibility material_model/latent_heat_melt
May 15, 2017
cd25b83
Removed interface compatibility tests/tangurnis
May 15, 2017
6bfee68
Removed class InterfaceCompatibility.
May 15, 2017
624755c
Fixed for bug.
May 15, 2017
2218d41
Fixed indentation.
May 15, 2017
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
148 changes: 31 additions & 117 deletions benchmarks/annulus/annulus.cc
Expand Up @@ -138,43 +138,43 @@ namespace aspect
* @ingroup MaterialModels
*/
template <int dim>
class AnnulusMaterial : public MaterialModel::InterfaceCompatibility<dim>
class AnnulusMaterial : public MaterialModel::Interface<dim>
{
public:
/**
* @name Physical parameters used in the basic equations
* @{
*/
virtual double viscosity (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const SymmetricTensor<2,dim> &strain_rate,
const Point<dim> &position) const;

virtual double density (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;

virtual double compressibility (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;

virtual double specific_heat (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;

virtual double thermal_expansion_coefficient (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;

virtual double thermal_conductivity (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;
virtual void evaluate(const MaterialModel::MaterialModelInputs<dim> &in,
MaterialModel::MaterialModelOutputs<dim> &out) const
{
for (unsigned int i=0; i < in.position.size(); ++i)
{
const Point<dim> &pos = in.position[i];

out.viscosities[i] = 1;

const double k = beta;
const double x = pos[0];
const double y = pos[1];
const double r = sqrt(x*x + y*y);
const double theta = atan2(y,x);
const double A = 2.0, B = -3/log(2), C = -1;
const double f = A*r + B/r;
const double f_prime = 2 - B/std::pow(r,2.0);
const double g = A*r/2 + B*log(r)/r + C/r;
const double g_prime = A/2 - B*log(r)/std::pow(r,2.0) + B/std::pow(r,2.0) - C/std::pow(r,2.0);
const double g_prime_prime = -B/std::pow(r,3)*(3-2*log(r)) - 2./std::pow(r,3);
const double N = g_prime_prime - g_prime/r - (g*(std::pow(k,2) - 1))/std::pow(r,2.0) + f/std::pow(r,2.0) + f_prime/r;
out.densities[i] = N*k*sin(k*theta);

out.compressibilities[i] = 0;
out.specific_heat[i] = 0;
out.thermal_expansion_coefficients[i] = 0;
out.thermal_conductivities[i] = 0.0;
}
}

/**
* @}
*/
Expand Down Expand Up @@ -232,18 +232,6 @@ namespace aspect
double beta;
};

template <int dim>
double
AnnulusMaterial<dim>::
viscosity (const double,
const double,
const std::vector<double> &, /*composition*/
const SymmetricTensor<2,dim> &,
const Point<dim> &p) const
{
return 1.;
}


template <int dim>
double
Expand All @@ -253,80 +241,6 @@ namespace aspect
return 1.;
}


template <int dim>
double
AnnulusMaterial<dim>::
specific_heat (const double,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &) const
{
return 0;
}


template <int dim>
double
AnnulusMaterial<dim>::
thermal_conductivity (const double,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &) const
{
return 0;
}


template <int dim>
double
AnnulusMaterial<dim>::
density (const double,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &pos) const
{
const double k=beta;
const double x = pos[0];
const double y = pos[1];
const double r=sqrt(x*x+y*y);
const double theta = atan2(y,x);
const double A=2.0, B=-3/log(2), C=-1;
const double f = A*r + B/r;
const double f_prime = 2 - B/std::pow(r,2.0);
const double g = A*r/2 + B*log(r)/r + C/r;
const double g_prime = A/2 - B*log(r)/std::pow(r,2.0) + B/std::pow(r,2.0) - C/std::pow(r,2.0);
const double g_prime_prime = -B/std::pow(r,3)*(3-2*log(r)) - 2./std::pow(r,3);
const double N = g_prime_prime - g_prime/r - (g*(std::pow(k,2) - 1))/std::pow(r,2.0) + f/std::pow(r,2.0) + f_prime/r;
const double density = N*k*sin(k*theta);
return density;
}


template <int dim>
double
AnnulusMaterial<dim>::
thermal_expansion_coefficient (const double temperature,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &) const
{
return 0;
}


template <int dim>
double
AnnulusMaterial<dim>::
compressibility (const double,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &) const
{
return 0.0;
}


template <int dim>
bool
AnnulusMaterial<dim>::
Expand Down
129 changes: 21 additions & 108 deletions benchmarks/hollow_sphere/hollow_sphere.cc
Expand Up @@ -227,43 +227,33 @@ namespace aspect
* @ingroup MaterialModels
*/
template <int dim>
class HollowSphereMaterial : public MaterialModel::InterfaceCompatibility<dim>
class HollowSphereMaterial : public MaterialModel::Interface<dim>
{
public:
/**
* @name Physical parameters used in the basic equations
* @{
*/
virtual double viscosity (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const SymmetricTensor<2,dim> &strain_rate,
const Point<dim> &position) const;

virtual double density (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;

virtual double compressibility (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;

virtual double specific_heat (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;

virtual double thermal_expansion_coefficient (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;

virtual double thermal_conductivity (const double temperature,
const double pressure,
const std::vector<double> &compositional_fields,
const Point<dim> &position) const;
virtual void evaluate(const MaterialModel::MaterialModelInputs<dim> &in,
MaterialModel::MaterialModelOutputs<dim> &out) const
{
for (unsigned int i=0; i < in.position.size(); ++i)
{

const Point<dim> &pos = in.position[i];
const std_cxx11::array<double,dim> spos = aspect::Utilities::Coordinates::cartesian_to_spherical_coordinates(pos);
const double r = spos[0];
const double mu = pow(r,mmm+1);
out.viscosities[i] = mu;

out.densities[i] = 1;
out.compressibilities[i] = 0;
out.specific_heat[i] = 0;
out.thermal_expansion_coefficients[i] = 0;
out.thermal_conductivities[i] = 0.0;
}
}

/**
* @}
*/
Expand Down Expand Up @@ -321,23 +311,6 @@ namespace aspect
double mmm;
};

template <int dim>
double
HollowSphereMaterial<dim>::
viscosity (const double,
const double,
const std::vector<double> &, /*composition*/
const SymmetricTensor<2,dim> &,
const Point<dim> &pos) const
{
const std_cxx11::array<double,dim> spos =
aspect::Utilities::Coordinates::cartesian_to_spherical_coordinates(pos);

const double r=spos[0];
const double mu = pow(r,mmm+1);
return mu;
}


template <int dim>
double
Expand All @@ -348,66 +321,6 @@ namespace aspect
}


template <int dim>
double
HollowSphereMaterial<dim>::
specific_heat (const double,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &) const
{
return 0;
}


template <int dim>
double
HollowSphereMaterial<dim>::
thermal_conductivity (const double,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &) const
{
return 0;
}


template <int dim>
double
HollowSphereMaterial<dim>::
density (const double,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &p) const
{
return 1;
}


template <int dim>
double
HollowSphereMaterial<dim>::
thermal_expansion_coefficient (const double temperature,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &) const
{
return 0;
}


template <int dim>
double
HollowSphereMaterial<dim>::
compressibility (const double,
const double,
const std::vector<double> &, /*composition*/
const Point<dim> &) const
{
return 0.0;
}


template <int dim>
bool
HollowSphereMaterial<dim>::
Expand Down