14 #include "neml2/models/Model.h" 15 #include "nlohmann/json.h" 38 void set_value(
bool,
bool,
bool)
override;
79 const Scalar & interp_points)
const;
86 const std::vector<double> & param,
103 const Scalar grid_values)
const;
132 Scalar
transform_compress(
const Scalar & data,
const std::vector<double> & params)
const;
136 Scalar
transform_min_max(
const Scalar & data,
const std::vector<double> & params)
const;
std::vector< double > _wall_transform_values
Scalar transform_data(const Scalar &data, const std::vector< double > ¶m, TransformEnum transform_type) const
transform data
TransformEnum _output_transform_enum
output transform enum
TransformEnum _temperature_transform_enum
const Variable< Scalar > & _temperature
Temperature.
std::string json_to_string(const std::string &key) const
read in json axes transform name
TransformEnum _cell_transform_enum
static OptionSet expected_options()
TransformEnum get_transform_enum(const std::string &name) const
const Variable< Scalar > & _wall_dd
wall dislocation density
TransformEnum _wall_transform_enum
std::vector< double > _cell_transform_values
const Variable< Scalar > & _cell_dd
cell dislocation density
TransformEnum _plastic_strain_transform_enum
std::vector< double > _plastic_strain_transform_values
const Variable< Scalar > & _env_fac
environmental factor
std::string _output_rate_name
output transform rate name
Scalar transform_exp10_bounded(const Scalar &data, const std::vector< double > ¶ms) const
std::vector< double > _stress_transform_values
input transform values
TransformEnum _env_transform_enum
std::pair< Scalar, Scalar > findLeftIndexAndFraction(const Scalar &grid, const Scalar &interp_points) const
find index of input point
TransformEnum _stress_transform_enum
input transform enums
Scalar compute_interpolation(const std::vector< std::pair< Scalar, Scalar >> index_and_fraction, const Scalar grid_values) const
compute interpolated value
Scalar json_6Dvector_to_torch(const std::string &key) const
read 6D grid date from json and store in Torch tensor
Scalar _grid_values
grid values being interpolated
const Variable< Scalar > & _vm_stress
Model input for interpolation.
void set_value(bool, bool, bool) override
Scalar _stress_grid
grid for interpolation
Scalar transform_decompress(const Scalar &data, const std::vector< double > ¶ms) const
Scalar transform_min_max(const Scalar &data, const std::vector< double > ¶ms) const
LAROMANCE6DInterpolation(const OptionSet &options)
std::vector< double > _env_transform_values
Scalar json_vector_to_torch(const std::string &key) const
read 1D vector of grid points from json and store in Torch tensor
nlohmann::json _json
JSON object containing interpolation grid and values.
Scalar transform_compress(const Scalar &data, const std::vector< double > ¶ms) const
LAROMANCE transforms for input axes and output axis.
std::vector< double > _output_transform_values
output transform values
std::vector< double > json_to_vector(const std::string &key) const
read in json axes transform constants
Scalar interpolate_and_transform() const
compute interpolated value and transform results
Scalar transform_log10_bounded(const Scalar &data, const std::vector< double > ¶ms) const
Variable< Scalar > & _output_rate
Model output.
std::vector< double > _temperature_transform_values
const Variable< Scalar > & _ep_strain
The creep strain.
void request_AD() override
Scalar _plastic_strain_grid