SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::discretization::blocks::gravity::gradient Struct Referencefinal

The gravitational gradient term is a 2nd order Hdiv vector field that is used to represent the negative gravitational acceleration of the system. Note that when I started developing this code I made the frankly wacky choice to let this be the true gradient of the potential, which is the negative acceleration. Broadly this may make sense mathematically; however, it means that developers must be extra careful to remember the sign convention. More...

#include <fields.hpp>

Inheritance diagram for serif::discretization::blocks::gravity::gradient:
[legend]
Collaboration diagram for serif::discretization::blocks::gravity::gradient:
[legend]

Classes

struct  residual
 The residual block is a block that contains the residual of the gravitational gradient term. It is a vector field that is associated with the negative gravitational acceleration of the system. More...
 
struct  value
 The value block is a block that contains the value of the gravitational gradient term. It is a vector field that is associated with the negative gravitational acceleration of the system. More...
 

Public Types

using FunctionalSpace = functional_space::DiscreteFunctionalSpace<functional_space::Hdiv, 2, 1>
 2nd order Hdiv vector field. Read the template parameters as follows: 1) Hdiv space, 2) 2nd order, 3) rank 1 tensor field
 
using Support = domain::AllDomains
 We support gravity on all domains, primarily since the only real boundary condition we have in the general case is that the potential goes to zero at infinity, which is in the vacuum domain.
 
using Quantity = dimensions::Acceleration
 This is a dimension of acceleration, despite the wacky sign convention I adopted.
 
- Public Types inherited from serif::discretization::blocks::term< gravity >
using field_type
 

Static Public Attributes

static constexpr std::string_view name = meta::type_name<gradient>()
 Compile time reflected name of the term.
 
static constexpr std::string_view symbol = "∇φ"
 Compile time symbol used for the term. Note that this is a UTF-8 character and may not render correctly in all environments. (TODO: Should we introduce an ASCII fallback?, something like make this a tuple of form <main, fallback>?)
 

Detailed Description

The gravitational gradient term is a 2nd order Hdiv vector field that is used to represent the negative gravitational acceleration of the system. Note that when I started developing this code I made the frankly wacky choice to let this be the true gradient of the potential, which is the negative acceleration. Broadly this may make sense mathematically; however, it means that developers must be extra careful to remember the sign convention.

Member Typedef Documentation

◆ FunctionalSpace

2nd order Hdiv vector field. Read the template parameters as follows: 1) Hdiv space, 2) 2nd order, 3) rank 1 tensor field

◆ Quantity

This is a dimension of acceleration, despite the wacky sign convention I adopted.

◆ Support

We support gravity on all domains, primarily since the only real boundary condition we have in the general case is that the potential goes to zero at infinity, which is in the vacuum domain.

Member Data Documentation

◆ name

std::string_view serif::discretization::blocks::gravity::gradient::name = meta::type_name<gradient>()
staticconstexpr

Compile time reflected name of the term.

◆ symbol

std::string_view serif::discretization::blocks::gravity::gradient::symbol = "∇φ"
staticconstexpr

Compile time symbol used for the term. Note that this is a UTF-8 character and may not render correctly in all environments. (TODO: Should we introduce an ASCII fallback?, something like make this a tuple of form <main, fallback>?)


The documentation for this struct was generated from the following file: