diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a6c4154e..f2801a50 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,6 +39,7 @@ jobs: pip install -r ./json-spec-engine/requirements.txt python ./json-spec-engine/docs/spec2html.py -i ./polyfem/json-specs/input-spec.json --include-dirs ./polyfem/json-specs ./polysolve -o ./docs/_json_spec.md python ./json-spec-engine/scripts/generate_defaults.py -i ./polyfem/json-specs/input-spec.json --include-dirs ./polyfem/json-specs ./polysolve -o ./docs/_json_defaults.json + python ./json-spec-engine/docs/spec2html.py -i ./polyfem/json-specs/opt-input-spec.json --include-dirs ./polyfem/json-specs ./polysolve -o ./docs/_opt_input_spec.md cp ./polyfem/LICENSE ./docs/_polyfem_license.txt - name: Deploy MkDocs diff --git a/docs/_opt_input_spec.md b/docs/_opt_input_spec.md new file mode 100644 index 00000000..2e0e85ae --- /dev/null +++ b/docs/_opt_input_spec.md @@ -0,0 +1,10881 @@ + + + + + + + + + +!!! json-spec "`/` (`object`)" + ``` + / + ``` +

Description

+ Root of the configuration file. +

Required

+ + + + + + ??? json-spec "`/parameters` (`list`)" + ``` + /parameters + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/parameters/*` (`object`)" + ``` + /parameters/* + ``` +

Description

+ TODO +

Optional

+ + + + ??? json-spec "`/parameters/*/number`" + ``` + /parameters/*/number + ``` + + + === "`/parameters/*/number` (`int`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/parameters/*/number` (`object`)" +

Description

+ TODO + + **Default**: `None` +

Required

+ + + + + + + + + + + + + + === "`/parameters/*/number` (`object`)" +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + + + + + + + + + ??? json-spec "`/parameters/*/initial`" + ``` + /parameters/*/initial + ``` + + + === "`/parameters/*/initial` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/parameters/*/initial/*` (`float`)" + ``` + /parameters/*/initial/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + === "`/parameters/*/initial` (`float`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation` (`list`)" + ``` + /variable_to_simulation + ``` +

Description

+ A list of mappings from the raw optimization variable to parameters in states. + + + + ??? json-spec "`/variable_to_simulation/*`" + ``` + /variable_to_simulation/* + ``` + + + === "shape" + + **Type**: shape +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + ??? json-spec "`/variable_to_simulation/*/state`" + ``` + /variable_to_simulation/*/state + ``` + + + === "`/variable_to_simulation/*/state` (`int`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/state` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/state/*` (`int`)" + ``` + /variable_to_simulation/*/state/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/type` (`string`)" + ``` + /variable_to_simulation/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['shape', 'elastic', 'friction', 'damping', 'macro-strain', 'initial', 'dirichlet', 'pressure']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition` (`list`)" + ``` + /variable_to_simulation/*/composition + ``` +

Description

+ list of parametrizations that maps raw optimization variables to parameters in simulations + + + + ??? json-spec "`/variable_to_simulation/*/composition/*`" + ``` + /variable_to_simulation/*/composition/* + ``` + + + === "bounded-biharmonic-weights" + + **Type**: bounded-biharmonic-weights +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + + + + + + === "scalar-velocity-parametrization" + + **Type**: scalar-velocity-parametrization +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + === "append-const" + + **Type**: append-const +

Description

+ Append repeated constant at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/size` (`int`)" + ``` + /variable_to_simulation/*/composition/*/size + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/start` (`int`)" + ``` + /variable_to_simulation/*/composition/*/start + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "append-values" + + **Type**: append-values +

Description

+ Append a list of constants at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values` (`list`)" + ``` + /variable_to_simulation/*/composition/*/values + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values/*` (`float`)" + ``` + /variable_to_simulation/*/composition/*/values/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "slice" + + **Type**: slice +

Description

+ Ouputs x[from:to], where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/parameter_index` (`int`)" + ``` + /variable_to_simulation/*/composition/*/parameter_index + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/last` (`int`)" + ``` + /variable_to_simulation/*/composition/*/last + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "power" + + **Type**: power +

Description

+ Ouputs x ^ power, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/power` (`float`)" + ``` + /variable_to_simulation/*/composition/*/power + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "exp" + + **Type**: exp +

Description

+ Ouputs exp(x), where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "scale" + + **Type**: scale +

Description

+ Ouputs x * value, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-elem" + + **Type**: per-body-to-per-elem +

Description

+ From per volume selection to per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-node" + + **Type**: per-body-to-per-node +

Description

+ From per volume selection to per FE node. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "E-nu-to-lambda-mu" + + **Type**: E-nu-to-lambda-mu +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/is_volume` (`bool`)" + ``` + /variable_to_simulation/*/composition/*/is_volume + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "linear-filter" + + **Type**: linear-filter +

Description

+ Apply linear smoothing filter on a field per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_type` (`string`)" + ``` + /variable_to_simulation/*/composite_map_type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `'none'` + + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices`" + ``` + /variable_to_simulation/*/composite_map_indices + ``` + + + === "`/variable_to_simulation/*/composite_map_indices` (`file`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/composite_map_indices` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices/*` (`int`)" + ``` + /variable_to_simulation/*/composite_map_indices/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + === "elastic" + + **Type**: elastic +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + ??? json-spec "`/variable_to_simulation/*/state`" + ``` + /variable_to_simulation/*/state + ``` + + + === "`/variable_to_simulation/*/state` (`int`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/state` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/state/*` (`int`)" + ``` + /variable_to_simulation/*/state/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/type` (`string`)" + ``` + /variable_to_simulation/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['shape', 'elastic', 'friction', 'damping', 'macro-strain', 'initial', 'dirichlet', 'pressure']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition` (`list`)" + ``` + /variable_to_simulation/*/composition + ``` +

Description

+ list of parametrizations that maps raw optimization variables to parameters in simulations + + + + ??? json-spec "`/variable_to_simulation/*/composition/*`" + ``` + /variable_to_simulation/*/composition/* + ``` + + + === "bounded-biharmonic-weights" + + **Type**: bounded-biharmonic-weights +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + + + + + + === "scalar-velocity-parametrization" + + **Type**: scalar-velocity-parametrization +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + === "append-const" + + **Type**: append-const +

Description

+ Append repeated constant at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/size` (`int`)" + ``` + /variable_to_simulation/*/composition/*/size + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/start` (`int`)" + ``` + /variable_to_simulation/*/composition/*/start + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "append-values" + + **Type**: append-values +

Description

+ Append a list of constants at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values` (`list`)" + ``` + /variable_to_simulation/*/composition/*/values + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values/*` (`float`)" + ``` + /variable_to_simulation/*/composition/*/values/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "slice" + + **Type**: slice +

Description

+ Ouputs x[from:to], where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/parameter_index` (`int`)" + ``` + /variable_to_simulation/*/composition/*/parameter_index + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/last` (`int`)" + ``` + /variable_to_simulation/*/composition/*/last + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "power" + + **Type**: power +

Description

+ Ouputs x ^ power, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/power` (`float`)" + ``` + /variable_to_simulation/*/composition/*/power + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "exp" + + **Type**: exp +

Description

+ Ouputs exp(x), where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "scale" + + **Type**: scale +

Description

+ Ouputs x * value, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-elem" + + **Type**: per-body-to-per-elem +

Description

+ From per volume selection to per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-node" + + **Type**: per-body-to-per-node +

Description

+ From per volume selection to per FE node. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "E-nu-to-lambda-mu" + + **Type**: E-nu-to-lambda-mu +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/is_volume` (`bool`)" + ``` + /variable_to_simulation/*/composition/*/is_volume + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "linear-filter" + + **Type**: linear-filter +

Description

+ Apply linear smoothing filter on a field per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_type` (`string`)" + ``` + /variable_to_simulation/*/composite_map_type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `'none'` + + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices`" + ``` + /variable_to_simulation/*/composite_map_indices + ``` + + + === "`/variable_to_simulation/*/composite_map_indices` (`file`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/composite_map_indices` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices/*` (`int`)" + ``` + /variable_to_simulation/*/composite_map_indices/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + === "friction" + + **Type**: friction +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + ??? json-spec "`/variable_to_simulation/*/state`" + ``` + /variable_to_simulation/*/state + ``` + + + === "`/variable_to_simulation/*/state` (`int`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/state` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/state/*` (`int`)" + ``` + /variable_to_simulation/*/state/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/type` (`string`)" + ``` + /variable_to_simulation/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['shape', 'elastic', 'friction', 'damping', 'macro-strain', 'initial', 'dirichlet', 'pressure']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition` (`list`)" + ``` + /variable_to_simulation/*/composition + ``` +

Description

+ list of parametrizations that maps raw optimization variables to parameters in simulations + + + + ??? json-spec "`/variable_to_simulation/*/composition/*`" + ``` + /variable_to_simulation/*/composition/* + ``` + + + === "bounded-biharmonic-weights" + + **Type**: bounded-biharmonic-weights +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + + + + + + === "scalar-velocity-parametrization" + + **Type**: scalar-velocity-parametrization +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + === "append-const" + + **Type**: append-const +

Description

+ Append repeated constant at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/size` (`int`)" + ``` + /variable_to_simulation/*/composition/*/size + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/start` (`int`)" + ``` + /variable_to_simulation/*/composition/*/start + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "append-values" + + **Type**: append-values +

Description

+ Append a list of constants at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values` (`list`)" + ``` + /variable_to_simulation/*/composition/*/values + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values/*` (`float`)" + ``` + /variable_to_simulation/*/composition/*/values/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "slice" + + **Type**: slice +

Description

+ Ouputs x[from:to], where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/parameter_index` (`int`)" + ``` + /variable_to_simulation/*/composition/*/parameter_index + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/last` (`int`)" + ``` + /variable_to_simulation/*/composition/*/last + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "power" + + **Type**: power +

Description

+ Ouputs x ^ power, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/power` (`float`)" + ``` + /variable_to_simulation/*/composition/*/power + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "exp" + + **Type**: exp +

Description

+ Ouputs exp(x), where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "scale" + + **Type**: scale +

Description

+ Ouputs x * value, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-elem" + + **Type**: per-body-to-per-elem +

Description

+ From per volume selection to per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-node" + + **Type**: per-body-to-per-node +

Description

+ From per volume selection to per FE node. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "E-nu-to-lambda-mu" + + **Type**: E-nu-to-lambda-mu +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/is_volume` (`bool`)" + ``` + /variable_to_simulation/*/composition/*/is_volume + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "linear-filter" + + **Type**: linear-filter +

Description

+ Apply linear smoothing filter on a field per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_type` (`string`)" + ``` + /variable_to_simulation/*/composite_map_type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `'none'` + + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices`" + ``` + /variable_to_simulation/*/composite_map_indices + ``` + + + === "`/variable_to_simulation/*/composite_map_indices` (`file`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/composite_map_indices` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices/*` (`int`)" + ``` + /variable_to_simulation/*/composite_map_indices/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + === "initial" + + **Type**: initial +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + ??? json-spec "`/variable_to_simulation/*/state`" + ``` + /variable_to_simulation/*/state + ``` + + + === "`/variable_to_simulation/*/state` (`int`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/state` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/state/*` (`int`)" + ``` + /variable_to_simulation/*/state/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/type` (`string`)" + ``` + /variable_to_simulation/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['shape', 'elastic', 'friction', 'damping', 'macro-strain', 'initial', 'dirichlet', 'pressure']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition` (`list`)" + ``` + /variable_to_simulation/*/composition + ``` +

Description

+ list of parametrizations that maps raw optimization variables to parameters in simulations + + + + ??? json-spec "`/variable_to_simulation/*/composition/*`" + ``` + /variable_to_simulation/*/composition/* + ``` + + + === "bounded-biharmonic-weights" + + **Type**: bounded-biharmonic-weights +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + + + + + + === "scalar-velocity-parametrization" + + **Type**: scalar-velocity-parametrization +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + === "append-const" + + **Type**: append-const +

Description

+ Append repeated constant at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/size` (`int`)" + ``` + /variable_to_simulation/*/composition/*/size + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/start` (`int`)" + ``` + /variable_to_simulation/*/composition/*/start + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "append-values" + + **Type**: append-values +

Description

+ Append a list of constants at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values` (`list`)" + ``` + /variable_to_simulation/*/composition/*/values + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values/*` (`float`)" + ``` + /variable_to_simulation/*/composition/*/values/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "slice" + + **Type**: slice +

Description

+ Ouputs x[from:to], where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/parameter_index` (`int`)" + ``` + /variable_to_simulation/*/composition/*/parameter_index + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/last` (`int`)" + ``` + /variable_to_simulation/*/composition/*/last + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "power" + + **Type**: power +

Description

+ Ouputs x ^ power, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/power` (`float`)" + ``` + /variable_to_simulation/*/composition/*/power + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "exp" + + **Type**: exp +

Description

+ Ouputs exp(x), where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "scale" + + **Type**: scale +

Description

+ Ouputs x * value, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-elem" + + **Type**: per-body-to-per-elem +

Description

+ From per volume selection to per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-node" + + **Type**: per-body-to-per-node +

Description

+ From per volume selection to per FE node. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "E-nu-to-lambda-mu" + + **Type**: E-nu-to-lambda-mu +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/is_volume` (`bool`)" + ``` + /variable_to_simulation/*/composition/*/is_volume + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "linear-filter" + + **Type**: linear-filter +

Description

+ Apply linear smoothing filter on a field per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_type` (`string`)" + ``` + /variable_to_simulation/*/composite_map_type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `'none'` + + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices`" + ``` + /variable_to_simulation/*/composite_map_indices + ``` + + + === "`/variable_to_simulation/*/composite_map_indices` (`file`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/composite_map_indices` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices/*` (`int`)" + ``` + /variable_to_simulation/*/composite_map_indices/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + === "dirichlet" + + **Type**: dirichlet +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + ??? json-spec "`/variable_to_simulation/*/state`" + ``` + /variable_to_simulation/*/state + ``` + + + === "`/variable_to_simulation/*/state` (`int`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/state` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/state/*` (`int`)" + ``` + /variable_to_simulation/*/state/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/type` (`string`)" + ``` + /variable_to_simulation/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['shape', 'elastic', 'friction', 'damping', 'macro-strain', 'initial', 'dirichlet', 'pressure']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition` (`list`)" + ``` + /variable_to_simulation/*/composition + ``` +

Description

+ list of parametrizations that maps raw optimization variables to parameters in simulations + + + + ??? json-spec "`/variable_to_simulation/*/composition/*`" + ``` + /variable_to_simulation/*/composition/* + ``` + + + === "bounded-biharmonic-weights" + + **Type**: bounded-biharmonic-weights +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + + + + + + === "scalar-velocity-parametrization" + + **Type**: scalar-velocity-parametrization +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + === "append-const" + + **Type**: append-const +

Description

+ Append repeated constant at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/size` (`int`)" + ``` + /variable_to_simulation/*/composition/*/size + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/start` (`int`)" + ``` + /variable_to_simulation/*/composition/*/start + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "append-values" + + **Type**: append-values +

Description

+ Append a list of constants at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values` (`list`)" + ``` + /variable_to_simulation/*/composition/*/values + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values/*` (`float`)" + ``` + /variable_to_simulation/*/composition/*/values/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "slice" + + **Type**: slice +

Description

+ Ouputs x[from:to], where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/parameter_index` (`int`)" + ``` + /variable_to_simulation/*/composition/*/parameter_index + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/last` (`int`)" + ``` + /variable_to_simulation/*/composition/*/last + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "power" + + **Type**: power +

Description

+ Ouputs x ^ power, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/power` (`float`)" + ``` + /variable_to_simulation/*/composition/*/power + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "exp" + + **Type**: exp +

Description

+ Ouputs exp(x), where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "scale" + + **Type**: scale +

Description

+ Ouputs x * value, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-elem" + + **Type**: per-body-to-per-elem +

Description

+ From per volume selection to per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-node" + + **Type**: per-body-to-per-node +

Description

+ From per volume selection to per FE node. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "E-nu-to-lambda-mu" + + **Type**: E-nu-to-lambda-mu +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/is_volume` (`bool`)" + ``` + /variable_to_simulation/*/composition/*/is_volume + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "linear-filter" + + **Type**: linear-filter +

Description

+ Apply linear smoothing filter on a field per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_type` (`string`)" + ``` + /variable_to_simulation/*/composite_map_type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `'none'` + + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices`" + ``` + /variable_to_simulation/*/composite_map_indices + ``` + + + === "`/variable_to_simulation/*/composite_map_indices` (`file`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/composite_map_indices` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices/*` (`int`)" + ``` + /variable_to_simulation/*/composite_map_indices/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + === "pressure" + + **Type**: pressure +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + ??? json-spec "`/variable_to_simulation/*/state`" + ``` + /variable_to_simulation/*/state + ``` + + + === "`/variable_to_simulation/*/state` (`int`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/state` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/state/*` (`int`)" + ``` + /variable_to_simulation/*/state/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/type` (`string`)" + ``` + /variable_to_simulation/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['shape', 'elastic', 'friction', 'damping', 'macro-strain', 'initial', 'dirichlet', 'pressure']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition` (`list`)" + ``` + /variable_to_simulation/*/composition + ``` +

Description

+ list of parametrizations that maps raw optimization variables to parameters in simulations + + + + ??? json-spec "`/variable_to_simulation/*/composition/*`" + ``` + /variable_to_simulation/*/composition/* + ``` + + + === "bounded-biharmonic-weights" + + **Type**: bounded-biharmonic-weights +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + + + + + + === "scalar-velocity-parametrization" + + **Type**: scalar-velocity-parametrization +

Description

+ TODO +

Required

+ + + + + + + + + + + + + + === "append-const" + + **Type**: append-const +

Description

+ Append repeated constant at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/size` (`int`)" + ``` + /variable_to_simulation/*/composition/*/size + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/start` (`int`)" + ``` + /variable_to_simulation/*/composition/*/start + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "append-values" + + **Type**: append-values +

Description

+ Append a list of constants at the end of the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values` (`list`)" + ``` + /variable_to_simulation/*/composition/*/values + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/values/*` (`float`)" + ``` + /variable_to_simulation/*/composition/*/values/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "slice" + + **Type**: slice +

Description

+ Ouputs x[from:to], where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/parameter_index` (`int`)" + ``` + /variable_to_simulation/*/composition/*/parameter_index + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/last` (`int`)" + ``` + /variable_to_simulation/*/composition/*/last + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "power" + + **Type**: power +

Description

+ Ouputs x ^ power, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/power` (`float`)" + ``` + /variable_to_simulation/*/composition/*/power + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "exp" + + **Type**: exp +

Description

+ Ouputs exp(x), where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/from` (`int`)" + ``` + /variable_to_simulation/*/composition/*/from + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/to` (`int`)" + ``` + /variable_to_simulation/*/composition/*/to + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `-1` + + + + + + + === "scale" + + **Type**: scale +

Description

+ Ouputs x * value, where x is the input vector +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/value` (`float`)" + ``` + /variable_to_simulation/*/composition/*/value + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-elem" + + **Type**: per-body-to-per-elem +

Description

+ From per volume selection to per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "per-body-to-per-node" + + **Type**: per-body-to-per-node +

Description

+ From per volume selection to per FE node. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "E-nu-to-lambda-mu" + + **Type**: E-nu-to-lambda-mu +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/is_volume` (`bool`)" + ``` + /variable_to_simulation/*/composition/*/is_volume + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + === "linear-filter" + + **Type**: linear-filter +

Description

+ Apply linear smoothing filter on a field per element. +

Required

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/state` (`int`)" + ``` + /variable_to_simulation/*/composition/*/state + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + + + ??? json-spec "`/variable_to_simulation/*/composition/*/type` (`string`)" + ``` + /variable_to_simulation/*/composition/*/type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Options:** `['per-body-to-per-elem', 'per-body-to-per-node', 'E-nu-to-lambda-mu', 'slice', 'exp', 'scale', 'power', 'append-values', 'append-const', 'linear-filter', 'bounded-biharmonic-weights', 'scalar-velocity-parametrization']` + + + + + + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_type` (`string`)" + ``` + /variable_to_simulation/*/composite_map_type + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `'none'` + + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices`" + ``` + /variable_to_simulation/*/composite_map_indices + ``` + + + === "`/variable_to_simulation/*/composite_map_indices` (`file`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + === "`/variable_to_simulation/*/composite_map_indices` (`list`)" +

Description

+ FIXME: Missing documentation in the specification. + + + + + + ??? json-spec "`/variable_to_simulation/*/composite_map_indices/*` (`int`)" + ``` + /variable_to_simulation/*/composite_map_indices/* + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + + + + + + + ??? json-spec "`/states` (`list`)" + ``` + /states + ``` +

Description

+ Specify a numebr of simulations used in the optimization. + + + + + + ??? json-spec "`/states/*` (`object`)" + ``` + /states/* + ``` +

Description

+ FIXME: Missing documentation in the specification. +

Required

+ + + + + + ??? json-spec "`/states/*/path` (`file`)" + ``` + /states/*/path + ``` +

Description

+ The json file path for this state. + + + +

Optional

+ + + + + + ??? json-spec "`/states/*/initial_guess` (`int`)" + ``` + /states/*/initial_guess + ``` +

Description

+ Specify the state ID, whose solution is used to initialize the solve in this state. + + **Default**: `-1` + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/output` (`object`)" + ``` + /output + ``` +

Description

+ Optimization output options + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/output/log` (`object`)" + ``` + /output/log + ``` +

Description

+ Setting for the output log. + + **Default**: `None` +

Optional

+ + + + ??? json-spec "`/output/log/level`" + ``` + /output/log/level + ``` + + + === "`/output/log/level` (`int`)" +

Description

+ Level of logging, 0 trace, 1 debug, 2 info, 3 warning, 4 error, 5 critical, and 6 off. + + **Range:** `[0, 6]` + + + + === "`/output/log/level` (`string`)" +

Description

+ Level of logging. + + **Default**: `'debug'` + + **Options:** `['trace', 'debug', 'info', 'warning', 'error', 'critical', 'off']` + + + + + + + ??? json-spec "`/output/log/file_level`" + ``` + /output/log/file_level + ``` + + + === "`/output/log/file_level` (`int`)" +

Description

+ Level of logging to a file, 0 trace, 1 debug, 2 info, 3 warning, 4 error, 5 critical, and 6 off. + + **Range:** `[0, 6]` + + + + === "`/output/log/file_level` (`string`)" +

Description

+ Level of logging. + + **Default**: `'trace'` + + **Options:** `['trace', 'debug', 'info', 'warning', 'error', 'critical', 'off']` + + + + + + + + + ??? json-spec "`/output/log/path` (`string`)" + ``` + /output/log/path + ``` +

Description

+ File where to save the log; empty string is output to terminal. + + **Default**: `''` + + + + + + + + + ??? json-spec "`/output/log/quiet` (`bool`)" + ``` + /output/log/quiet + ``` +

Description

+ Disable cout for logging. + + **Default**: `False` + + + + + + + + + + + + ??? json-spec "`/output/save_frequency` (`int`)" + ``` + /output/save_frequency + ``` +

Description

+ Optimization output frequency + + **Default**: `1` + + + + + + + + + ??? json-spec "`/output/directory` (`string`)" + ``` + /output/directory + ``` +

Description

+ Directory for output files. + + **Default**: `''` + + + + + + + + + ??? json-spec "`/output/solution` (`file`)" + ``` + /output/solution + ``` +

Description

+ Export optimization variables to file at every iteration. + + **Default**: `''` + + + + + + + + + + + + ??? json-spec "`/solver` (`object`)" + ``` + /solver + ``` +

Description

+ Optimization solver parameters. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear` (`object`)" + ``` + /solver/nonlinear + ``` +

Description

+ Settings for nonlinear solver. Interior-loop linear solver settings are defined in the solver/linear section. + + **Default**: `None` +

Optional

+ + + + ??? json-spec "`/solver/nonlinear/solver`" + ``` + /solver/nonlinear/solver + ``` + + + === "`/solver/nonlinear/solver` (`string`)" +

Description

+ Nonlinear solver type + + **Default**: `'Newton'` + + **Options:** `['Newton', 'DenseNewton', 'GradientDescent', 'ADAM', 'StochasticADAM', 'StochasticGradientDescent', 'L-BFGS', 'BFGS', 'L-BFGS-B', 'MMA']` + + + + === "`/solver/nonlinear/solver` (`list`)" +

Description

+ List of solvers for ballback. Eg, [{'type':'Newton'}, {'type':'L-BFGS'}, {'type':'GradientDescent'}] will solve using Newton, in case of failure will fallback to L-BFGS and eventually to GradientDescent + + + + ??? json-spec "`/solver/nonlinear/solver/*`" + ``` + /solver/nonlinear/solver/* + ``` + + + === "Newton" + + **Type**: Newton +

Description

+ Options for Newton. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/solver/*/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + === "ProjectedNewton" + + **Type**: ProjectedNewton +

Description

+ Options for projected Newton. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/solver/*/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + === "RegularizedNewton" + + **Type**: RegularizedNewton +

Description

+ Options for regularized Newton. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/solver/*/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_min` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_min + ``` +

Description

+ Minimum regulariztion weight. + + **Default**: `1e-08` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_max` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_max + ``` +

Description

+ Maximum regulariztion weight. + + **Default**: `100000000.0` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_inc` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_inc + ``` +

Description

+ Regulariztion weight increment. + + **Default**: `10` + + + + + + + === "RegularizedProjectedNewton" + + **Type**: RegularizedProjectedNewton +

Description

+ Options for regularized projected Newton. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/solver/*/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_min` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_min + ``` +

Description

+ Minimum regulariztion weight. + + **Default**: `1e-08` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_max` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_max + ``` +

Description

+ Maximum regulariztion weight. + + **Default**: `100000000.0` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_inc` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_inc + ``` +

Description

+ Regulariztion weight increment. + + **Default**: `10` + + + + + + + === "DenseNewton" + + **Type**: DenseNewton +

Description

+ Options for Newton. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/solver/*/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + === "DenseProjectedNewton" + + **Type**: DenseProjectedNewton +

Description

+ Options for projected Newton. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/solver/*/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + === "DenseRegularizedNewton" + + **Type**: DenseRegularizedNewton +

Description

+ Options for regularized Newton. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/solver/*/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_min` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_min + ``` +

Description

+ Minimum regulariztion weight. + + **Default**: `1e-08` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_max` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_max + ``` +

Description

+ Maximum regulariztion weight. + + **Default**: `100000000.0` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_inc` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_inc + ``` +

Description

+ Regulariztion weight increment. + + **Default**: `10` + + + + + + + === "DenseRegularizedProjectedNewton" + + **Type**: DenseRegularizedProjectedNewton +

Description

+ Options for projected regularized Newton. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/solver/*/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_min` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_min + ``` +

Description

+ Minimum regulariztion weight. + + **Default**: `1e-08` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_max` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_max + ``` +

Description

+ Maximum regulariztion weight. + + **Default**: `100000000.0` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/reg_weight_inc` (`float`)" + ``` + /solver/nonlinear/solver/*/reg_weight_inc + ``` +

Description

+ Regulariztion weight increment. + + **Default**: `10` + + + + + + + === "GradientDescent" + + **Type**: GradientDescent +

Description

+ Options for Gradient Descent. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + + + + + === "StochasticGradientDescent" + + **Type**: StochasticGradientDescent +

Description

+ Options for Stochastic Gradient Descent. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/erase_component_probability` (`float`)" + ``` + /solver/nonlinear/solver/*/erase_component_probability + ``` +

Description

+ Probability of erasing a component on the gradient for stochastic solvers. + + **Default**: `0.3` + + + + + + + === "L-BFGS" + + **Type**: L-BFGS +

Description

+ Options for L-BFGS. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/history_size` (`int`)" + ``` + /solver/nonlinear/solver/*/history_size + ``` +

Description

+ The number of corrections to approximate the inverse Hessian matrix. + + **Default**: `6` + + + + + + + === "BFGS" + + **Type**: BFGS +

Description

+ Options for BFGS. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + + + + + === "ADAM" + + **Type**: ADAM +

Description

+ Options for ADAM. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/alpha` (`float`)" + ``` + /solver/nonlinear/solver/*/alpha + ``` +

Description

+ Parameter alpha for ADAM. + + **Default**: `0.001` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/beta_1` (`float`)" + ``` + /solver/nonlinear/solver/*/beta_1 + ``` +

Description

+ Parameter beta_1 for ADAM. + + **Default**: `0.9` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/beta_2` (`float`)" + ``` + /solver/nonlinear/solver/*/beta_2 + ``` +

Description

+ Parameter beta_2 for ADAM. + + **Default**: `0.999` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/epsilon` (`float`)" + ``` + /solver/nonlinear/solver/*/epsilon + ``` +

Description

+ Parameter epsilon for ADAM. + + **Default**: `1e-08` + + + + + + + === "StochasticADAM" + + **Type**: StochasticADAM +

Description

+ Options for ADAM. +

Required

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/type` (`string`)" + ``` + /solver/nonlinear/solver/*/type + ``` +

Description

+ Nonlinear solver type + + **Options:** `['Newton', 'DenseNewton', 'ProjectedNewton', 'DenseProjectedNewton', 'RegularizedNewton', 'DenseRegularizedNewton', 'RegularizedProjectedNewton', 'DenseRegularizedProjectedNewton', 'GradientDescent', 'StochasticGradientDescent', 'ADAM', 'StochasticADAM', 'L-BFGS', 'BFGS']` + + + +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/solver/*/alpha` (`float`)" + ``` + /solver/nonlinear/solver/*/alpha + ``` +

Description

+ Parameter alpha for ADAM. + + **Default**: `0.001` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/beta_1` (`float`)" + ``` + /solver/nonlinear/solver/*/beta_1 + ``` +

Description

+ Parameter beta_1 for ADAM. + + **Default**: `0.9` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/beta_2` (`float`)" + ``` + /solver/nonlinear/solver/*/beta_2 + ``` +

Description

+ Parameter beta_2 for ADAM. + + **Default**: `0.999` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/epsilon` (`float`)" + ``` + /solver/nonlinear/solver/*/epsilon + ``` +

Description

+ Parameter epsilon for ADAM. + + **Default**: `1e-08` + + + + + + + + + ??? json-spec "`/solver/nonlinear/solver/*/erase_component_probability` (`float`)" + ``` + /solver/nonlinear/solver/*/erase_component_probability + ``` +

Description

+ Probability of erasing a component on the gradient for stochastic solvers. + + **Default**: `0.3` + + + + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/x_delta` (`float`)" + ``` + /solver/nonlinear/x_delta + ``` +

Description

+ Stopping criterion: minimal change of the variables x for the iterations to continue. Computed as the L2 norm of x divide by the time step. + + **Default**: `0` + + **Range:** `[0, inf]` + + + + + + + + + ??? json-spec "`/solver/nonlinear/grad_norm` (`float`)" + ``` + /solver/nonlinear/grad_norm + ``` +

Description

+ Stopping criterion: Minimal gradient norm for the iterations to continue. + + **Default**: `1e-08` + + **Range:** `[0, inf]` + + + + + + + + + ??? json-spec "`/solver/nonlinear/first_grad_norm_tol` (`float`)" + ``` + /solver/nonlinear/first_grad_norm_tol + ``` +

Description

+ Minimal gradient norm for the iterations to not start, assume we already are at a minimum. + + **Default**: `1e-10` + + + + + + + + + ??? json-spec "`/solver/nonlinear/max_iterations` (`int`)" + ``` + /solver/nonlinear/max_iterations + ``` +

Description

+ Maximum number of iterations for a nonlinear solve. + + **Default**: `500` + + + + + + + ??? json-spec "`/solver/nonlinear/iterations_per_strategy`" + ``` + /solver/nonlinear/iterations_per_strategy + ``` + + + === "`/solver/nonlinear/iterations_per_strategy` (`int`)" +

Description

+ Number of iterations for every substrategy before reset. + + **Default**: `5` + + + + === "`/solver/nonlinear/iterations_per_strategy` (`list`)" +

Description

+ Number of iterations for every substrategy before reset. + + + + + + ??? json-spec "`/solver/nonlinear/iterations_per_strategy/*` (`int`)" + ``` + /solver/nonlinear/iterations_per_strategy/* + ``` +

Description

+ Number of iterations for every substrategy before reset. + + **Default**: `5` + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search` (`object`)" + ``` + /solver/nonlinear/line_search + ``` +

Description

+ Settings for line-search in the nonlinear solver + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/line_search/method` (`string`)" + ``` + /solver/nonlinear/line_search/method + ``` +

Description

+ Line-search type + + **Default**: `'RobustArmijo'` + + **Options:** `['Armijo', 'RobustArmijo', 'Backtracking', 'None']` + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/use_grad_norm_tol` (`float`)" + ``` + /solver/nonlinear/line_search/use_grad_norm_tol + ``` +

Description

+ When the energy is smaller than use_grad_norm_tol, line-search uses norm of gradient instead of energy + + **Default**: `1e-06` + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/min_step_size` (`float`)" + ``` + /solver/nonlinear/line_search/min_step_size + ``` +

Description

+ Mimimum step size + + **Default**: `1e-10` + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/max_step_size_iter` (`int`)" + ``` + /solver/nonlinear/line_search/max_step_size_iter + ``` +

Description

+ Number of iterations + + **Default**: `30` + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/min_step_size_final` (`float`)" + ``` + /solver/nonlinear/line_search/min_step_size_final + ``` +

Description

+ Mimimum step size for last descent strategy + + **Default**: `1e-20` + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/max_step_size_iter_final` (`int`)" + ``` + /solver/nonlinear/line_search/max_step_size_iter_final + ``` +

Description

+ Number of iterations for last descent strategy + + **Default**: `100` + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/default_init_step_size` (`float`)" + ``` + /solver/nonlinear/line_search/default_init_step_size + ``` +

Description

+ Initial step size + + **Default**: `1` + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/step_ratio` (`float`)" + ``` + /solver/nonlinear/line_search/step_ratio + ``` +

Description

+ Ratio used to decrease the step + + **Default**: `0.5` + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/Armijo` (`object`)" + ``` + /solver/nonlinear/line_search/Armijo + ``` +

Description

+ Options for Armijo. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/line_search/Armijo/c` (`float`)" + ``` + /solver/nonlinear/line_search/Armijo/c + ``` +

Description

+ Armijo c parameter. + + **Default**: `0.0001` + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/line_search/RobustArmijo` (`object`)" + ``` + /solver/nonlinear/line_search/RobustArmijo + ``` +

Description

+ Options for RobustArmijo. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/line_search/RobustArmijo/delta_relative_tolerance` (`float`)" + ``` + /solver/nonlinear/line_search/RobustArmijo/delta_relative_tolerance + ``` +

Description

+ Relative tolerance on E to switch to approximate. + + **Default**: `0.1` + + + + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/allow_out_of_iterations` (`bool`)" + ``` + /solver/nonlinear/allow_out_of_iterations + ``` +

Description

+ If false (default), an exception will be thrown when the nonlinear solver reaches the maximum number of iterations. + + **Default**: `False` + + + + + + + + + ??? json-spec "`/solver/nonlinear/L-BFGS` (`object`)" + ``` + /solver/nonlinear/L-BFGS + ``` +

Description

+ Options for LBFGS. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/L-BFGS/history_size` (`int`)" + ``` + /solver/nonlinear/L-BFGS/history_size + ``` +

Description

+ The number of corrections to approximate the inverse Hessian matrix. + + **Default**: `6` + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/L-BFGS-B` (`object`)" + ``` + /solver/nonlinear/L-BFGS-B + ``` +

Description

+ Options for the boxed L-BFGS. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/L-BFGS-B/history_size` (`int`)" + ``` + /solver/nonlinear/L-BFGS-B/history_size + ``` +

Description

+ The number of corrections to approximate the inverse Hessian matrix. + + **Default**: `6` + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/Newton` (`object`)" + ``` + /solver/nonlinear/Newton + ``` +

Description

+ Options for Newton. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/Newton/residual_tolerance` (`float`)" + ``` + /solver/nonlinear/Newton/residual_tolerance + ``` +

Description

+ Tolerance of the linear system residual. If residual is above, the direction is rejected. + + **Default**: `1e-05` + + + + + + + + + ??? json-spec "`/solver/nonlinear/Newton/reg_weight_min` (`float`)" + ``` + /solver/nonlinear/Newton/reg_weight_min + ``` +

Description

+ Minimum regulariztion weight. + + **Default**: `1e-08` + + + + + + + + + ??? json-spec "`/solver/nonlinear/Newton/reg_weight_max` (`float`)" + ``` + /solver/nonlinear/Newton/reg_weight_max + ``` +

Description

+ Maximum regulariztion weight. + + **Default**: `100000000.0` + + + + + + + + + ??? json-spec "`/solver/nonlinear/Newton/reg_weight_inc` (`float`)" + ``` + /solver/nonlinear/Newton/reg_weight_inc + ``` +

Description

+ Regulariztion weight increment. + + **Default**: `10` + + + + + + + + + ??? json-spec "`/solver/nonlinear/Newton/force_psd_projection` (`bool`)" + ``` + /solver/nonlinear/Newton/force_psd_projection + ``` +

Description

+ Force the Hessian to be PSD when using second order solvers (i.e., Newton's method). + + **Default**: `False` + + + + + + + + + ??? json-spec "`/solver/nonlinear/Newton/use_psd_projection` (`bool`)" + ``` + /solver/nonlinear/Newton/use_psd_projection + ``` +

Description

+ Use PSD as fallback using second order solvers (i.e., Newton's method). + + **Default**: `True` + + + + + + + + + ??? json-spec "`/solver/nonlinear/Newton/use_psd_projection_in_regularized` (`bool`)" + ``` + /solver/nonlinear/Newton/use_psd_projection_in_regularized + ``` +

Description

+ Use PSD in regularized Newton. + + **Default**: `True` + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/ADAM` (`object`)" + ``` + /solver/nonlinear/ADAM + ``` +

Description

+ Options for ADAM. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/ADAM/alpha` (`float`)" + ``` + /solver/nonlinear/ADAM/alpha + ``` +

Description

+ Parameter alpha for ADAM. + + **Default**: `0.001` + + + + + + + + + ??? json-spec "`/solver/nonlinear/ADAM/beta_1` (`float`)" + ``` + /solver/nonlinear/ADAM/beta_1 + ``` +

Description

+ Parameter beta_1 for ADAM. + + **Default**: `0.9` + + + + + + + + + ??? json-spec "`/solver/nonlinear/ADAM/beta_2` (`float`)" + ``` + /solver/nonlinear/ADAM/beta_2 + ``` +

Description

+ Parameter beta_2 for ADAM. + + **Default**: `0.999` + + + + + + + + + ??? json-spec "`/solver/nonlinear/ADAM/epsilon` (`float`)" + ``` + /solver/nonlinear/ADAM/epsilon + ``` +

Description

+ Parameter epsilon for ADAM. + + **Default**: `1e-08` + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/StochasticADAM` (`object`)" + ``` + /solver/nonlinear/StochasticADAM + ``` +

Description

+ Options for ADAM. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/StochasticADAM/alpha` (`float`)" + ``` + /solver/nonlinear/StochasticADAM/alpha + ``` +

Description

+ Parameter alpha for ADAM. + + **Default**: `0.001` + + + + + + + + + ??? json-spec "`/solver/nonlinear/StochasticADAM/beta_1` (`float`)" + ``` + /solver/nonlinear/StochasticADAM/beta_1 + ``` +

Description

+ Parameter beta_1 for ADAM. + + **Default**: `0.9` + + + + + + + + + ??? json-spec "`/solver/nonlinear/StochasticADAM/beta_2` (`float`)" + ``` + /solver/nonlinear/StochasticADAM/beta_2 + ``` +

Description

+ Parameter beta_2 for ADAM. + + **Default**: `0.999` + + + + + + + + + ??? json-spec "`/solver/nonlinear/StochasticADAM/epsilon` (`float`)" + ``` + /solver/nonlinear/StochasticADAM/epsilon + ``` +

Description

+ Parameter epsilon for ADAM. + + **Default**: `1e-08` + + + + + + + + + ??? json-spec "`/solver/nonlinear/StochasticADAM/erase_component_probability` (`float`)" + ``` + /solver/nonlinear/StochasticADAM/erase_component_probability + ``` +

Description

+ Probability of erasing a component on the gradient for ADAM. + + **Default**: `0.3` + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/StochasticGradientDescent` (`object`)" + ``` + /solver/nonlinear/StochasticGradientDescent + ``` +

Description

+ Options for Stochastic Gradient Descent. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/StochasticGradientDescent/erase_component_probability` (`float`)" + ``` + /solver/nonlinear/StochasticGradientDescent/erase_component_probability + ``` +

Description

+ Probability of erasing a component on the gradient for StochasticGradientDescent. + + **Default**: `0.3` + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/box_constraints` (`object`)" + ``` + /solver/nonlinear/box_constraints + ``` +

Description

+ FIXME: Missing documentation in the specification. + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/box_constraints/bounds` (`list`)" + ``` + /solver/nonlinear/box_constraints/bounds + ``` +

Description

+ Box constraints on optimization variables. + + + + ??? json-spec "`/solver/nonlinear/box_constraints/bounds/*`" + ``` + /solver/nonlinear/box_constraints/bounds/* + ``` + + + === "`/solver/nonlinear/box_constraints/bounds/*` (`list`)" +

Description

+ Box constraint values on optimization variables. + + + + + + ??? json-spec "`/solver/nonlinear/box_constraints/bounds/*/*` (`float`)" + ``` + /solver/nonlinear/box_constraints/bounds/*/* + ``` +

Description

+ Box constraint values on optimization variables. + + + + + + + === "`/solver/nonlinear/box_constraints/bounds/*` (`float`)" +

Description

+ Box constraint values on optimization variables. + + + + + + + + + + ??? json-spec "`/solver/nonlinear/box_constraints/max_change`" + ``` + /solver/nonlinear/box_constraints/max_change + ``` + + + === "`/solver/nonlinear/box_constraints/max_change` (`float`)" +

Description

+ Maximum change of optimization variables in one iteration, only for solvers with box constraints. Negative value to disable this constraint. + + **Default**: `-1` + + + + === "`/solver/nonlinear/box_constraints/max_change` (`list`)" +

Description

+ Maximum change of optimization variables in one iteration, only for solvers with box constraints. + + + + + + ??? json-spec "`/solver/nonlinear/box_constraints/max_change/*` (`float`)" + ``` + /solver/nonlinear/box_constraints/max_change/* + ``` +

Description

+ Maximum change of every optimization variable in one iteration, only for solvers with box constraints. + + + + + + + + + + + + + + + ??? json-spec "`/solver/nonlinear/advanced` (`object`)" + ``` + /solver/nonlinear/advanced + ``` +

Description

+ Nonlinear solver advanced options + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/nonlinear/advanced/f_delta` (`float`)" + ``` + /solver/nonlinear/advanced/f_delta + ``` +

Description

+ Dangerous Option: Quit the optimization if the solver reduces the energy by less than f_delta for consecutive f_delta_step_tol steps. + + **Default**: `0` + + **Range:** `[0, inf]` + + + + + + + + + ??? json-spec "`/solver/nonlinear/advanced/f_delta_step_tol` (`int`)" + ``` + /solver/nonlinear/advanced/f_delta_step_tol + ``` +

Description

+ Dangerous Option: Quit the optimization if the solver reduces the energy by less than f_delta for consecutive f_delta_step_tol steps. + + **Default**: `100` + + + + + + + + + ??? json-spec "`/solver/nonlinear/advanced/derivative_along_delta_x_tol` (`float`)" + ``` + /solver/nonlinear/advanced/derivative_along_delta_x_tol + ``` +

Description

+ Quit the optimization if the directional derivative along the descent direction is smaller than this tolerance. + + **Default**: `0` + + **Range:** `[0, inf]` + + + + + + + + + ??? json-spec "`/solver/nonlinear/advanced/apply_gradient_fd` (`string`)" + ``` + /solver/nonlinear/advanced/apply_gradient_fd + ``` +

Description

+ Expensive Option: For every iteration of the nonlinear solver, run finite difference to verify gradient of energy. + + **Default**: `'None'` + + **Options:** `['None', 'DirectionalDerivative', 'FullFiniteDiff']` + + + + + + + + + ??? json-spec "`/solver/nonlinear/advanced/gradient_fd_eps` (`float`)" + ``` + /solver/nonlinear/advanced/gradient_fd_eps + ``` +

Description

+ Expensive Option: Eps for finite difference to verify gradient of energy. + + **Default**: `1e-07` + + + + + + + + + + + + + + + ??? json-spec "`/solver/advanced` (`object`)" + ``` + /solver/advanced + ``` +

Description

+ Advanced settings for arranging forward simulations + + **Default**: `None` +

Optional

+ + + + + + ??? json-spec "`/solver/advanced/solve_in_parallel` (`bool`)" + ``` + /solver/advanced/solve_in_parallel + ``` +

Description

+ Run forward simulations in parallel. + + **Default**: `False` + + + + + + + + + ??? json-spec "`/solver/advanced/solve_in_order` (`list`)" + ``` + /solver/advanced/solve_in_order + ``` +

Description

+ Run forward simulations in order. + + + + + + ??? json-spec "`/solver/advanced/solve_in_order/*` (`int`)" + ``` + /solver/advanced/solve_in_order/* + ``` +

Description

+ Id of forward simulations. + + + + + + + + + + + + ??? json-spec "`/solver/advanced/characteristic_length` (`float`)" + ``` + /solver/advanced/characteristic_length + ``` +

Description

+ A scaling on the nonlinear problem for better stability. + + **Default**: `1` + + + + + + + + + ??? json-spec "`/solver/advanced/enable_slim` (`bool`)" + ``` + /solver/advanced/enable_slim + ``` +

Description

+ Whether to apply slim smoothing to the optimization when step is accepted. + + **Default**: `False` + + + + + + + + + ??? json-spec "`/solver/advanced/smooth_line_search` (`bool`)" + ``` + /solver/advanced/smooth_line_search + ``` +

Description

+ Whether to apply slim smoothing to the optimization line search. + + **Default**: `False` + + + + + + + + + + + + ??? json-spec "`/solver/max_threads` (`int`)" + ``` + /solver/max_threads + ``` +

Description

+ Maximum number of threads used; 0 is unlimited. + + **Default**: `0` + + **Range:** `[0, inf]` + + + + + + + + + + + + ??? json-spec "`/stopping_conditions` (`list`)" + ``` + /stopping_conditions + ``` +

Description

+ A list of functionals. The optimization stops if these functionals are all negative, even if the objective gradient norm is not small enough. + + + + + + + + + + + + + + ??? json-spec "`/functionals` (`list`)" + ``` + /functionals + ``` +

Description

+ A list of functionals. Their sum is the functional being optimized. + + + + ??? json-spec "`/functionals/*`" + ``` + /functionals/* + ``` + + + === "divide" + + **Type**: divide +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + ??? json-spec "`/functionals/*/objective`" + ``` + /functionals/*/objective + ``` + + + === "`/functionals/*/objective` (`object`)" +

Description

+ TODO + + + + === "`/functionals/*/objective` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/objective/*` (`object`)" + ``` + /functionals/*/objective/* + ``` +

Description

+ TODO + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "plus-const" + + **Type**: plus-const +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + ??? json-spec "`/functionals/*/objective`" + ``` + /functionals/*/objective + ``` + + + === "`/functionals/*/objective` (`object`)" +

Description

+ TODO + + + + === "`/functionals/*/objective` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/objective/*` (`object`)" + ``` + /functionals/*/objective/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/value` (`float`)" + ``` + /functionals/*/value + ``` +

Description

+ TODO + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "power" + + **Type**: power +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + ??? json-spec "`/functionals/*/objective`" + ``` + /functionals/*/objective + ``` + + + === "`/functionals/*/objective` (`object`)" +

Description

+ TODO + + + + === "`/functionals/*/objective` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/objective/*` (`object`)" + ``` + /functionals/*/objective/* + ``` +

Description

+ TODO + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/power` (`float`)" + ``` + /functionals/*/power + ``` +

Description

+ TODO + + **Default**: `2` + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "sdf-target" + + **Type**: sdf-target +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/control_points` (`list`)" + ``` + /functionals/*/control_points + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/control_points/*` (`list`)" + ``` + /functionals/*/control_points/* + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/control_points/*/*` (`float`)" + ``` + /functionals/*/control_points/*/* + ``` +

Description

+ TODO + + + + + + + + + + + + + + + ??? json-spec "`/functionals/*/control_points_grid` (`list`)" + ``` + /functionals/*/control_points_grid + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/control_points_grid/*` (`list`)" + ``` + /functionals/*/control_points_grid/* + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/control_points_grid/*/*` (`float`)" + ``` + /functionals/*/control_points_grid/*/* + ``` +

Description

+ TODO + + + + + + + + + + + + + + + ??? json-spec "`/functionals/*/knots` (`list`)" + ``` + /functionals/*/knots + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/knots/*` (`float`)" + ``` + /functionals/*/knots/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/knots_u` (`list`)" + ``` + /functionals/*/knots_u + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/knots_u/*` (`float`)" + ``` + /functionals/*/knots_u/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/knots_v` (`list`)" + ``` + /functionals/*/knots_v + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/knots_v/*` (`float`)" + ``` + /functionals/*/knots_v/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/surface_selection`" + ``` + /functionals/*/surface_selection + ``` + + + === "`/functionals/*/surface_selection` (`int`)" +

Description

+ TODO + + + + === "`/functionals/*/surface_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/surface_selection/*` (`int`)" + ``` + /functionals/*/surface_selection/* + ``` +

Description

+ TODO + + + + + + + + + + === "mesh-target" + + **Type**: mesh-target +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/surface_selection`" + ``` + /functionals/*/surface_selection + ``` + + + === "`/functionals/*/surface_selection` (`int`)" +

Description

+ TODO + + + + === "`/functionals/*/surface_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/surface_selection/*` (`int`)" + ``` + /functionals/*/surface_selection/* + ``` +

Description

+ TODO + + + + + + + + + + === "node-target" + + **Type**: node-target +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "function-target" + + **Type**: function-target +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/target_function` (`string`)" + ``` + /functionals/*/target_function + ``` +

Description

+ TODO + + **Default**: `'0'` + + + + + + + + + ??? json-spec "`/functionals/*/target_function_gradient` (`list`)" + ``` + /functionals/*/target_function_gradient + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/target_function_gradient/*` (`string`)" + ``` + /functionals/*/target_function_gradient/* + ``` +

Description

+ TODO + + + + + + + + + + ??? json-spec "`/functionals/*/surface_selection`" + ``` + /functionals/*/surface_selection + ``` + + + === "`/functionals/*/surface_selection` (`int`)" +

Description

+ TODO + + + + === "`/functionals/*/surface_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/surface_selection/*` (`int`)" + ``` + /functionals/*/surface_selection/* + ``` +

Description

+ TODO + + + + + + + + + + === "target" + + **Type**: target +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/surface_selection`" + ``` + /functionals/*/surface_selection + ``` + + + === "`/functionals/*/surface_selection` (`int`)" +

Description

+ TODO + + + + === "`/functionals/*/surface_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/surface_selection/*` (`int`)" + ``` + /functionals/*/surface_selection/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/reference_cached_body_ids` (`list`)" + ``` + /functionals/*/reference_cached_body_ids + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/reference_cached_body_ids/*` (`int`)" + ``` + /functionals/*/reference_cached_body_ids/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/target_state` (`int`)" + ``` + /functionals/*/target_state + ``` +

Description

+ TODO + + **Default**: `-1` + + + + + + + === "displacement-target" + + **Type**: displacement-target +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/target_displacement` (`list`)" + ``` + /functionals/*/target_displacement + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/target_displacement/*` (`float`)" + ``` + /functionals/*/target_displacement/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/active_dimension` (`list`)" + ``` + /functionals/*/active_dimension + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/active_dimension/*` (`bool`)" + ``` + /functionals/*/active_dimension/* + ``` +

Description

+ TODO + + + + + + + + + + ??? json-spec "`/functionals/*/surface_selection`" + ``` + /functionals/*/surface_selection + ``` + + + === "`/functionals/*/surface_selection` (`int`)" +

Description

+ TODO + + + + === "`/functionals/*/surface_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/surface_selection/*` (`int`)" + ``` + /functionals/*/surface_selection/* + ``` +

Description

+ TODO + + + + + + + + + + === "center-target" + + **Type**: center-target +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/target_state` (`int`)" + ``` + /functionals/*/target_state + ``` +

Description

+ TODO + + **Default**: `-1` + + + + + + + === "position" + + **Type**: position +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + === "parametrized_product" + + **Type**: parametrized_product +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/power` (`float`)" + ``` + /functionals/*/power + ``` +

Description

+ TODO + + **Default**: `2` + + + + + + + === "soft_constraint" + + **Type**: soft_constraint +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + ??? json-spec "`/functionals/*/objective`" + ``` + /functionals/*/objective + ``` + + + === "`/functionals/*/objective` (`object`)" +

Description

+ TODO + + + + === "`/functionals/*/objective` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/objective/*` (`object`)" + ``` + /functionals/*/objective/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/soft_bound` (`list`)" + ``` + /functionals/*/soft_bound + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/soft_bound/*` (`float`)" + ``` + /functionals/*/soft_bound/* + ``` +

Description

+ TODO + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/power` (`float`)" + ``` + /functionals/*/power + ``` +

Description

+ TODO + + **Default**: `2` + + + + + + + === "transient_integral" + + **Type**: transient_integral +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + ??? json-spec "`/functionals/*/static_objective` (`object`)" + ``` + /functionals/*/static_objective + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/integral_type` (`string`)" + ``` + /functionals/*/integral_type + ``` +

Description

+ TODO + + **Default**: `'uniform'` + + **Options:** `['simpson', 'uniform', 'final', 'steps']` + + + + + + + + + ??? json-spec "`/functionals/*/steps` (`list`)" + ``` + /functionals/*/steps + ``` +

Description

+ TODO + + + + + + + + + + + + === "acceleration" + + **Type**: acceleration +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + === "kinetic" + + **Type**: kinetic +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + === "disp_grad" + + **Type**: disp_grad +

Description

+ One entry of displacement gradient matrix +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/dimensions` (`list`)" + ``` + /functionals/*/dimensions + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + === "homo_disp_grad" + + **Type**: homo_disp_grad +

Description

+ One entry of macro displacement gradient matrix, only work for homogenization +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/dimensions` (`list`)" + ``` + /functionals/*/dimensions + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + === "stress" + + **Type**: stress +

Description

+ One entry of elastic stress matrix +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/dimensions` (`list`)" + ``` + /functionals/*/dimensions + ``` +

Description

+ FIXME: Missing documentation in the specification. + + + + + + + + + + + + === "elastic_energy" + + **Type**: elastic_energy +

Description

+ Elastic energy over the volume selection +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "stress_norm" + + **Type**: stress_norm +

Description

+ Lp Norm of elastic stress over the volume selection +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/power` (`float`)" + ``` + /functionals/*/power + ``` +

Description

+ TODO + + **Default**: `2` + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "quadratic_contact_force_norm" + + **Type**: quadratic_contact_force_norm +

Description

+ Lp Norm of elastic stress over the volume selection +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/surface_selection`" + ``` + /functionals/*/surface_selection + ``` + + + === "`/functionals/*/surface_selection` (`int`)" +

Description

+ TODO + + + + === "`/functionals/*/surface_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/surface_selection/*` (`int`)" + ``` + /functionals/*/surface_selection/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/dhat` (`float`)" + ``` + /functionals/*/dhat + ``` +

Description

+ The support size of barrier function + + **Default**: `0.001` + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "log_contact_force_norm" + + **Type**: log_contact_force_norm +

Description

+ Lp Norm of elastic stress over the volume selection +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/surface_selection`" + ``` + /functionals/*/surface_selection + ``` + + + === "`/functionals/*/surface_selection` (`int`)" +

Description

+ TODO + + + + === "`/functionals/*/surface_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/surface_selection/*` (`int`)" + ``` + /functionals/*/surface_selection/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/dhat` (`float`)" + ``` + /functionals/*/dhat + ``` +

Description

+ The support size of barrier function + + **Default**: `0.001` + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "max_stress" + + **Type**: max_stress +

Description

+ Pointwise max stress over the volume selection +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "compliance" + + **Type**: compliance +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "strain_norm" + + **Type**: strain_norm +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "boundary_smoothing" + + **Type**: boundary_smoothing +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/scale_invariant` (`bool`)" + ``` + /functionals/*/scale_invariant + ``` +

Description

+ TODO + + **Default**: `True` + + + + + + + + + ??? json-spec "`/functionals/*/power` (`float`)" + ``` + /functionals/*/power + ``` +

Description

+ TODO + + **Default**: `2` + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/surface_selection`" + ``` + /functionals/*/surface_selection + ``` + + + === "`/functionals/*/surface_selection` (`int`)" +

Description

+ TODO + + + + === "`/functionals/*/surface_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/surface_selection/*` (`int`)" + ``` + /functionals/*/surface_selection/* + ``` +

Description

+ TODO + + + + + + + + + + === "material_smoothing" + + **Type**: material_smoothing +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + === "control_smoothing" + + **Type**: control_smoothing +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "collision_barrier" + + **Type**: collision_barrier +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/dhat` (`float`)" + ``` + /functionals/*/dhat + ``` +

Description

+ The support size of barrier function + + **Default**: `0.001` + + + + + + + === "deformed_collision_barrier" + + **Type**: deformed_collision_barrier +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + ??? json-spec "`/functionals/*/dhat` (`float`)" + ``` + /functionals/*/dhat + ``` +

Description

+ The support size of barrier function + + **Default**: `0.001` + + + + + + + === "layer_thickness" + + **Type**: layer_thickness +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/boundary_ids` (`list`)" + ``` + /functionals/*/boundary_ids + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/boundary_ids/*` (`int`)" + ``` + /functionals/*/boundary_ids/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/dhat` (`float`)" + ``` + /functionals/*/dhat + ``` +

Description

+ The support size of barrier function + + **Default**: `0.001` + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "layer_thickness_log" + + **Type**: layer_thickness_log +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/dmin` (`float`)" + ``` + /functionals/*/dmin + ``` +

Description

+ The min distance of barrier function + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/boundary_ids` (`list`)" + ``` + /functionals/*/boundary_ids + ``` +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/boundary_ids/*` (`int`)" + ``` + /functionals/*/boundary_ids/* + ``` +

Description

+ TODO + + + + + + + + + + + + ??? json-spec "`/functionals/*/dhat` (`float`)" + ``` + /functionals/*/dhat + ``` +

Description

+ The support size of barrier function + + **Default**: `0.001` + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "weighted_solution" + + **Type**: weighted_solution +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + === "volume" + + **Type**: volume +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + +

Optional

+ + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + === "AMIPS" + + **Type**: AMIPS +

Description

+ TODO +

Required

+ + + + + + ??? json-spec "`/functionals/*/type` (`string`)" + ``` + /functionals/*/type + ``` +

Description

+ TODO + + **Options:** `['transient_integral', 'power', 'divide', 'plus-const', 'target', 'sdf-target', 'mesh-target', 'center-target', 'function-target', 'displacement-target', 'node-target', 'position', 'acceleration', 'kinetic', 'disp_grad', 'homo_disp_grad', 'stress', 'stress_norm', 'elastic_energy', 'quadratic_contact_force_norm', 'log_contact_force_norm', 'max_stress', 'compliance', 'weighted_solution', 'strain_norm', 'boundary_smoothing', 'collision_barrier', 'deformed_collision_barrier', 'control_smoothing', 'material_smoothing', 'volume', 'soft_constraint', 'layer_thickness', 'layer_thickness_log', 'AMIPS', 'parametrized_product']` + + + + + + + + + ??? json-spec "`/functionals/*/state` (`int`)" + ``` + /functionals/*/state + ``` +

Description

+ TODO + + + +

Optional

+ + + + ??? json-spec "`/functionals/*/volume_selection`" + ``` + /functionals/*/volume_selection + ``` + + + === "`/functionals/*/volume_selection` (`list`)" +

Description

+ TODO + + + + + + ??? json-spec "`/functionals/*/volume_selection/*` (`int`)" + ``` + /functionals/*/volume_selection/* + ``` +

Description

+ TODO + + + + + + + === "`/functionals/*/volume_selection` (`file`)" +

Description

+ TODO + + + + + + + + + ??? json-spec "`/functionals/*/weight` (`float`)" + ``` + /functionals/*/weight + ``` +

Description

+ TODO + + **Default**: `1` + + + + + + + + + ??? json-spec "`/functionals/*/print_energy` (`string`)" + ``` + /functionals/*/print_energy + ``` +

Description

+ TODO + + **Default**: `''` + + + + + + + + + + + + + + + ??? json-spec "`/compute_objective` (`bool`)" + ``` + /compute_objective + ``` +

Description

+ Evaluate the functionals and exit. + + **Default**: `False` + + + + + diff --git a/docs/json_defaults_and_spec.md b/docs/json_defaults_and_spec.md index 0ac7901b..79ad2893 100644 --- a/docs/json_defaults_and_spec.md +++ b/docs/json_defaults_and_spec.md @@ -4,9 +4,9 @@ The following json contains the default values by PolyFEM. Values of `"REQUIRED!"` indicate the field has no default and must be specified by the user. -~~~js +```json {% include "_json_defaults.json" %} -~~~ +``` ## Full Specification @@ -15,4 +15,13 @@ The following json contains the full specification of the PolyFEM JSON API. {% include-markdown "_json_spec.md" heading-offset=10 -%} \ No newline at end of file +%} + +## Optimization Input Specification + +The following json contains the specification of the PolyFEM JSON API for optimization. + +{% + include-markdown "_opt_input_spec.md" + heading-offset=10 +%} diff --git a/docs/tutorials/trajectory-optimization/trajectory-optimization.md b/docs/tutorials/trajectory-optimization/trajectory-optimization.md index d0814df6..f0df2b91 100644 --- a/docs/tutorials/trajectory-optimization/trajectory-optimization.md +++ b/docs/tutorials/trajectory-optimization/trajectory-optimization.md @@ -104,7 +104,7 @@ The initial condition parameter has a dimension of `2 * dim * n_basis`, where `d In this tutorial, we only optimize the initial velocity of the ball, so we need to build a mapping, which we call `composition` in the JSON script, from the variable of size 2 to the full initial condition parameter of size `2 * dim * n_basis`. The `composition` is a list of some pre-defined mappings, which will apply to the optimization variables in order, and the final output of the mappings will be assigned to the initial condition parameter. -There are two objects with different volume IDs, specified in `barycenter.json` and `barycenter-target.json`, and we only want to control the initial velocity of the ball, with volume ID 1. First, in `append-values` we append two zeros to the optimization variable, which represents the zero initial velocity of the floor. Second, in `per-body-to-per-node` we map the per-volume values to per-node, whose output has the dimension of `dim * n_basis`. Finally, in `append-const` we append more zeros to the start of the vector, to account for the zero initial displacement. Please refer to the [opt-input-spec.json](https://github.com/polyfem/polyfem/blob/main/json-specs/opt-input-spec.json) for the documentation of compositions. +There are two objects with different volume IDs, specified in `barycenter.json` and `barycenter-target.json`, and we only want to control the initial velocity of the ball, with volume ID 1. First, in `append-values` we append two zeros to the optimization variable, which represents the zero initial velocity of the floor. Second, in `per-body-to-per-node` we map the per-volume values to per-node, whose output has the dimension of `dim * n_basis`. Finally, in `append-const` we append more zeros to the start of the vector, to account for the zero initial displacement. Please refer to the [Optimization Input Specification](../../json_defaults_and_spec.md#optimization-input-specification) for the documentation of compositions. ### Functionals