ASPECT
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Namespaces | Classes | Typedefs | Functions
aspect Namespace Reference

Namespaces

 AdiabaticConditions
 
 Assemblers
 
 big_mpi
 
 BoundaryComposition
 
 BoundaryConvectiveHeating
 
 BoundaryFluidPressure
 
 BoundaryHeatFlux
 
 BoundaryTemperature
 
 BoundaryTraction
 
 BoundaryVelocity
 
 CitationInfo
 
 constants
 
 GeometryModel
 
 GravityModel
 
 HeatingModel
 
 InitialComposition
 
 InitialTemperature
 
 InitialTopographyModel
 
 internal
 
 internals
 
 LinearAlgebra
 
 MaterialModel
 
 MatrixFreeStokesOperators
 
 Melt
 
 MeshDeformation
 
 MeshRefinement
 
 Newton
 
 Particle
 
 Plugins
 
 Postprocess
 
 PrescribedStokesSolution
 
 StokesSolver
 
 TerminationCriteria
 
 TimeStepping
 
 Utilities
 
 VolumeOfFluid
 

Classes

struct  AdvectionField
 
struct  CompositionalFieldDescription
 
struct  DefectCorrectionResiduals
 
struct  FEVariable
 
class  FEVariableCollection
 
struct  Introspection
 
class  LateralAveraging
 
class  MeltHandler
 
class  NewtonHandler
 
struct  Parameters
 
class  QuietException
 
struct  RotationProperties
 
class  Simulator
 
class  SimulatorAccess
 
struct  SimulatorSignals
 
class  SolutionEvaluator
 
class  SphericalManifold
 
class  StokesMatrixFreeHandler
 
class  StokesMatrixFreeHandlerLocalSmoothingImplementation
 
struct  VariableDeclaration
 
class  VectorFunctionFromTensorFunctionObject
 
struct  VolumeOfFluidField
 
class  VolumeOfFluidHandler
 

Typedefs

template<int dim, class NumberType >
using MGTransferMF = ::MGTransferMatrixFree< dim, NumberType >
 
using iarchive = boost::archive::binary_iarchive
 
using oarchive = boost::archive::binary_oarchive
 
template<class T , unsigned int N = 100>
using small_vector = boost::container::small_vector< T, N >
 
using GMGNumberType = double
 

Functions

template<int dim>
void colorize_quarter_hyper_shell (Triangulation< dim > &tria, const Point< dim > &center, const double inner_radius, const double outer_radius)
 
template<class Stream >
void print_aspect_header (Stream &stream)
 
template<int dim>
std::vector< VariableDeclaration< dim > > construct_default_variables (const Parameters< dim > &parameters)
 
 DeclExceptionMsg (ExcNonlinearSolverNoConvergence, "Nonlinear solver failed to converge in the prescribed number of steps. " "Consider changing `Max nonlinear iterations` or `Nonlinear solver failure " "strategy`.")
 
template<int dim>
std::unique_ptr< SolutionEvaluator< dim > > construct_solution_evaluator (const SimulatorAccess< dim > &simulator_access, const UpdateFlags update_flags)
 
template<int dim>
std::unique_ptr< StokesMatrixFreeHandler< dim > > create_matrix_free_solver (Simulator< dim > &simulator, const Parameters< dim > &parameters)
 

Typedef Documentation

§ MGTransferMF

template<int dim, class NumberType >
using aspect::MGTransferMF = typedef ::MGTransferMatrixFree<dim,NumberType>

Definition at line 64 of file compat.h.

§ iarchive

using aspect::iarchive = typedef boost::archive::binary_iarchive

A typedef that denotes the BOOST stream type for reading data during serialization. The type chosen here is a binary archive which we subsequently will have to un-compress.

Definition at line 210 of file global.h.

§ oarchive

using aspect::oarchive = typedef boost::archive::binary_oarchive

A typedef that denotes the BOOST stream type for writing data during serialization. The type chosen here is a binary archive which we compress before writing it into a file.

Definition at line 217 of file global.h.

§ small_vector

template<class T , unsigned int N = 100>
using aspect::small_vector = typedef boost::container::small_vector<T, N>

A type that we use for small vectors, whose approximate size is known at compile time. Such a vector can be used just like std::vector. The benefit of using small_vector lies in the fact that it allocates a small number of elements on the stack. As long as the size of the vector does not exceed this number N, no dynamic memory allocation is necessary to create or resize this vector, making these operations around 100x faster than for std::vector. Our type definition uses a default size of 100, because most of the vectors in ASPECT are smaller than that, because they contain as many entries as the number of quadrature points, the number of compositional fields, the number of particles per cell, or the number of degrees of freedom per cell. If the size of the vector exceeds 100 elements, the computations performed on these 100 elements are significantly more expensive than the memory allocation anyway.

See the documentation of boost::container::small_vector for implementation details, and the documentation of std::vector for available member functions.

Definition at line 252 of file global.h.

§ GMGNumberType

using aspect::GMGNumberType = typedef double

Typedef for the number type for the multigrid operators. Can be either float or double.

Definition at line 40 of file stokes_matrix_free.h.

Function Documentation

§ colorize_quarter_hyper_shell()

template<int dim>
void aspect::colorize_quarter_hyper_shell ( Triangulation< dim > &  tria,
const Point< dim > &  center,
const double  inner_radius,
const double  outer_radius 
)

§ print_aspect_header()

template<class Stream >
void aspect::print_aspect_header ( Stream &  stream)

Print a header into the given stream that will be written both to screen and to the log file and that provides basic information about what is running, with how many processes, and using which linear algebra library.

§ construct_default_variables()

template<int dim>
std::vector<VariableDeclaration<dim> > aspect::construct_default_variables ( const Parameters< dim > &  parameters)

Helper function to construct the default list of variables to use based on the given set of parameters.

§ DeclExceptionMsg()

aspect::DeclExceptionMsg ( ExcNonlinearSolverNoConvergence  ,
"Nonlinear solver failed to converge in the prescribed number of steps. " "Consider changing `Max nonlinear iterations` or `Nonlinear solver failure " "strategy`."   
)

Exception to be thrown when the nonlinear solver needs too many iterations to converge.

§ construct_solution_evaluator()

template<int dim>
std::unique_ptr<SolutionEvaluator<dim> > aspect::construct_solution_evaluator ( const SimulatorAccess< dim > &  simulator_access,
const UpdateFlags  update_flags 
)

A function to create a pointer to a SolutionEvaluator object.

§ create_matrix_free_solver()

template<int dim>
std::unique_ptr<StokesMatrixFreeHandler<dim> > aspect::create_matrix_free_solver ( Simulator< dim > &  simulator,
const Parameters< dim > &  parameters 
)

Create an instance of the StokesMatrixFreeHandler based on the input parameters.