ASPECT
|
Classes | |
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 | StokesMatrixFreeHandlerImplementation |
struct | VariableDeclaration |
struct | VolumeOfFluidField |
class | VolumeOfFluidHandler |
Typedefs | |
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 > |
Functions | |
template<int dim> | |
std::vector< VariableDeclaration< dim > > | construct_default_variables (const Parameters< dim > ¶meters) |
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) |
using aspect::iarchive = typedef boost::archive::binary_iarchive |
using aspect::oarchive = typedef boost::archive::binary_oarchive |
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.
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
.
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.
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.