SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
linearization.hpp File Reference
#include <memory>
#include <vector>
#include "serif/geometry/deformation/actions.hpp"
Include dependency graph for linearization.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  serif::geometry::deformation::DeformationLinearization< Map >
 Freeze the shape coordinates associated with a derivative, independently of mutable caller inputs. More...
 

Namespaces

namespace  serif
 
namespace  serif::geometry
 
namespace  serif::geometry::deformation
 

Functions

template<DeformationMap Map>
std::expected< std::vector< double >, DeformationFailure > serif::geometry::deformation::evaluate_displacement (const Map &map, std::span< const double > parameters)
 Allocate a result for graph publication while leaving repeated low-level actions allocation-free.
 
template<DeformationMap Map>
DeformationStatus serif::geometry::deformation::apply_jacobian (const DeformationLinearization< Map > &state, std::span< const double > direction, std::span< double > output, DeformationWorkspace< Map > &workspace)
 Evaluate a tangent about the cache's accepted shape, not the caller's next trial state.
 
template<DeformationMap Map>
DeformationStatus serif::geometry::deformation::apply_jacobian_transpose (const DeformationLinearization< Map > &state, std::span< const double > dual, std::span< double > output, DeformationWorkspace< Map > &workspace)
 Pull displacement forces back to the accepted independent shape coordinates.
 
template<DeformationMap Map>
DeformationStatus serif::geometry::deformation::apply_pullback_derivative (const DeformationLinearization< Map > &state, std::span< const double > direction, std::span< const double > dual, std::span< double > output, DeformationWorkspace< Map > &workspace)
 Keep the geometric contribution to the Newton force derivative available for nonlinear models.