Index: trunk/doc/user/06_features/simulation/fields.html =================================================================== --- trunk/doc/user/06_features/simulation/fields.html (nonexistent) +++ trunk/doc/user/06_features/simulation/fields.html (revision 8837) @@ -0,0 +1,136 @@ + + + + + + + + + + +

Simulation setup details

+

Analyses

+

Below is a table of all analysis types supported. The first column goes in analysis/type. +

+
analysis name description x axis +
op + op: dc operating point + N/A +
tran_lin + transient (linear) + linear, time [s] +
ac_dec + ac (dec) + logarithmic (decade), freq [Hz] +
ac_oct + ac (oct) + logarithmic (octal), freq [Hz] +
ac_lin + ac (linear) + linear, freq [Hz] +
dc_lin + dc (linear) + linear, input value +
dc_disto_dec + dc distortion (dec) + logarithmic (decade), freq [Hz] +
dc_disto_oct + dc distortion (oct) + logarithmic (octal), freq [Hz] +
dc_disto_lin + dc distortion (lin) + linear, freq [Hz] +
dc_noise_dec + dc noise (lin) + linear, n/a (noise) +
previous + previous analysis + N/A +
+

Presentations

+

The following presentation types are available (these go in presentation/type): +

+

Modifications

+

Below is a table of all modification types supported. The first column is the node name used for hash nodes in the mods subtree. +

+
modification name +
add +
omit +
edit_attr +
disconn +
temp +
+

'Add' modification fields

+

Below is a table of all device types supported when adding a component from mods. The first column goes in the add mod's device node. +

+
modification name can have AC can have tdf (time-dependent func) +
V + yes + yes +
I + yes + yes +
R + no + no +
C + no + no +
L + no + no +
+

'Add' modification tdf subtree

+

Below is a table of all tdf types supported when adding a component that has tdf capability. First column goes in add/tdf, parameters go in add/tdf_params/ +

+
tdf name params +
none + +
    +
+ +
pulse + +
    +
  • V1 (Initial value [V,A]) +
  • V2 (Pulsed value [V,A]) +
  • TD (Delay time [sec]) optional +
  • TR (Rise time [sec]) optional +
  • TF (Fall time [sec]) optional +
  • PW (Pulse width [sec]) optional +
  • PER (Period [sec]) optional +
+ +
sin + +
    +
  • VO (Offset (vertical) [V,A]) +
  • VA (Amplitude [V,A]) +
  • FREQ (Frequency [Hz]) optional +
  • TD (Delay [sec]) optional +
  • THETA (Damping factor [sec]) optional +
+ +
exp + +
    +
  • V1 (Initial value [V,A]) +
  • V2 (Pulsed value [V,A]) +
  • TD1 (rise delay time [sec]) optional +
  • TAU1 (rise time constant [sec]) optional +
  • TD2 (fall delay time [sec]) optional +
  • TAU2 (fall time constant [sec]) optional +
+ +
pwl + +
    +
  • TAB (space sep list of time value pairs [sec V,A]) +
  • r (repeat initial section [sec]) optional +
  • td (delay the whole signal [sec]) optional +
+ +
Index: trunk/doc/user/06_features/simulation/src/Makefile =================================================================== --- trunk/doc/user/06_features/simulation/src/Makefile (nonexistent) +++ trunk/doc/user/06_features/simulation/src/Makefile (revision 8837) @@ -0,0 +1,14 @@ +all: ../fields.html + +TRUNK=../../../../.. + +include $(TRUNK)/Makefile.conf +include $(LIBRND_MAK) + +CFLAGS = -I$(TRUNK)/src -I$(TRUNK)/src_3rd $(CFLAGS_LIBRND) +LDFLAGS = $(LDFLAGS_LIBRND) -lrnd-core -lrnd-3rd $(LDFLAGS_LIBRND_FUNGW) + +gen: gen.c + +../fields.html: gen + ./gen > ../fields.html \ No newline at end of file Index: trunk/doc/user/06_features/simulation/src/gen.c =================================================================== --- trunk/doc/user/06_features/simulation/src/gen.c (nonexistent) +++ trunk/doc/user/06_features/simulation/src/gen.c (revision 8837) @@ -0,0 +1,113 @@ +#include +#include + +#define DOC_ONLY +#include "../../../../../src/plugins/sim/sim.c" + +void csch_sheet_bbox_update(csch_sheet_t *sheet) {} + +static const char *logname(int l) +{ + switch(l) { + case -1: return "none (no plot)"; + case 0: return "linear"; + case 8: return "logarithmic (octal)"; + case 10: return "logarithmic (decade)"; + } +} +static const char *yesno(int b) +{ + switch(b) { + case 1: return "yes"; + case 0: return "no"; + default: return "N/A"; + } +} + +int main() +{ + int n; + + printf("\n"); + printf("\n\n\n\n\n\n\n\n"); + printf("\n"); + printf("

Simulation setup details

\n"); + + + printf("

Analyses

\n"); + printf("

Below is a table of all analysis types supported. The first column goes in analysis/type.\n"); + + printf("

\n"); + printf("
analysis name description x axis\n"); + + for(n = 0; sch_siman_names[n] != NULL; n++) { + printf("
%s\n", sch_siman_names[n]); + printf(" %s\n", sch_siman_description[n]); + if (sch_siman_x_axis_log[n] == -1) + printf(" N/A\n"); + else + printf(" %s, %s\n", logname(sch_siman_x_axis_log[n]), sch_siman_x_axis_name[n]); + } + printf("
\n"); + + printf("

Presentations

\n"); + printf("

The following presentation types are available (these go in presentation/type):\n"); + printf("

\n"); + + printf("

Modifications

\n"); + printf("

Below is a table of all modification types supported. The first column is the node name used for hash nodes in the mods subtree.\n"); + + printf("

\n"); + printf("
modification name\n"); + + for(n = 0; sch_simmod_type_names[n] != NULL; n++) { + printf("
%s\n", sch_simmod_type_names[n]); + } + printf("
\n"); + + printf("

'Add' modification fields

\n"); + printf("

Below is a table of all device types supported when adding a component from mods. The first column goes in the add mod's device node.\n"); + + printf("

\n"); + printf("
modification name can have AC can have tdf (time-dependent func)\n"); + + for(n = 0; sch_simmod_dev_names[n] != NULL; n++) { + printf("
%s\n", sch_simmod_dev_names[n]); + printf(" %s\n", yesno(sch_sim_device_has_ac[n])); + printf(" %s\n", yesno(sch_sim_device_has_tdf[n])); + + } + printf("
\n"); + + printf("

'Add' modification tdf subtree

\n"); + printf("

Below is a table of all tdf types supported when adding a component that has tdf capability. First column goes in add/tdf, parameters go in add/tdf_params/\n"); + + printf("

\n"); + printf("
tdf name params \n"); + + for(n = 0; sch_simmod_tdf_names[n] != NULL; n++) { + const sch_sim_mod_tdf_param_t *p = sch_sim_mod_tdf_params[n]; + + printf("
%s\n", sch_simmod_tdf_names[n]); + printf(" "); + if (p != NULL) { + printf("\n
    \n"); + for(; p->name != NULL; p++) { + printf("
  • %s (%s)", p->name, p->desc); + if (p->optional) + printf(" optional"); + printf("\n"); + } + printf("
\n"); + } + else + printf("(no parametres)"); + printf("\n"); + } + printf("
\n"); + + +}