Look at all that heap allocation!
corries\boundaryconditions\custom[.]rs: modes: Vec<(usize, CustomBoundaryMode)>,
corries\boundaryconditions\custom[.]rs: /// * `modes` - Vector of pairs that pair up a [usize] equation index with a
corries\boundaryconditions\custom[.]rs: modes:
modes.to_vec(),
corries\boundaryconditions\custom[.]rs: &Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: let prim_expect = Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: &Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: let prim_expect = Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: &Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: let prim_expect = Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: &Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: let prim_expect = Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: &Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: let prim_expect = Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: &Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions\custom[.]rs: let prim_expect = Array2::from_shape_vec(
corries\boundaryconditions\custom[.]rs: vec![
corries\boundaryconditions[.]rs: .collect::<Vec<(usize, CustomBoundaryMode)>>();
corries\boundaryconditions[.]rs: .collect::<Vec<(usize, CustomBoundaryMode)>>();
corries\config\outputconfig[.]rs: /// Whether the `Output` converts its incoming data to a single [String] or a [`Vec<String>`]
corries\config\outputconfig[.]rs: /// Whether to include ghost cells in vector data
corries\config\outputconfig[.]rs: pub data_names: Vec<DataName>,
corries\config\outputconfig[.]rs: Self::default_stdout_with_names(vec![DataName::Iter, DataName::T, DataName::Dt, DataName::DtKind])
corries\config\outputconfig[.]rs: /// * `data_names` - a vector of [DataName] objects that will be printed to stdout
corries\config\outputconfig[.]rs: /// NOTE: `data_names` cannot contain identifiers for vector-like values, like
corries\config\outputconfig[.]rs: /// let data_names = vec![DataName::Iter, DataName::T];
corries\config\outputconfig[.]rs: pub fn default_stdout_with_names(data_names: Vec<DataName>) -> Self {
corries\config\outputconfig[.]rs: /// assert_eq!(stdout_config.string_conversion_mode, ToStringConversionMode::Vector);
corries\config\outputconfig[.]rs: let mut data_names = vec![DataName::T, DataName::XiCent];
corries\config\outputconfig[.]rs: /// * `data_names` - a vector of `DataName` objects that will be printed to stdout
corries\config\outputconfig[.]rs: /// let data_names = vec![DataName::Iter, DataName::T, DataName::Prim(0), DataName::Prim(1)];
corries\config\outputconfig[.]rs: /// assert_eq!(stdout_config.string_conversion_mode, ToStringConversionMode::Vector);
corries\config\outputconfig[.]rs: pub fn default_file_with_names(folder_name: &str, file_name: &str, data_names: Vec<DataName>) -> Self {
corries\config\outputconfig[.]rs: string_conversion_mode: ToStringConversionMode::Vector,
corries\config\outputconfig[.]rs:
name.data_type() != DataType::VectorFloat,
corries\config\outputconfig[.]rs: "You cannot write vectors into an Output in Scalar mode! Got data_name = {:?}",
corries\config\outputconfig[.]rs:/// Enumerates whether an `Output` writes scalar or vector values
corries\config\outputconfig[.]rs: /// Writes vectors
corries\config\outputconfig[.]rs: Vector,
corries\config[.]rs: Custom(Vec<(usize, CustomBoundaryMode)>),
corries\config[.]rs: pub writer_config: Vec<OutputConfig>,
corries\config[.]rs: writer_config: vec![
corries\lib[.]rs://! coordinate vectors in [Mesh] are called xi_*, for example.
corries\lib[.]rs://! // mode in the embedded vector. Check out the documentation for the [Physics]
corries\lib[.]rs://! // vector. See `boundary_condition_east` to see how that would look like.
corries\lib[.]rs://! boundary_condition_west: BoundaryMode::Custom(vec![
corries\lib[.]rs://! // This is a vector, where every entry is a instance of [OutputConfig], and each of these
corries\lib[.]rs://! writer_config: vec![
corries\lib[.]rs://! // vec![DataName::Iter, DataName::T, DataName::Dt, DataName::DtKind]
corries\lib[.]rs://! // Ignored for scalar output; for vector output, this sets whether to include the
corries\lib[.]rs://! data_names: vec![DataName::Iter, DataName::T, DataName::Dt, DataName::DtKind],
corries\lib[.]rs://! // vec![DataName::T, DataName::XiCent, DataName::Prim(0), DataName::Prim(1), DataName::Prim(2)],
corries\lib[.]rs://! // Defines that the data is written as vectors. This allows the output to write
corries\lib[.]rs://! // data like DataName::XiCent or DataName::Prim(n), which are vector-like values.
corries\lib[.]rs://! string_conversion_mode: ToStringConversionMode::Vector,
corries\lib[.]rs://! // Whether to include ghostcells when writing vector-like values.
corries\lib[.]rs://! data_names: vec![
corries\lib[.]rs://! # writer_config: vec![
corries\lib[.]rs://! # writer_config: vec![
corries\mesh[.]rs:/// and special indexes like the first non-ghost-cell cell index, but also vectors containing the
corries\mesh[.]rs: (StructAssociation::Mesh, DataName::XiCent) => self.write_vector(&self.xi_cent.view(), data, mesh_offset),
corries\mesh[.]rs: (StructAssociation::Mesh, DataName::XiWest) => self.write_vector(&self.xi_west.view(), data, mesh_offset),
corries\mesh[.]rs: (StructAssociation::Mesh, DataName::XiEast) => self.write_vector(&self.xi_east.view(), data, mesh_offset),
corries\rhs\numflux\hll[.]rs: let dflux_dxi_prim_expect = Array2::from_shape_vec(
corries\rhs\numflux\hll[.]rs: vec![
corries\rhs\numflux\kt[.]rs: let dflux_dxi_prim_expect = Array2::from_shape_vec(
corries\rhs\numflux\kt[.]rs: vec![
corries\state\physics[.]rs: /// Returns a view to a vector of zeros if this value is not even a derived value for the
corries\state\physics[.]rs:
vars.zero_vec()
corries\state\physics[.]rs: /// Returns a view to a vector of zeros if this value is not even a derived value for the
corries\state\physics[.]rs:
vars.zero_vec()
corries\state\physics[.]rs: /// Accessor to the xi velocity vector, derived from the `vars` argument.
corries\state\physics[.]rs: /// Returns a view to a vector of zeros if this value is not even a derived value for the
corries\state\physics[.]rs:
vars.zero_vec()
corries\state\physics[.]rs: /// Accessor to the xi momentum vector, derived from the `vars` argument.
corries\state\physics[.]rs: /// Returns a view to a vector of zeros if this value is not even a derived value for the
corries\state\physics[.]rs:
vars.zero_vec()
corries\state\physics[.]rs: /// Accessor to the eta velocity vector, derived from the `vars` argument.
corries\state\physics[.]rs: /// Returns a view to a vector of zeros if this value is not even a derived value for the
corries\state\physics[.]rs:
vars.zero_vec()
corries\state\physics[.]rs: /// Accessor to the eta momentum vector, derived from the `vars` argument.
corries\state\physics[.]rs: /// Returns a view to a vector of zeros if this value is not even a derived value for the
corries\state\physics[.]rs:
vars.zero_vec()
corries\state\physics[.]rs: /// Accessor to the pressure vector, derived from the `vars` argument.
corries\state\physics[.]rs: /// Returns a view to a vector of zeros if this value is not even a derived value for the
corries\state\physics[.]rs:
vars.zero_vec()
corries\state\physics[.]rs: /// Accessor to the inner energy vector, derived from the `vars` argument.
corries\state\physics[.]rs: /// Returns a view to a vector of zeros if this value is not even a derived value for the
corries\state\physics[.]rs:
vars.zero_vec()
corries\state\systems\euler1dadiabatic[.]rs:/// Accessors to any of these will return a vector of zeroes, whereas the corresponding equation
corries\state\systems\euler1disot[.]rs:/// energy. Accessors to any of these will return a vector of zeroes, whereas the corresponding
corries\state\variables[.]rs: /// Helper vector that only contains zeros
corries\state\variables[.]rs: zero_vec: Array1<f64>,
corries\state\variables[.]rs: zero_vec: Array1::zeros(S),
corries\state\variables[.]rs: /// Accessor function to a vector of zeroes.
corries\state\variables[.]rs: pub fn zero_vec(&self) -> ArrayView1<f64> {
corries\state\variables[.]rs:
self.zero_vec.view()
corries\state\variables[.]rs: /// Return a view to the vector of minimal eigen values.
corries\state\variables[.]rs: /// Return a view to the vector of maximal eigen values.
corries\state\variables[.]rs: (StructAssociation::Physics, DataName::Prim(j)) => self.write_vector(&self.prim.row(j), data, mesh_offset),
corries\state\variables[.]rs: (StructAssociation::Physics, DataName::Cons(j)) => self.write_vector(&self.cons.row(j), data, mesh_offset),
corries\state\variables[.]rs: self.write_vector(&self.c_sound.view(), data, mesh_offset)
corries\time\rkf\butchertableau[.]rs: /// Coefficient vector b for high-order solutions
corries\time\rkf\butchertableau[.]rs: /// Coefficient vector b for low-order solutions
corries\time\rkf\butchertableau[.]rs: /// Coefficient vector c
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0]
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![1.0]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0]
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0,
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 1.0]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.5]
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0, 0.0,
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![1.0/6.0, 2.0/3.0, 1.0/6.0]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 1.0, 0.0]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.5, 1.0]
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0, 0.0, 0.0,
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![1.0/6.0, 1.0/3.0, 1.0/3.0, 1.0/6.0]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0, 0.0, 0.0]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.5, 0.5, 1.0]
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0,
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.5, 0.5]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![1.0, 0.0]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 1.0]
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0, 0.0,
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![1.0/512.0, 255.0/256.0, 1.0/512.0]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![1.0/256.0, 255.0/256.0, 0.0]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.5, 1.0]
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![16.0/135.0, 0.0, 6656.0/12825.0, 28561.0/56430.0, -9.0/50.0, 2.0/55.0]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![25.0/216.0, 0.0, 1408.0/2565.0, 2197.0/4104.0, -0.2, 0.0]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.25, 0.375, 12.0/13.0, 1.0, 0.5]
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0, 0.0,
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![1.0/6.0, 1.0/6.0, 2.0/3.0]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.5, 0.5, 0.0]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 1.0, 0.5]
corries\time\rkf\butchertableau[.]rs: a: Array2::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.0, 0.0, 0.0, 0.0,
corries\time\rkf\butchertableau[.]rs: b_high: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.17279, 0.094505, 0.12947, 0.29899, 0.30424]
corries\time\rkf\butchertableau[.]rs: b_low: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.12293, 0.31981, -0.15316, 0.31887, 0.39155]
corries\time\rkf\butchertableau[.]rs: c: Array1::from_shape_vec(
corries\time\rkf\butchertableau[.]rs: vec![0.0, 0.36717, 0.58522, 0.44156, 0.8464]
corries\writer\data[.]rs: /// * `mesh_offset` - The possible offset for vector-like values
corries\writer\data[.]rs: DataType::VectorFloat => DataValue::VectorFloat(Array1::zeros([S - 2 * mesh_offset])),
corries\writer\data[.]rs: /// xi coordinates at the cell centre (Vector)
corries\writer\data[.]rs: /// xi coordinates at a cell's west border (Vector)
corries\writer\data[.]rs: /// xi coordinates at a cell's east border (Vector)
corries\writer\data[.]rs: /// Value is a vector-like container of `f64`
corries\writer\data[.]rs: VectorFloat,
corries\writer\data[.]rs: Self::XiCent => DataType::VectorFloat,
corries\writer\data[.]rs: Self::XiWest => DataType::VectorFloat,
corries\writer\data[.]rs: Self::XiEast => DataType::VectorFloat,
corries\writer\data[.]rs: Self::Prim(_) => DataType::VectorFloat,
corries\writer\data[.]rs: Self::Cons(_) => DataType::VectorFloat,
corries\writer\data[.]rs: Self::CSound => DataType::VectorFloat,
corries\writer\output[.]rs: pub data: Vec<Data>,
corries\writer\output[.]rs: ToStringConversionMode::Vector => {
corries\writer\output[.]rs: if let ToStringConversionMode::Vector = outputconfig.string_conversion_mode {
corries\writer\output[.]rs: // vector output files are seperated into multiple files, and have to enumerated.
corries\writer\output[.]rs: ToStringConversionMode::Vector => {
corries\writer\output[.]rs: || self.string_conversion_mode == ToStringConversionMode::Vector
corries\writer\output[.]rs: DataValue::VectorFloat(x) => write!(buffer, "{:>width$.*e}", self.precision, x[j], width = self.width)
corries\writer[.]rs: pub outputs: Vec<Output>,
corries\writer[.]rs: VectorFloat(Array1<f64>),
corries\writer[.]rs: let mut outputs = vec![];
corries\writer[.]rs: /// * `mesh_offset` - In case of writing vector data, how many cells should be skipped at the
corries\writer[.]rs: /// beginning and the end of the vector
corries\writer[.]rs: /// Writes a vector-like `field` to a `value`.
corries\writer[.]rs: /// * `field` - The vector-like piece of data
corries\writer[.]rs: /// * `mesh_offset` - In case of writing vector data, how many cells should be skipped at the
corries\writer[.]rs: /// beginning and the end of the vector
corries\writer[.]rs: fn write_vector(&self, field: &ArrayView1<f64>, data: &mut Data, mesh_offset: usize) -> Result<()> {
corries\writer[.]rs: DataValue::VectorFloat(v) => {
corries\writer[.]rs: "Tried assigning vector field to non-vector DataValue!\nfield: {}\nvalue: {:?}",