All command line parameters accepted by all tools in the GATK.
This is a list of options and parameters that are generally available to all tools in the GATK.
There may be a few restrictions, which are indicated in individual argument descriptions. For example the -BQSR argument is only meant to be used with a subset of tools, and the -pedigree argument will only be effectively used by a subset of tools as well. Some arguments conflict with others, and some conversely are dependent on others. This is all indicated in the detailed argument descriptions, so be sure to read those in their entirety rather than just skimming the one-line summary in the table.
This class is the GATK engine itself, which manages map/reduce data access and runs walkers.
We run command line GATK programs using this class. It gets the command line args, parses them, and hands the gatk all the parsed out information. Pretty much anything dealing with the underlying system should go here; the GATK engine should deal with any data related information.
This table summarizes the command-line arguments that are specific to this tool. For more details on each argument, see the list further down below the table or click on an argument name to jump directly to that entry in the list.
| Argument name(s) | Default value | Summary | |
|---|---|---|---|
| Required Parameters | |||
| --analysis_type -T |
NA | Name of the tool to run | |
| Required Flags | |||
| --showFullBamList |
NA | Emit a log entry (level INFO) containing the full list of sequence data files to be included in the analysis (including files inside .bam.list or .cram.list files). | |
| Optional Inputs | |||
| --BQSR |
NA | Input covariates table file for on-the-fly base quality score recalibration | |
| --excludeIntervals -XL |
NA | One or more genomic intervals to exclude from processing | |
| --input_file -I |
NA | Input file containing sequence data (BAM or CRAM) | |
| --intervals -L |
NA | One or more genomic intervals over which to operate | |
| --read_group_black_list -rgbl |
NA | Exclude read groups based on tags | |
| --reference_sequence -R |
NA | Reference sequence file | |
| Optional Outputs | |||
| --log_to_file -log |
NA | Set the logging location | |
| Optional Parameters | |||
| --defaultBaseQualities -DBQ |
-1 | Assign a default base quality | |
| --disable_read_filter -drf |
NA | Read filters to disable | |
| --downsample_to_coverage -dcov |
NA | Target coverage threshold for downsampling to coverage | |
| --downsample_to_fraction -dfrac |
NA | Fraction of reads to downsample to | |
| --downsampling_type -dt |
NA | Type of read downsampling to employ at a given locus | |
| --gatk_key -K |
NA | GATK key file required to run with -et NO_ET | |
| --interval_merging -im |
NA | Interval merging rule for abutting intervals | |
| --interval_padding -ip |
0 | Amount of padding (in bp) to add to each interval | |
| --interval_set_rule -isr |
NA | Set merging approach to use for combining interval inputs | |
| --logging_level -l |
NA | Set the minimum level of logging | |
| --maxRuntime |
-1 | Stop execution cleanly as soon as maxRuntime has been reached | |
| --maxRuntimeUnits |
NA | Unit of time used by maxRuntime | |
| --num_cpu_threads_per_data_thread -nct |
1 | Number of CPU threads to allocate per data thread | |
| --num_threads -nt |
1 | Number of data threads to allocate to this analysis | |
| --pedigree -ped |
NA | Pedigree files for samples | |
| --pedigreeString -pedString |
NA | Pedigree string for samples | |
| --pedigreeValidationType -pedValidationType |
NA | Validation strictness for pedigree information | |
| --performanceLog -PF |
NA | Write GATK runtime performance log to this file | |
| --phone_home -et |
NA | Run reporting mode | |
| --quantize_quals |
0 | Quantize quality scores to a given number of levels (with -BQSR) | |
| --read_filter -rf |
NA | Filters to apply to reads before analysis | |
| --tag |
NA | Tag to identify this GATK run as part of a group of runs | |
| --validation_strictness -S |
NA | How strict should we be with validation | |
| Optional Flags | |||
| --allow_potentially_misencoded_quality_scores -allowPotentiallyMisencodedQuals |
NA | Ignore warnings about base quality score encoding | |
| --disable_indel_quals -DIQ |
NA | Disable printing of base insertion and deletion tags (with -BQSR) | |
| --emit_original_quals -EOQ |
NA | Emit the OQ tag with the original base qualities (with -BQSR) | |
| --fix_misencoded_quality_scores -fixMisencodedQuals |
NA | Fix mis-encoded base quality scores | |
| --generate_md5 |
NA | Enable on-the-fly creation of md5s for output BAM files. | |
| --help -h |
NA | Generate the help message | |
| --keep_program_records -kpr |
NA | Keep program records in the SAM header | |
| --monitorThreadEfficiency -mte |
NA | Enable threading efficiency monitoring | |
| --never_trim_vcf_format_field -writeFullFormat |
NA | Always output all the records in VCF FORMAT fields, even if some are missing | |
| --nonDeterministicRandomSeed -ndrs |
NA | Use a non-deterministic random seed | |
| --refactor_NDN_cigar_string -fixNDN |
NA | Reduce NDN elements in CIGAR string | |
| --remove_program_records -rpr |
NA | Remove program records from the SAM header | |
| --sites_only |
NA | Just output sites without genotypes (i.e. only the first 8 columns of the VCF) | |
| --useOriginalQualities -OQ |
NA | Use the base quality scores from the OQ tag | |
| --version |
NA | Output version information | |
| Advanced Parameters | |||
| --bam_compression -compress |
NA | Compression level to use for writing BAM files (0 - 9, higher is more compressed) | |
| --baq |
NA | Type of BAQ calculation to apply in the engine | |
| --baqGapOpenPenalty -baqGOP |
40.0 | BAQ gap open penalty | |
| --globalQScorePrior |
-1.0 | Global Qscore Bayesian prior to use for BQSR | |
| --preserve_qscores_less_than -preserveQ |
6 | Don't recalibrate bases with quality scores less than this threshold (with -BQSR) | |
| --read_buffer_size -rbs |
NA | Number of reads per SAM file to buffer in memory | |
| --reference_window_stop -ref_win_stop |
0 | Reference window stop | |
| --sample_rename_mapping_file |
NA | Rename sample IDs on-the-fly at runtime using the provided mapping file | |
| --static_quantized_quals -SQQ |
NA | Use static quantized quality scores to a given number of levels (with -BQSR) | |
| --unsafe -U |
NA | Enable unsafe operations: nothing will be checked at runtime | |
| --variant_index_parameter |
-1 | Parameter to pass to the VCF/BCF IndexCreator | |
| --variant_index_type |
NA | Type of IndexCreator to use for VCF/BCF indices | |
| Advanced Flags | |||
| --disable_auto_index_creation_and_locking_when_reading_rods |
NA | Disable both auto-generation of index files and index file locking | |
| --disable_bam_indexing |
NA | Turn off on-the-fly creation of indices for output BAM/CRAM files. | |
| --simplifyBAM |
NA | If provided, output BAM/CRAM files will be simplified to include just key reads for downstream variation discovery analyses (removing duplicates, PF-, non-primary reads), as well stripping all extended tags from the kept reads except the read group identifier |
Arguments in this list are specific to this tool. Keep in mind that other arguments are available that are shared with other tools (e.g. command-line GATK arguments); see Inherited arguments above.
Ignore warnings about base quality score encoding
This flag tells GATK to ignore warnings when encountering base qualities that are too high and that seemingly
indicate a problem with the base quality encoding of the BAM or CRAM file. You should only use this if you really
know what you are doing; otherwise you could seriously mess up your data and ruin your analysis.
boolean
Name of the tool to run
A complete list of tools (sometimes also called walkers because they "walk" through the data to perform analyses)
is available in the online documentation.
R String
Compression level to use for writing BAM files (0 - 9, higher is more compressed)
Integer
Type of BAQ calculation to apply in the engine
The --baq argument is an enumerated type (CalculationMode), which can have one of the following values:
CalculationMode
BAQ gap open penalty
Phred-scaled gap open penalty for BAQ calculation. Although the default value is 40, a value of 30 may be better for whole genome call sets.
double [ [ 0 ∞ ] ]
Input covariates table file for on-the-fly base quality score recalibration
Enables on-the-fly recalibrate of base qualities, intended primarily for use with BaseRecalibrator and PrintReads
(see Best Practices workflow documentation). The covariates tables are produced by the BaseRecalibrator tool.
Please be aware that you should only run recalibration with the covariates file created on the same input BAM(s)
or CRAM(s).
File
Assign a default base quality
If reads are missing some or all base quality scores, this value will be used for all base quality scores.
By default this is set to -1 to disable default base quality assignment.
byte [ [ 0 127 ] ]
Disable both auto-generation of index files and index file locking
Not recommended for general use. Disables both auto-generation of index files and index file locking
when reading VCFs and other rods and an index isn't present or is out-of-date. The file locking necessary for auto index
generation to work safely is prone to random failures/hangs on certain platforms, which makes it desirable to disable it
for situations like test suite runs where the indices are already known to exist, however this option is unsafe in general
because it allows reading from index files without first acquiring a lock.
boolean
Turn off on-the-fly creation of indices for output BAM/CRAM files.
boolean
Disable printing of base insertion and deletion tags (with -BQSR)
Turns off printing of the base insertion and base deletion tags when using the -BQSR argument. Only the base substitution qualities will be produced.
boolean
Read filters to disable
List[String]
Target coverage threshold for downsampling to coverage
The principle of this downsampling type is to downsample reads to a given capping threshold coverage. Its purpose is to
get rid of excessive coverage, because above a certain depth, having additional data is not informative and imposes
unreasonable computational costs. The downsampling process takes two different forms depending on the type of
analysis it is used with.
For locus-based traversals (LocusWalkers like UnifiedGenotyper and ActiveRegionWalkers like HaplotypeCaller),
downsample_to_coverage controls the maximum depth of coverage at each locus. For read-based traversals
(ReadWalkers like BaseRecalibrator), it controls the maximum number of reads sharing the same alignment start
position. For ReadWalkers you will typically need to use much lower dcov values than you would with LocusWalkers
to see an effect. Note that this downsampling option does not produce an unbiased random sampling from all available
reads at each locus: instead, the primary goal of the to-coverage downsampler is to maintain an even representation
of reads from all alignment start positions when removing excess coverage. For a truly unbiased random sampling of
reads, use -dfrac instead. Also note that the coverage target is an approximate goal that is not guaranteed to be
met exactly: the downsampling algorithm will under some circumstances retain slightly more or less coverage than
requested.
Integer
Fraction of reads to downsample to
Reads will be downsampled so the specified fraction remains; e.g. if you specify -dfrac 0.25, three-quarters of
the reads will be removed, and the remaining one quarter will be used in the analysis. This method of downsampling
is truly unbiased and random. It is typically used to simulate the effect of generating different amounts of
sequence data for a given sample. For example, you can use this in a pilot experiment to evaluate how much target
coverage you need to aim for in order to obtain enough coverage in all loci of interest.
Double
Type of read downsampling to employ at a given locus
There are several ways to downsample reads, i.e. to remove reads from the pile of reads that will be used for analysis.
See the documentation of the individual downsampling options for details on how they work. Note that many GATK tools
specify a default downsampling type and target, but this behavior can be overridden from the command line using the
downsampling arguments.
The --downsampling_type argument is an enumerated type (DownsampleType), which can have one of the following values:
DownsampleType
Emit the OQ tag with the original base qualities (with -BQSR)
By default, the OQ tag in not emitted when using the -BQSR argument. Use this flag to include OQ tags in the output BAM or CRAM file.
Note that this may results in significant file size increase.
boolean
One or more genomic intervals to exclude from processing
Use this option to exclude certain parts of the genome from the analysis (like -L, but the opposite).
This argument can be specified multiple times. You can use samtools-style intervals either explicitly on the
command line (e.g. -XL chr1 or -XL chr1:100-200) or by loading in a file containing a list of intervals
(e.g. -XL myFile.intervals).
Additionally, you can also specify a ROD file (such as a VCF file) in order to exclude specific
positions from the analysis based on the records present in the file (e.g. -XL file.vcf).
List[IntervalBinding[Feature]]
Fix mis-encoded base quality scores
By default the GATK assumes that base quality scores start at Q0 == ASCII 33 according to the SAM specification.
However, encoding in some datasets (especially older Illumina ones) starts at Q64. This argument will fix the
encodings on the fly (as the data is read in) by subtracting 31 from every quality score. Note that this argument should
NEVER be used by default; you should only use it when you have confirmed that the quality scores in your data are
not in the correct encoding.
boolean
GATK key file required to run with -et NO_ET
Please see the "phone_home" argument below and the online documentation FAQs for more details on the key system
and how to request a key.
File
Enable on-the-fly creation of md5s for output BAM files.
boolean
Global Qscore Bayesian prior to use for BQSR
If specified, this value will be used as the prior for all mismatch quality scores instead of the actual reported quality score.
double [ [ -∞ ∞ ] ]
Generate the help message
This will produce a help message in the terminal with general usage information, listing available arguments
as well as tool-specific information if applicable.
Boolean
Input file containing sequence data (BAM or CRAM)
An input file containing sequence data mapped to a reference, in BAM or CRAM format, or a text file containing a
list of input files (with extension .list). Note that the GATK requires an accompanying .bai index for each BAM
or CRAM file. Please see our online documentation for more details on input formatting requirements.
List[String]
Interval merging rule for abutting intervals
By default, the program merges abutting intervals (i.e. intervals that are directly side-by-side but do not
actually overlap) into a single continuous interval. However you can change this behavior if you want them to be
treated as separate intervals instead.
The --interval_merging argument is an enumerated type (IntervalMergingRule), which can have one of the following values:
IntervalMergingRule
Amount of padding (in bp) to add to each interval
Use this to add padding to the intervals specified using -L and/or -XL. For example, '-L chr1:100' with a
padding value of 20 would turn into '-L chr1:80-120'. This is typically used to add padding around exons when
analyzing exomes. The general Broad exome calling pipeline uses 100 bp padding by default.
int [ [ 0 ∞ ] ]
Set merging approach to use for combining interval inputs
By default, the program will take the UNION of all intervals specified using -L and/or -XL. However, you can
change this setting for -L, for example if you want to take the INTERSECTION of the sets instead. E.g. to perform the
analysis on positions for which there is a record in a VCF, but restrict this to just those on chromosome 20,
you would do -L chr20 -L file.vcf -isr INTERSECTION. However, it is not possible to modify the merging approach
for intervals passed using -XL (they will always be merged using UNION).
Note that if you specify both -L and -XL, the -XL interval set will be subtracted from the -L interval set.
The --interval_set_rule argument is an enumerated type (IntervalSetRule), which can have one of the following values:
IntervalSetRule
One or more genomic intervals over which to operate
Use this option to perform the analysis over only part of the genome. This argument can be specified multiple times.
You can use samtools-style intervals either explicitly on the command line (e.g. -L chr1 or -L chr1:100-200) or
by loading in a file containing a list of intervals (e.g. -L myFile.intervals).
Additionally, you can also specify a ROD file (such as a VCF file) in order to perform the analysis at specific
positions based on the records present in the file (e.g. -L file.vcf).
Finally, you can also use this to perform the analysis on the reads that are completely unmapped in the BAM file
(i.e. those without a reference contig) by specifying -L unmapped.
List[IntervalBinding[Feature]]
Keep program records in the SAM header
Some tools discard program records from the SAM header by default. Use this argument to override that behavior and keep program records in the SAM header.
boolean
Set the logging location
File to save the logging output.
String
Set the minimum level of logging
Setting INFO gets you INFO up to FATAL, setting ERROR gets you ERROR and FATAL level logging, and so on.
String
Stop execution cleanly as soon as maxRuntime has been reached
This will truncate the run but without exiting with a failure. By default the value is interpreted in minutes, but this can be changed with the maxRuntimeUnits argument.
long [ [ -∞ ∞ ] ]
Unit of time used by maxRuntime
The --maxRuntimeUnits argument is an enumerated type (TimeUnit), which can have one of the following values:
TimeUnit
Enable threading efficiency monitoring
Enable GATK to monitor its own threading efficiency, at an itsy-bitsy tiny
cost (< 0.1%) in runtime because of turning on the JavaBean. This is largely for
debugging purposes. Note that this argument is not compatible with -nt, it only works with -nct.
Boolean
Always output all the records in VCF FORMAT fields, even if some are missing
The VCF specification permits missing records to be dropped from the end of FORMAT fields, so long as GT is always output. This option prevents GATK from performing that trimming.
For example, given a FORMAT of
GT:AD:DP:PL, GATK will by default emit
./.for a variant with no reads present (ie, the AD, DP, and PL fields are trimmed). If you specify -writeFullFormat, this record would be emitted as
./.:.:.:.
boolean
Use a non-deterministic random seed
If this flag is enabled, the random numbers generated will be different in every run, causing GATK to behave non-deterministically.
boolean
Number of CPU threads to allocate per data thread
Each CPU thread operates the map cycle independently, but may run into earlier scaling problems with IO than
data threads. Has the benefit of not requiring X times as much memory per thread as data threads do, but rather
only a constant overhead. See online documentation FAQs for more information.
int [ [ 1 ∞ ] ]
Number of data threads to allocate to this analysis
Data threads contains N cpu threads per data thread, and act as completely data parallel processing, increasing
the memory usage of GATK by M data threads. Data threads generally scale extremely effectively, up to 24 cores.
See online documentation FAQs for more information.
Integer [ [ 1 ∞ ] ]
Pedigree files for samples
Reads PED file-formatted tabular text files describing meta-data about the samples being processed in the GATK.
The PED file is a white-space (space or tab) delimited file: the first six columns are mandatory:
The IDs are alphanumeric: the combination of family and individual ID should uniquely identify a person. A PED file must have 1 and only 1 phenotype in the sixth column. The phenotype can be either a quantitative trait or an affection status column: GATK will automatically detect which type (i.e. based on whether a value other than 0, 1, 2 or the missing genotype code is observed).
If an individual's sex is unknown, then any character other than 1 or 2 can be used.
You can add a comment to a PED or MAP file by starting the line with a # character. The rest of that line will be ignored. Do not start any family IDs with this character therefore.
Affection status should be coded:
If any value outside of -9,0,1,2 is detected than the samples are assumed to phenotype values are interpreted as string phenotype values. In this case -9 uniquely represents the missing value.
Genotypes (column 7 onwards) cannot be specified to the GATK.
For example, here are two individuals (one row = one person):
FAM001 1 0 0 1 2 FAM001 2 0 0 1 2
Each -ped argument can be tagged with NO_FAMILY_ID, NO_PARENTS, NO_SEX, NO_PHENOTYPE to tell the GATK PED parser that the corresponding fields are missing from the ped file.
Note that most GATK walkers do not use pedigree information. Walkers that require pedigree data should clearly indicate so in their arguments and will throw errors if required pedigree information is missing.
List[File]
Pedigree string for samples
Inline PED records (see -ped argument). Each -pedString STRING can contain one or more
valid PED records (see -ped) separated by semi-colons. Supports all tags for each pedString
as -ped supports
List[String]
Validation strictness for pedigree information
How strict should we be in parsing the PED files?
The --pedigreeValidationType argument is an enumerated type (PedigreeValidationType), which can have one of the following values:
PedigreeValidationType
Write GATK runtime performance log to this file
The file name for the GATK performance log output, or null if you don't want to generate the
detailed performance logging table. This table is suitable for importing into R or any
other analysis software that can read tsv files.
File
Run reporting mode
By default, GATK generates a run report that is uploaded to a cloud-based service. This report contains basic
statistics about the run (which tool was used, whether the run was successful etc.) that help us for debugging
and development. Up to version 3.3-0 the run report contains a record of the username and hostname associated
with the run, but it does **NOT** contain any information that could be used to identify patient data.
Nevertheless, if your data is subject to stringent confidentiality clauses (no outside communication) or if your
run environment is not connected to the internet, you can disable the reporting system by seeting this option to
"NO_ET". You will also need to request a key using the online request form on our website (see FAQs).
The --phone_home argument is an enumerated type (PhoneHomeOption), which can have one of the following values:
PhoneHomeOption
Don't recalibrate bases with quality scores less than this threshold (with -BQSR)
This flag tells GATK not to modify quality scores less than this value. Instead they will be written out unmodified in the recalibrated BAM or CRAM file.
In general it's unsafe to change qualities scores below < 6, since base callers use these values to indicate random or bad bases.
For example, Illumina writes Q2 bases when the machine has really gone wrong. This would be fine in and of itself,
but when you select a subset of these reads based on their ability to align to the reference and their dinucleotide effect,
your Q2 bin can be elevated to Q8 or Q10, leading to issues downstream.
int [ [ 0 [ 6 ∞ ] ]
Quantize quality scores to a given number of levels (with -BQSR)
Turns on the base quantization module. It requires a recalibration report (-BQSR).
A value of 0 here means "do not quantize".
Any value greater than zero will be used to recalculate the quantization using that many levels.
Negative values mean that we should quantize using the recalibration report's quantization level.
int [ [ -∞ ∞ ] ]
Number of reads per SAM file to buffer in memory
Integer
Filters to apply to reads before analysis
Reads that fail the specified filters will not be used in the analysis. Multiple filters can be specified separately,
e.g. you can do -rf MalformedRead -rf BadCigar and so on. Available read filters are listed in the online tool
documentation. Note that the read name format is e.g. MalformedReadFilter, but at the command line the filter
name should be given without the Filter suffix; e.g. -rf MalformedRead (NOT -rf MalformedReadFilter, which is not
recognized by the program). Note also that some read filters are applied by default for some analysis tools; this
is specified in each tool's documentation. The default filters can only be disabled if they are DisableableReadFilters.
List[String]
Exclude read groups based on tags
This will filter out read groups matching
List[String]
Reduce NDN elements in CIGAR string
Some RNAseq aligners that use a known transcriptome resource (such as TopHat2) produce NDN elements in read CIGARS
when a small exon is entirely deleted during transcription, which ends up looking like [exon1]NDN[exon3]. These
rarely happen, but when they do they cause GATK to fail with an error. Setting this flag tells the GATK to
reduce "NDN" to a simpler CIGAR representation with one N element (with total length of the three refactored
elements). From the point of view of variant calling, there is no meaningful difference between the two
representations.
boolean
Reference sequence file
The reference genome against which the sequence data was mapped. The GATK requires an index file and a dictionary
file accompanying the reference (please see the online documentation FAQs for more details on these files). Although
this argument is indicated as being optional, almost all GATK tools require a reference in order to run.
Note also that while GATK can in theory process genomes from any organism with any number of chromosomes or contigs,
it is not designed to process draft genome assemblies and performance will decrease as the number of contigs in
the reference increases. We strongly discourage the use of unfinished genome assemblies containing more than a few
hundred contigs. Contig numbers in the thousands will most probably cause memory-related crashes.
File
Reference window stop
Stop of the expanded window for which the reference context should be provided, relative to the locus.
int [ [ 0 ∞ ] ]
Remove program records from the SAM header
Some tools keep program records in the SAM header by default. Use this argument to override that behavior and discard program records for the SAM header. Does not work on CRAM files.
boolean
Rename sample IDs on-the-fly at runtime using the provided mapping file
On-the-fly sample renaming works only with single-sample BAM, CRAM, and VCF files. Each line of the mapping file
must contain the absolute path to a BAM, CRAM, or VCF file, followed by whitespace, followed by the new sample
name for that BAM, CRAM, or VCF file. The sample name may contain non-tab whitespace, but leading or trailing
whitespace will be ignored. The engine will verify at runtime that each BAM/CRAM/VCF targeted for sample
renaming has only a single sample specified in its header (though, in the case of BAM/CRAM files, there may be
multiple read groups for that sample).
File
Emit a log entry (level INFO) containing the full list of sequence data files to be included in the analysis (including files inside .bam.list or .cram.list files).
Boolean
If provided, output BAM/CRAM files will be simplified to include just key reads for downstream variation discovery analyses (removing duplicates, PF-, non-primary reads), as well stripping all extended tags from the kept reads except the read group identifier
boolean
Just output sites without genotypes (i.e. only the first 8 columns of the VCF)
boolean
Use static quantized quality scores to a given number of levels (with -BQSR)
Static quantized quals are entirely separate from the quantize_qual option which uses dynamic binning.
The two types of binning should not be used together.
List[Integer]
Tag to identify this GATK run as part of a group of runs
The GATKRunReport supports tagging GATK runs with an arbitrary tag that can be
used to group together runs during later analysis (as of GATK 2.2) . One use of this capability is to tag
runs as GATK performance tests, so that the performance of the GATK over time can be assessed from the logs
directly.
Note that the tags do not conform to any ontology, so you are free to use any tags that you might find
meaningful.
String
Enable unsafe operations: nothing will be checked at runtime
For expert users only who know what they are doing. We do not support usage of this argument, so we may refuse to help you if you use it and something goes wrong. The one exception to this rule is ALLOW_N_CIGAR_READS, which is necessary for RNAseq analysis.
The --unsafe argument is an enumerated type (TYPE), which can have one of the following values:
TYPE
Use the base quality scores from the OQ tag
This flag tells GATK to use the original base qualities (that were in the data before BQSR/recalibration) which
are stored in the OQ tag, if they are present, rather than use the post-recalibration quality scores. If no OQ
tag is present for a read, the standard qual score will be used.
Boolean
How strict should we be with validation
Keep in mind that if you set this to LENIENT, we may refuse to provide you with support if anything goes wrong.
The --validation_strictness argument is an enumerated type (ValidationStringency), which can have one of the following values:
ValidationStringency
Parameter to pass to the VCF/BCF IndexCreator
This is either the bin width or the number of features per bin, depending on the indexing strategy
This argument is deprecated, using the output file ".g.vcf" extension will automatically set the appropriate value
int [ [ -∞ ∞ ] ]
Type of IndexCreator to use for VCF/BCF indices
Specify the Tribble indexing strategy to use for VCFs.
LINEAR creates a LinearIndex with bins of equal width, specified by the Bin Width parameter
INTERVAL creates an IntervalTreeIndex with bins with an equal amount of features, specified by the Features Per Bin parameter
DYNAMIC_SEEK attempts to optimize for minimal seek time by choosing an appropriate strategy and parameter (user-supplied parameter is ignored)
DYNAMIC_SIZE attempts to optimize for minimal index size by choosing an appropriate strategy and parameter (user-supplied parameter is ignored)
This argument is deprecated, using the output file ".g.vcf" extension will automatically set the appropriate value
The --variant_index_type argument is an enumerated type (GATKVCFIndexType), which can have one of the following values:
GATKVCFIndexType
Output version information
Use this to check the version number of the GATK executable you are invoking. Note that the version number is
always included in the output at the start of every run as well as any error message.
Boolean


- authenticate
- authentication_header
- authentication_request
- authorization
- decode_credentials
- decode_credentials_header
- encode_credentials
- expected_response
- ha1
- nonce
- opaque
- secret_key
- validate_digest_response
- validate_nonce
Returns false on a valid response, true otherwise
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 175 175: def authenticate(controller, realm, &password_procedure) 176: authorization(controller.request) && validate_digest_response(controller.request, realm, &password_procedure) 177: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 236 236: def authentication_header(controller, realm) 237: controller.headers["WWW-Authenticate"] = %(Digest realm="#{realm}", qop="auth", algorithm=MD5, nonce="#{nonce}", opaque="#{opaque}") 238: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 240 240: def authentication_request(controller, realm, message = nil) 241: message ||= "HTTP Digest: Access denied.\n" 242: authentication_header(controller, realm) 243: controller.__send__ :render, :text => message, :status => :unauthorized 244: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 179 179: def authorization(request) 180: request.env['HTTP_AUTHORIZATION'] || 181: request.env['X-HTTP_AUTHORIZATION'] || 182: request.env['X_HTTP_AUTHORIZATION'] || 183: request.env['REDIRECT_X_HTTP_AUTHORIZATION'] 184: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 228 228: def decode_credentials(header) 229: header.to_s.gsub(/^Digest\s+/,'').split(',').inject({}) do |hash, pair| 230: key, value = pair.split('=', 2) 231: hash[key.strip.to_sym] = value.to_s.gsub(/^"|"$/,'').gsub(/'/, '') 232: hash 233: end 234: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 224 224: def decode_credentials_header(request) 225: decode_credentials(authorization(request)) 226: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 219 219: def encode_credentials(http_method, credentials, password, password_is_ha1) 220: credentials[:response] = expected_response(http_method, credentials[:uri], credentials, password, password_is_ha1) 221: "Digest " + credentials.sort_by {|x| x[0].to_s }.inject([]) {|a, v| a << "#{v[0]}='#{v[1]}'" }.join(', ') 222: end
Returns the expected response for a request of http_method to uri with the decoded credentials and the expected password Optional parameter +password_is_ha1+ is set to true by default, since best practice is to store ha1 digest instead of a plain-text password.
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 209 209: def expected_response(http_method, uri, credentials, password, password_is_ha1=true) 210: ha1 = password_is_ha1 ? password : ha1(credentials, password) 211: ha2 = ::Digest::MD5.hexdigest([http_method.to_s.upcase, uri].join(':')) 212: ::Digest::MD5.hexdigest([ha1, credentials[:nonce], credentials[:nc], credentials[:cnonce], credentials[:qop], ha2].join(':')) 213: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 215 215: def ha1(credentials, password) 216: ::Digest::MD5.hexdigest([credentials[:username], credentials[:realm], password].join(':')) 217: end
Uses an MD5 digest based on time to generate a value to be used only once.
A server-specified data string which should be uniquely generated each time a 401 response is made. It is recommended that this string be base64 or hexadecimal data. Specifically, since the string is passed in the header lines as a quoted string, the double-quote character is not allowed.
The contents of the nonce are implementation dependent. The quality of the implementation depends on a good choice. A nonce might, for example, be constructed as the base 64 encoding of
> time-stamp H(time-stamp ":" ETag ":" private-key)
where time-stamp is a server-generated time or other non-repeating value, ETag is the value of the HTTP ETag header associated with the requested entity, and private-key is data known only to the server. With a nonce of this form a server would recalculate the hash portion after receiving the client authentication header and reject the request if it did not match the nonce from that header or if the time-stamp value is not recent enough. In this way the server can limit the time of the nonce‘s validity. The inclusion of the ETag prevents a replay request for an updated version of the resource. (Note: including the IP address of the client in the nonce would appear to offer the server the ability to limit the reuse of the nonce to the same client that originally got it. However, that would break proxy farms, where requests from a single user often go through different proxies in the farm. Also, IP address spoofing is not that hard.)
An implementation might choose not to accept a previously used nonce or a previously used digest, in order to protect against a replay attack. Or, an implementation might choose to use one-time nonces or digests for POST or PUT requests and a time-stamp for GET requests. For more details on the issues involved see Section 4 of this document.
The nonce is opaque to the client. Composed of Time, and hash of Time with secret key from the Rails session secret generated upon creation of project. Ensures the time cannot be modifed by client.
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 278 278: def nonce(time = Time.now) 279: t = time.to_i 280: hashed = [t, secret_key] 281: digest = ::Digest::MD5.hexdigest(hashed.join(":")) 282: Base64.encode64("#{t}:#{digest}").gsub("\n", '') 283: end
Opaque based on random generation - but changing each request?
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 296 296: def opaque() 297: ::Digest::MD5.hexdigest(secret_key) 298: end
Set in /initializers/session_store.rb, and loaded even if sessions are not in use.
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 301 301: def secret_key 302: ActionController::Base.session_options[:secret] 303: end
Returns false unless the request credentials response value matches the expected value. First try the password as a ha1 digest password. If this fails, then try it as a plain text password.
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 189 189: def validate_digest_response(request, realm, &password_procedure) 190: credentials = decode_credentials_header(request) 191: valid_nonce = validate_nonce(request, credentials[:nonce]) 192: 193: if valid_nonce && realm == credentials[:realm] && opaque == credentials[:opaque] 194: password = password_procedure.call(credentials[:username]) 195: return false unless password 196: 197: method = request.env['rack.methodoverride.original_method'] || request.env['REQUEST_METHOD'] 198: 199: [true, false].any? do |password_is_ha1| 200: expected = expected_response(method, request.env['REQUEST_URI'], credentials, password, password_is_ha1) 201: expected == credentials[:response] 202: end 203: end 204: end
Might want a shorter timeout depending on whether the request is a PUT or POST, and if client is browser or web service. Can be much shorter if the Stale directive is implemented. This would allow a user to use new nonce without prompting user again for their username and password.
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/http_authentication.rb, line 290 290: def validate_nonce(request, value, seconds_to_timeout=5*60) 291: t = Base64.decode64(value).split(":").first.to_i 292: nonce(t) == value && (t - Time.now.to_i).abs <= seconds_to_timeout 293: end


US7290737B2 - Nonsurvivable momentum exchange system - Google Patents
Nonsurvivable momentum exchange system Download PDFInfo
- Publication number
- US7290737B2 US7290737B2 US11/251,537 US25153705A US7290737B2 US 7290737 B2 US7290737 B2 US 7290737B2 US 25153705 A US25153705 A US 25153705A US 7290737 B2 US7290737 B2 US 7290737B2
- Authority
- US
- United States
- Prior art keywords
- web
- system
- flywheel
- base
- thickness
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
-<PHONE_NUMBER>44 melting Methods 0 abstract claims description 27
-<PHONE_NUMBER>63 materials Substances 0 claims description 23
-<PHONE_NUMBER>43 chemical reaction Methods 0 claims description 7
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminum Chemical class data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnID4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgeD0nMTQxLjk5NicgeT0nMTU3LjUnIHN0eWxlPSdmb250LXNpemU6MTVweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWFuY2hvcjpzdGFydDtmaWxsOiMwMDAwMDAnID48dHNwYW4+QWw8L3RzcGFuPjwvdGV4dD4KPC9zdmc+Cg== data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyA+CjwhLS0gRU5EIE9GIEhFQURFUiAtLT4KPHJlY3Qgc3R5bGU9J29wYWNpdHk6MS4wO2ZpbGw6I0ZGRkZGRjtzdHJva2U6bm9uZScgd2lkdGg9Jzg1JyBoZWlnaHQ9Jzg1JyB4PScwJyB5PScwJz4gPC9yZWN0Pgo8dGV4dCB4PSczMy45OTU4JyB5PSc0OS41JyBzdHlsZT0nZm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7dGV4dC1hbmNob3I6c3RhcnQ7ZmlsbDojMDAwMDAwJyA+PHRzcGFuPkFsPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0 claims description 6
-<PHONE_NUMBER>87 stabilizing Effects 0 claims 3
-<PHONE_NUMBER>12 assembly Effects 0 description 5
-<PHONE_NUMBER>25 electronics Methods 0 description 3
-<PHONE_NUMBER>42 polymers Polymers 0 description 3
-<PHONE_NUMBER>47 resins Substances 0 description 3
-<PHONE_NUMBER>79 Orbit Anatomy 0 description 2
-<PHONE_NUMBER>42 iron Inorganic materials 0 description 2
- <<<<<<< HEAD XEEYBQQBJWHFJM-UHFFFAOYSA-N iron Chemical compound data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnID4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgeD0nMTM5LjQ5MycgeT0nMTU3LjUnIHN0eWxlPSdmb250LXNpemU6MTVweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWFuY2hvcjpzdGFydDtmaWxsOiMwMDAwMDAnID48dHNwYW4+RmU8L3RzcGFuPjwvdGV4dD4KPC9zdmc+Cg== data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyA+CjwhLS0gRU5EIE9GIEhFQURFUiAtLT4KPHJlY3Qgc3R5bGU9J29wYWNpdHk6MS4wO2ZpbGw6I0ZGRkZGRjtzdHJva2U6bm9uZScgd2lkdGg9Jzg1JyBoZWlnaHQ9Jzg1JyB4PScwJyB5PScwJz4gPC9yZWN0Pgo8dGV4dCB4PSczMS40OTI4JyB5PSc0OS41JyBzdHlsZT0nZm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7dGV4dC1hbmNob3I6c3RhcnQ7ZmlsbDojMDAwMDAwJyA+PHRzcGFuPkZlPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N =======<PHONE_NUMBER>14 iron Substances >>>>>>> nc_dev 0 description 2
- <<<<<<< HEAD<PHONE_NUMBER>14 iron Substances ======= XEEYBQQBJWHFJM-UHFFFAOYSA-N iron Chemical compound data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnID4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgeD0nMTM5LjQ5MycgeT0nMTU3LjUnIHN0eWxlPSdmb250LXNpemU6MTVweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWFuY2hvcjpzdGFydDtmaWxsOiMwMDAwMDAnID48dHNwYW4+RmU8L3RzcGFuPjwvdGV4dD4KPC9zdmc+Cg== data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyA+CjwhLS0gRU5EIE9GIEhFQURFUiAtLT4KPHJlY3Qgc3R5bGU9J29wYWNpdHk6MS4wO2ZpbGw6I0ZGRkZGRjtzdHJva2U6bm9uZScgd2lkdGg9Jzg1JyBoZWlnaHQ9Jzg1JyB4PScwJyB5PScwJz4gPC9yZWN0Pgo8dGV4dCB4PSczMS40OTI4JyB5PSc0OS41JyBzdHlsZT0nZm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7dGV4dC1hbmNob3I6c3RhcnQ7ZmlsbDojMDAwMDAwJyA+PHRzcGFuPkZlPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N >>>>>>> nc_dev 0 description 2
-<PHONE_NUMBER>03 mixtures Substances 0 description 2
- <<<<<<< HEAD<PHONE_NUMBER>11 modification Methods =======<PHONE_NUMBER>48 modification Effects >>>>>>> nc_dev 0 description 2
- <<<<<<< HEAD<PHONE_NUMBER>48 modification Effects =======<PHONE_NUMBER>11 modification Methods >>>>>>> nc_dev 0 description 2
- <<<<<<< HEAD<PHONE_NUMBER>20 stainless steel Inorganic materials =======<PHONE_NUMBER>35 stainless steel Substances >>>>>>> nc_dev 0 description 2
- <<<<<<< HEAD<PHONE_NUMBER>35 stainless steel Substances =======<PHONE_NUMBER>20 stainless steel Inorganic materials >>>>>>> nc_dev 0 description 2
-<PHONE_NUMBER>00 Ferrotitanium Inorganic materials 0 description 1
-<PHONE_NUMBER>14 Injuries Diseases 0 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N copper Chemical compound data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnID4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgeD0nMTM4LjQ5MycgeT0nMTU3LjUnIHN0eWxlPSdmb250LXNpemU6MTVweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWFuY2hvcjpzdGFydDtmaWxsOiMwMDAwMDAnID48dHNwYW4+Q3U8L3RzcGFuPjwvdGV4dD4KPC9zdmc+Cg== data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyA+CjwhLS0gRU5EIE9GIEhFQURFUiAtLT4KPHJlY3Qgc3R5bGU9J29wYWNpdHk6MS4wO2ZpbGw6I0ZGRkZGRjtzdHJva2U6bm9uZScgd2lkdGg9Jzg1JyBoZWlnaHQ9Jzg1JyB4PScwJyB5PScwJz4gPC9yZWN0Pgo8dGV4dCB4PSczMC40OTM0JyB5PSc0OS41JyBzdHlsZT0nZm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7dGV4dC1hbmNob3I6c3RhcnQ7ZmlsbDojMDAwMDAwJyA+PHRzcGFuPkN1PC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0 description 1
-<PHONE_NUMBER>02 copper Inorganic materials 0 description 1
-<PHONE_NUMBER>49 copper Substances 0 description 1
-<PHONE_NUMBER>94 effects Effects 0 description 1
-<PHONE_NUMBER>28 erosive Effects 0 description 1
-<PHONE_NUMBER>89 fastener Substances 0 description 1
-<PHONE_NUMBER>46 fuel Substances 0 description 1
- -1 iron core Chemical group 0 description 1
-<PHONE_NUMBER>70 limiting Effects 0 description 1
-<PHONE_NUMBER>55 melts Substances 0 description 1
-<PHONE_NUMBER>84 metal Substances 0 description 1
-<PHONE_NUMBER>51 metals Inorganic materials 0 description 1
-<PHONE_NUMBER>28 premature Effects 0 description 1
-<PHONE_NUMBER>87 solids Substances 0 description 1
-<PHONE_NUMBER>36 titanium Substances 0 description 1
- <<<<<<< HEAD<PHONE_NUMBER>19 titanium Inorganic materials ======= RTAQQCXQSZGOHL-UHFFFAOYSA-N titanium Chemical compound data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnID4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgeD0nMTQyLjUnIHk9JzE1Ny41JyBzdHlsZT0nZm9udC1zaXplOjE1cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7dGV4dC1hbmNob3I6c3RhcnQ7ZmlsbDojMDAwMDAwJyA+PHRzcGFuPlRpPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyA+CjwhLS0gRU5EIE9GIEhFQURFUiAtLT4KPHJlY3Qgc3R5bGU9J29wYWNpdHk6MS4wO2ZpbGw6I0ZGRkZGRjtzdHJva2U6bm9uZScgd2lkdGg9Jzg1JyBoZWlnaHQ9Jzg1JyB4PScwJyB5PScwJz4gPC9yZWN0Pgo8dGV4dCB4PSczNC41JyB5PSc0OS41JyBzdHlsZT0nZm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7dGV4dC1hbmNob3I6c3RhcnQ7ZmlsbDojMDAwMDAwJyA+PHRzcGFuPlRpPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N >>>>>>> nc_dev 0 description 1
- <<<<<<< HEAD RTAQQCXQSZGOHL-UHFFFAOYSA-N titanium Chemical compound data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnID4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgeD0nMTQyLjUnIHk9JzE1Ny41JyBzdHlsZT0nZm9udC1zaXplOjE1cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7dGV4dC1hbmNob3I6c3RhcnQ7ZmlsbDojMDAwMDAwJyA+PHRzcGFuPlRpPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyA+CjwhLS0gRU5EIE9GIEhFQURFUiAtLT4KPHJlY3Qgc3R5bGU9J29wYWNpdHk6MS4wO2ZpbGw6I0ZGRkZGRjtzdHJva2U6bm9uZScgd2lkdGg9Jzg1JyBoZWlnaHQ9Jzg1JyB4PScwJyB5PScwJz4gPC9yZWN0Pgo8dGV4dCB4PSczNC41JyB5PSc0OS41JyBzdHlsZT0nZm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7dGV4dC1hbmNob3I6c3RhcnQ7ZmlsbDojMDAwMDAwJyA+PHRzcGFuPlRpPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N =======<PHONE_NUMBER>19 titanium Inorganic materials >>>>>>> nc_dev 0 description 1
-<PHONE_NUMBER>34 vaporization Methods 0 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64G—COSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
- B64G1/00—Cosmonautic vehicles
- B64G1/22—Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
- B64G1/24—Guiding or controlling apparatus, e.g. for attitude control
- B64G1/28—Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect
- B64G1/283—Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect using reaction wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64G—COSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
- B64G1/00—Cosmonautic vehicles
- B64G1/22—Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
- B64G1/24—Guiding or controlling apparatus, e.g. for attitude control
- B64G1/28—Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect
- B64G1/285—Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect using momentum wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64G—COSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
- B64G1/00—Cosmonautic vehicles
- B64G1/22—Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
- B64G1/24—Guiding or controlling apparatus, e.g. for attitude control
- B64G1/28—Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect
- B64G1/286—Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect using control momentum gyroscopes (CMGs)
Abstract
Description
The invention described herein was made by employees of the United States Government and may be manufactured and used by or for the Government of the United States of America for governmental purposes without the payment of any royalties thereon or therefor.
1. Field of the Invention
The present invention relates to a momentum exchange system and, more particularly, to a momentum exchange system that is configured to demise on reentry into the Earth's atmosphere.
2. Description of the Related Art
The increase in recent years in the number of spacecraft occupying frequently used orbits has caused growing international concern over orbital debris. Such debris, including retired spacecraft, as well as spacecraft components, has the potential to damage or destroy other spacecraft in these orbits.
Concern over orbital debris has led to international agreements providing guidelines for end-of-mission disposal of spacecraft. Moreover, the U.S. National Aeronautics and Space Administration (NASA) has put in place policy directives and safety standards governing the generation of debris by spacecraft and end-of-mission spacecraft disposal. In order to limit the risk of personal injury or damage to property on Earth, the NASA directives mandate either a controlled reentry, in which the spacecraft is guided to fall into the ocean, or an uncontrolled reentry and demise of the spacecraft.
There are a number of drawbacks to controlled reentry. A controlled reentry requires additional fuel on the spacecraft and may also require additional propulsion systems to properly position the spacecraft to land in a remote location over the ocean. These factors increase the complexity, weight, and cost of the spacecraft.
Another drawback of controlled reentry relates to fault tolerance. Spacecraft system redundancies, particularly in guidance systems, are required to ensure that operators can maintain control of a spacecraft. When redundancy of one or more spacecraft components is lost during a mission, premature controlled reentry may be required. In those situations, spacecraft that are fully capable of achieving their science or other mission goals are lost.
Spacecraft designed for uncontrolled reentry and demise are not subject to the above-described drawbacks. When such spacecraft have reached the end of their mission, they are actively guided back into the atmosphere, or reenter passively through orbital decay, and safely demise with essentially no debris hitting the ground. Demise of a reentering spacecraft is caused by friction between the spacecraft and the atmosphere. The friction applies a combination of deceleration loads on the spacecraft, which act to break the structure apart, and a tremendous amount of heat, which melts or vaporizes the structural components.
There has been some difficulty, however, in designing spacecraft so that all of the components fully demise. In general, a spacecraft component will survive reentry if its melting temperature is sufficiently high, if it is shielded by other components, or if its shape enables it to lose heat fast enough to keep its temperature below the melting point. A particular spacecraft component that is subject to these effects is the momentum exchange system.
In some spacecraft, the momentum exchange system, which comprises a portion of a spacecraft's attitude control system, provides attitude stability to the spacecraft and allows the execution of slewing maneuvers by storing angular momentum and transferring the angular momentum to the spacecraft. The angular momentum is stored and transferred in momentum exchange systems using a rotating flywheel.
Conventional momentum exchange systems comprise a stainless steel or titanium flywheel having a solid web supporting a relatively massive rim.   Thus, conventional momentum exchange systems utilize materials having a high melting point and contain parts that are shielded within the enclosure, thereby limiting the likelihood of demise on reentry.
In the following description, certain aspects and embodiments of the present invention will become evident. It should be understood that the invention, in its broadest sense, could be practiced without having one or more features of these aspects and embodiments. It should also be understood that these aspects and embodiments are merely exemplary.
To overcome the drawbacks of the prior art and in accordance with the purpose of the invention, as embodied and broadly described herein, one aspect of the invention relates to a momentum exchange system comprising a base, a flywheel rotatably supported on the base, the flywheel comprising a web portion defining a plurality of web openings, and a rim portion, a motor for driving the flywheel, and a cover for engaging the base to substantially enclose the flywheel, wherein the system is configured to demise on reentry.
As used herein, “demise” means to be substantially destroyed, and/or dissipated by melting, vaporization, and/or erosion. Further, as used herein, “reentry” means entering and passing through at least a portion of the Earth's atmosphere from space. The Earth's atmosphere is generally considered to extend from the Earth's surface to an altitude of approximately 120 km.
According to another aspect of the invention, the web portion defines a total web area and the web openings define an open web area, and the open web area is approximately 50% of the total web area.
As used herein, “total web area” means the area of the circle defined by the inner diameter of the rim portion of the flywheel. Further, as used herein, “open web area” means the sum of the areas of the plurality of web openings.
In a further aspect, the open web area is approximately 60% of the total web area. In yet another aspect, the open web area is approximately 70% of the total web area.
Another aspect of the invention relates to a momentum exchange system comprising a base, a housing associated with the base, a flywheel rotatably supported on the housing, wherein the flywheel comprises a material having a melting point below approximately 1500 degrees Celsius, a motor for driving the flywheel, and a cover substantially enclosing the flywheel, wherein the system is configured to demise on reentry.
In a further aspect, the flywheel comprises a material having a melting point below approximately 1000 degrees Celsius. In yet another aspect, the flywheel comprises a material having a melting point below approximately 700 degrees Celsius.
A still further aspect of the invention relates to a momentum exchange system comprising a base, a housing disposed on the base, a flywheel rotatably supported on the housing, the flywheel comprising a web portion defining a plurality of web openings, and a rim portion, wherein the flywheel comprises a material having a melting point below approximately 1500 degrees Celsius, a motor for driving the flywheel, and a cover engageable with the base to substantially enclose the flywheel, wherein the system is configured to demise on reentry.
Aside from the structural and procedural arrangements set forth above, the invention could include a number of other arrangements, such as those explained hereinafter. It is to be understood that both the foregoing description and the following description are exemplary only.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several exemplary embodiments of the invention and, together with the description, serve to explain the principles of the invention. In the drawings,
Reference will now be made in detail to exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
Momentum exchange systems include control moment gyros, momentum wheel assemblies, and reaction wheel assemblies. In control moment gyros, the flywheel runs at constant speed and transfers angular momentum through the rotation of the flywheel about one or more gimbals. Momentum wheel assemblies and reaction wheel assemblies transfer angular momentum by accelerating and decelerating the flywheel. The rotational axis of reaction wheels and momentum wheels, unlike control moment gyros, usually is fixed with respect to the vehicle. A reaction wheel is designed to operate at a zero bias while a momentum wheel is designed to operate at a biased, or nonzero momentum.
The present invention is described and illustrated with reference to a reaction wheel assembly. However, control moment gyros, momentum wheel assemblies, and other systems utilizing flywheels to store and/or transfer angular momentum are considered to be within the scope of the invention.
An embodiment of a momentum exchange system 10 of the present invention is shown in a cross-sectional view in
The system 10 of
The web portion 18 further defines a total web area and the web openings define an open web area. An open web area of various sizes may be used to achieve demiseability in the momentum exchange system of the present invention. In one embodiment, the open web area is approximately 50% of the total web area. In a further embodiment, the open web area is approximately 60% of the total web area. In yet another embodiment, the open web area is approximately 70% of the total web area.
In one embodiment, a flywheel 14 having an inner diameter (with reference to the rim portion 22) of approximately 16 inches and an outer diameter of approximately 17.6 inches was used. This provided a total web area of approximately 200 square inches. Flywheels having other dimensions may also be used.
As discussed above, embodiments of the momentum exchange system 10 of the present invention may utilize materials having relatively low melting points to achieve demiseability. In one embodiment, the flywheel 14 comprises a material having a melting point below approximately 1500 degrees Celsius. By contrast, both titanium and stainless steel have melting points higher than 1500 degrees Celsius. In another embodiment, the flywheel 14 of the present invention comprises a material having a melting point below approximately 1000 degrees Celsius. In yet another embodiment, the flywheel 14 comprises a material having a melting point below approximately 700 degrees Celsius.
In a further embodiment, the flywheel 14 comprises an aluminum alloy. In one embodiment, Al6061-T6 was used. Other materials having a relatively low melting point may also be used, provided that the materials have suitable weight and strength characteristics.
Another embodiment of a flywheel 14A according to the present invention is shown in
In the embodiment shown in
As shown in
A motor 34 for driving the shaft 26 is also disposed within the housing 24. The motor 34 includes a rotor 36 and a stator 38. The rotor 36 comprises a plurality of magnets (not shown) encapsulated in resin and secured to the external surface of the shaft 26. The stator 38, which is secured within the housing 24, comprises an iron core with copper windings (not shown), also encapsulated in resin. The stator model utilized in the embodiment of the momentum exchange system 10 shown in
In the embodiment shown in the drawings, a circuit board 40 containing the control electronics (not shown) for the momentum exchange system 10 is disposed on an interior surface of the base 12. The circuit board 40 has a central opening 42 and is disposed peripherally around the housing 24. Other arrangements for the control electronics may also be used.
In the embodiment shown in
The cover 16 is engageable with the base 12 to substantially enclose the flywheel 14. The cover 16 includes an opening 46 along its periphery to allow the passage of cables (not shown) from the control electronics. Other feed-through arrangements may also be used. There is also a small opening 48 on the flat portion of the cover 16 that serves as a viewing portal during ground operations.
In the illustrated embodiments of the momentum exchange system 10 of the present invention, the cover 16 defines a cover thickness and the web portion 18 of the flywheel 14 defines a web thickness. In some embodiments, the cover 16 may be relatively thin compared to the web portion 18 of the flywheel 14, so that the cover will rapidly demise on reentry. In one embodiment, the cover thickness ranges from approximately 50% to approximately 65% of the web thickness.
In one embodiment, a flywheel 14 having a web thickness of approximately 0.150 inches was used with a cover 16 having a thickness of approximately 0.080 inches. In another embodiment, a flywheel having a variable web thickness was used with a cover 16 having a thickness of approximately 0.063 inches. In that embodiment, the web thickness varied substantially linearly from approximately 0.250 inches near the center to approximately 0.150 inches near the rim 22. Flywheel webs and covers having other thicknesses may also be used.
Further, according to an embodiment of the invention, the base 12 defines a base thickness. In one embodiment, the base thickness is approximately equal to the cover thickness. Thus, the base 12 is also configured to rapidly demise on reentry.
In a another embodiment, the base 12 and the cover 16 comprise a material having a melting point below 700 degrees Celsius. In a further embodiment, the base 12 and the cover 16 comprise an aluminum alloy. Other materials having a relatively low melting point may also be used, provided that the materials have suitable weight and strength characteristics.
The present invention provides a momentum exchange system that may be used with a demiseable spacecraft undergoing uncontrolled reentry. The features of the system, including materials having a relatively low melting temperature, as well as the design and arrangement of the components, contribute to the demise of the momentum exchange system on reentry. One possible scenario of system demise is presented below. The scenario is described with reference to the embodiment of the flywheel shown in
As the spacecraft incorporating the momentum exchange system 10 of the present invention reenters the atmosphere, the cover 16 of the system rapidly demises, due to its relatively low thickness and relatively low melting temperature.
Once the cover 16 has demised, the flywheel 14 is then exposed to the atmosphere and the associated deceleration loads and heat of reentry. The web openings 20 in the flywheel 14 allow the other system components to be exposed while the flywheel 14 is still intact.
The web openings 20, the relatively low web thickness, and the relatively low melting temperature of the flywheel 14 expedite its demise. Once the web portion 18 of the flywheel 14 has demised, the rim portion 22 separates, leaving the housing 24 and the base 12 exposed to the atmosphere.
Next the housing 24 begins to demise. As the end of the housing 24 opposite to the base 12 begins to demise, the motor components are exposed. The rotor 36 and stator 38 lose their encapsulating resin, and the magnets and coils then demise. Substantially simultaneously, the base 12 demises.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure and methodology described herein. Thus, it should be understood that the invention is not limited to the examples discussed in the specification. Rather, the present invention is intended to cover modifications and variations.
Claims (38)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/251,537 US7290737B2 (en) | 2005-09-29 | 2005-09-29 | Nonsurvivable momentum exchange system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/251,537 US7290737B2 (en) | 2005-09-29 | 2005-09-29 | Nonsurvivable momentum exchange system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20070069081A1 US20070069081A1 (en) | 2007-03-29 |
| US7290737B2 true US7290737B2 (en) | 2007-11-06 |
Family
ID=37892682
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/251,537 Active US7290737B2 (en) | 2005-09-29 | 2005-09-29 | Nonsurvivable momentum exchange system |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US7290737B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100225186A1 (en) * | 2009-03-04 | 2010-09-09 | Zhongshan Broad-Ocean Motor Co., Ltd. | Motor for treadmill |
| US20150108280A1 (en) * | 2013-10-18 | 2015-04-23 | Harold James Willard, JR. | Mechanism for stabilizing and creating a variable gravitational field in a toroidal space station |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9354079B2 (en) | 2012-05-21 | 2016-05-31 | Honeywell International Inc. | Control moment gyroscopes including torsionally-stiff spoked rotors and methods for the manufacture thereof |
| US8919213B2 (en) | 2012-05-21 | 2014-12-30 | Honeywell International Inc. | Control moment gyroscopes including rotors having radially-compliant spokes and methods for the manufacture thereof |
| EP3154861A4 (en) * | 2014-06-11 | 2018-01-17 | ST Electronics (satcom&sensor Systems) Pte Ltd | Control moment gyroscope module for satellites |
| US9604736B2 (en) * | 2015-02-12 | 2017-03-28 | NovaWurks, Inc. | Spacecraft actuator wheel with integrated battery and fuel storage |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3348374A (en) * | 1963-11-13 | 1967-10-24 | Schalkowsky Samuel | Sun referenced orienting devices |
| US3767139A (en) * | 1971-06-21 | 1973-10-23 | Us Navy | Spacecraft spin stabilization system |
| US3868072A (en) * | 1967-08-30 | 1975-02-25 | Charles P Fogarty | Orbital engine |
| US3955858A (en) * | 1974-01-03 | 1976-05-11 | Societe Nationale Industrielle Aerospatiale | Satellite momentum wheel |
| US3968352A (en) * | 1974-05-17 | 1976-07-06 | Sperry Rand Corporation | Torque control system for reaction wheel assemblies and the like |
| US4001887A (en) * | 1975-06-06 | 1977-01-04 | Stephen A. Platt | Manual tape apparatus with generator for providing electrical power |
| US4170904A (en) * | 1977-12-12 | 1979-10-16 | The United States Of America As Represented By The Secretary Of The Navy | Single-axis disturbance compensation system |
| US5873285A (en) * | 1997-05-13 | 1999-02-23 | Honeywell Inc. | Modular reaction wheel |
| US6113033A (en) * | 1999-02-04 | 2000-09-05 | Hughes Electronics Corporation | Combined flywheel energy storage and attitude control apparatus for spacecraft |
| US6135392A (en) * | 1998-09-29 | 2000-10-24 | Hughes Electronics Corporation | Spacecraft attitude control actuator and method |
| US6377352B1 (en) * | 1999-03-17 | 2002-04-23 | Honeywell International Inc. | Angular rate and reaction torque assembly |
| US6650418B2 (en) * | 2001-07-27 | 2003-11-18 | Litton Systems, Inc. | High performance fiber optic accelerometer |
-
2005
- 2005-09-29 US US11/251,537 patent/US7290737B2/en active Active
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3348374A (en) * | 1963-11-13 | 1967-10-24 | Schalkowsky Samuel | Sun referenced orienting devices |
| US3868072A (en) * | 1967-08-30 | 1975-02-25 | Charles P Fogarty | Orbital engine |
| US3767139A (en) * | 1971-06-21 | 1973-10-23 | Us Navy | Spacecraft spin stabilization system |
| US3955858A (en) * | 1974-01-03 | 1976-05-11 | Societe Nationale Industrielle Aerospatiale | Satellite momentum wheel |
| US3968352A (en) * | 1974-05-17 | 1976-07-06 | Sperry Rand Corporation | Torque control system for reaction wheel assemblies and the like |
| US4001887A (en) * | 1975-06-06 | 1977-01-04 | Stephen A. Platt | Manual tape apparatus with generator for providing electrical power |
| US4170904A (en) * | 1977-12-12 | 1979-10-16 | The United States Of America As Represented By The Secretary Of The Navy | Single-axis disturbance compensation system |
| US5873285A (en) * | 1997-05-13 | 1999-02-23 | Honeywell Inc. | Modular reaction wheel |
| US6135392A (en) * | 1998-09-29 | 2000-10-24 | Hughes Electronics Corporation | Spacecraft attitude control actuator and method |
| US6113033A (en) * | 1999-02-04 | 2000-09-05 | Hughes Electronics Corporation | Combined flywheel energy storage and attitude control apparatus for spacecraft |
| US6377352B1 (en) * | 1999-03-17 | 2002-04-23 | Honeywell International Inc. | Angular rate and reaction torque assembly |
| US6650418B2 (en) * | 2001-07-27 | 2003-11-18 | Litton Systems, Inc. | High performance fiber optic accelerometer |
Non-Patent Citations (2)
| Title |
|---|
| http://www.ueet.nasa.gov/materials/elements.php. * |
| Ithaco Space Systems, T-Wheel Reaction/Momentum Wheel Assemblies Brochure, Jan. 1996, Ithaca, NY, USA (4 pages). |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100225186A1 (en) * | 2009-03-04 | 2010-09-09 | Zhongshan Broad-Ocean Motor Co., Ltd. | Motor for treadmill |
| US8093773B2 (en) * | 2009-03-04 | 2012-01-10 | Zhongshan Broad-Ocean Motor Co., Ltd. | Motor for treadmill |
| US20150108280A1 (en) * | 2013-10-18 | 2015-04-23 | Harold James Willard, JR. | Mechanism for stabilizing and creating a variable gravitational field in a toroidal space station |
Also Published As
| Publication number | Publication date |
|---|---|
| US20070069081A1 (en) | 2007-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6359357B1 (en) | Combination radial and thrust magnetic bearing | |
| AU664984B2 (en) | Methods and apparatus for energy storage | |
| Bitterly | Flywheel technology: past, present, and 21st century projections | |
| Angel | Feasibility of cooling the Earth with a cloud of small spacecraft near the inner Lagrange point (L1) | |
| US5847480A (en) | Passive magnetic bearing element with minimal power losses | |
| US6873235B2 (en) | Shear force levitator and levitated ring energy storage device | |
| US5154777A (en) | Advanced survivable space solar power system | |
| US6138527A (en) | Methods for making a flywheel | |
| DE10042962C1 (en) | Magnetic bearings for supporting a rotating shaft using high-T¶c¶ superconductor material | |
| EP0821462B1 (en) | An energy storage and conversion apparatus | |
| US20030042812A1 (en) | Passive magnetic bearing for a horizontal shaft | |
| EP0163589A2 (en) | Tandem bearing construction | |
| AU745857B2 (en) | Flywheel battery system with active counter-rotating containment | |
| US5729065A (en) | Magnetic bearing cell with rotor and stator | |
| US20060181168A1 (en) | Pump motor with bearing preload | |
| US6734595B2 (en) | Electric rotating machine having structure of shifting stator position by predetermined angle | |
| EP0883925B1 (en) | Flywheel energy accumulator | |
| US6426576B1 (en) | Electric machine having rotor adapted for high speed | |
| US5831365A (en) | Detachable magnet carrier for permanent magnet motor | |
| US20030184173A1 (en) | Integral driveline support and electric motor | |
| DE60109447T2 (en) | Device for generating electricity from wind energy | |
| JP3046533B2 (en) | Bearing unit | |
| AU2007302602B2 (en) | An energy storage device and method of use | |
| JP2006513687A (en) | Energy storage flywheel with minimum power magnetic bearing and motor / generator | |
| US6710489B1 (en) | Axially free flywheel system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: ADMINISTRATOR OF THE NATIONAL AERONAUTICS AND SPAC Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RODER, RUSSELL;AHRONOVICH, ELIEZER;DAVIS III, MILTON C.;REEL/FRAME:017117/0824 Effective date: 20050928 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| REMI | Maintenance fee reminder mailed | ||
| FPAY | Fee payment |
Year of fee payment: 8 |
|
| SULP | Surcharge for late payment |
Year of fee payment: 7 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |


When you trade a large portfolio of assets, you may want to send orders in batches and not wait for the response of each one. To send asynchronous orders, set the asynchronous
argument to true.
MarketOrder("IBM", 100, asynchronous: true);
self.MarketOrder("IBM", 100, True)


What Is This Thing?
This is a sample OCX control that demonstrates how to use the help files generated for you by the Microsoft Developer Studio Control Wizard. This sample OCX also demonstrates how to use tooltips in an OCX control. At runtime, the control is capable of displaying a tooltip for itself and showing help for itself in response to help messages being sent to it, usually as a result of the user pressing F1 while the control has the focus. The control just displays 3 strings in its client area. The text for these strings is entered in the General property page for this control. OCX controls can be embedded in a client application to perform some specific task. Using OCX controls, a developer can add functionality to their program simply by embedding an OCX control, saving them from having to actually write the code required to add the desired functionality to their program.
This control also enables the Help button for the containerís properties dialog box if it is supplied by the container. Pressing the property dialog help button will display this help file.


The eLibrary® ::: CS472 Demo WebApp project
Home
Virtual Tour
Books
Welcome, Guest
Books in our Collection
Add New Book
#
ISBN
Title
Overdue Fee
Publisher
Date Published
New Book Form
×
*Book Title
*ISBN
*Overdue Fee per day
Enter a valid decimal amount; in dollars and cents; no comma (e.g. 1.99)
*Publisher
*Date Published


Q1. Translate wir gehen nie zu der to English we will play today we are going to market we never go to school without the child am going to shave Q2. Translate ich kann kommen to English i am going let watch television i can come i am coming Q3. Translate ich kann nicht ihn kommen to English i cannot come without him yesterday was my birhtday shine my shoe for me dont let him in Q4. Translate ich will dem mann etwas zeigen to English i can cook well the man is coming you look awsome i want to show something to the man Q5. Translate wir wollen das buch nicht kaufen to English i cannot buy the book this guy is too troublesome we don't want to buy the book. books are fun to read Q6. Translate Du musst in der schule bleiben to English you must stay in the house you must sleep in the house you must stay in the school do not eat all the bread Q7.  Translate er spricht mit dem kind manchmal to English he speaks to children always he talks to the sometimes he speaks with the child sometimes the is always talking to children Q9. Translate wir sprechen gut Deutsch to English we speak good english they speak German well we speak the language well we are satisfied with german language Q10. Translate wem gibst du das geld? to English to whom do i give the money why should i give you the money where did you get the money how did you get the money Q11. Translate er hilft mir manchmal to English he helps me almost everyday he helps me sometimes he is a good boy let me help you with your work Q12. Translate wann kommst du? to English where are you coming from? why are you coming? who are you coming with when are you coming Q13. Translate wir kommen nicht zu euch to English they are not going we are not going anywhere we are not coming to you we will come eachday Q14.  Q15. Translate ich spreche mit einem freund to English i am speaking with a friend we are speaking to a friend i am speaking to my friend they are talking to my friend Q16. Translate er ist einem auto mit einer frau to English i am in a car with a friend we are in a car with your friend i am in a car with a woman he is in a car with a woman Q17. Translate du kannst diesen mann in dem haus finden to English go and call the man in the house go and see the man in the house you can find this man in the house why is this man in the house Q18. Translate wir wollen dieses auto kaufen to English we will buy this car we are going to buy a car we want to buy this car we will like to buy this car Q19. Translate niemand will mit diesem mann arbeiten. to English somebody want to work with this man everybody want to work with this man nobody wants to work with this man all of them want to work with this man. Q20. Translate Es gibt nur einen Gott. to English where is our God whos is God there is no God there is only one God Q21. Translate iche habe einen apfel to English let buy an apple do you have an apple i have an apple he has an apple Q22. Translate deine schule ist nitcht weit von heir to English your school is not far from here the school is not far from here our school is not far from here their school is not far from here Q23.    Translate was versuchst du zu machen? to English what are you doing what are you trying to do what were you doing what is he doing Q27. Translate die frauen wollen tanzen to English the woman want to dance their friend is here the man is walking their friend was talking Q28. Translate diese familie hat zwei häuser to English this family has two houses their family has two houses these families has two houses that family has two houses Q29. Translate ich will die kinder finden to English i like the children i saw the children going i want to find the children where are the children Q30. Translate was machst du gerne? to English what is your gender what do you like to do what is your number where is the girl Q31. Translate es ist schwer mit den frauen zu sprechen to English it is hard to learn from a friend it is hard to find a friend it is hard to speak to a woman it is hard to spek with the women Q32. Translate wir wollen reich werden to English we want to become rich we want to see the work we are looking for the rich man where is the rich woman Q33.   Translate wir werden fur euch arbeiten to English he will leave with me we will work for you we will take one each where is te food for the child Q36. Translate wie werden sie kommen? to English how will they come? when are they coming? why are they coming? who is coming? Q37. Translate niemand wird das wissen to English somebody will see it nobody will know this all of them were here someone is waiting Q38.  Q39. Translate ich lese diese buch to English i am reading the book i have a bunch of it where is that bench i like to read a book Q40. Translate er liest in dem bett. to English he reads in bed he sleeps early he has a bed he slept in the bed Q41. Translate wie lange wirst du heir leben? to English how long have you been here how did you see here how long will you live here we are living here Q42. Translate ich weiß noch nicht to English i dont know him i dont know yet i knw him before he dont know me Q43.  Translate sing mire ein lied to English sing a song for me sing a song to me sing a nice song singing is fun Q46. Translate lern dieses wortt to English love the words learn this word like this letter love this word Q47. Translate such das buch to English look for the book learn the book i like this book what is this book about Q48. Translate es ist in sinem zimmer to English look for your room it is in the room look at my room it is my room Q49.


The row between Twittery Corbynistas and the BBC over Jeremy Corbyn's hat—a row some have dubbed Hatgate – reminded me that during the late 1960s, at the height of the Cold War, my father sported a Russian-style winter hat. This led some neighbours on our council estate to surmise that my Pa was a Soviet spy. The fact that he regularly popped in to the newsagent's to pick up a copy of the Morning Star probably added to their suspicions. Unfortunately I don't have a photograph, doctored or otherwise, of my father in his Communist headgear.
One of the amusing things about all the nitwit fans losing their marbles over supposed BBC perfidy is that there must be thousands of photographs of Corbyn wearing self-styled “revolutionary” attire. Remember that the dear leader's politics are still those of an earnest teenager circa 1968. Before becoming Labour leader, he was regularly pictured wearing Leninist workers' caps or one of those scarves the Palestinian death cult maniacs are so fond of.
OK, now I'm off to the political re-education camp to learn the errors of my ways.


MAYBE...MAYBE NOT A film review by Edwin Jahiel Copyright 1996 Edwin Jahiel
MAYBE... MAYBE NOT (DER BEWEGTE MANN) (Germany,1994) Written & directed by Sonke Wortmann, based on the comic books "Der Bewegte Mann" and "Pretty Baby" by Ralf Koning. Photography, Gernot Roll. Sets, Monika Bauert. Production manager, Norbert Preuss. Costumes, Katharina Von Martius. Music, Torsten Breuer. Songs by Palast Orchester. Producer, Bernd Eichinger. Cast : Til Schweiger (Axel), Katja Riemann (Doro), Joachim Krol (Norbert), Rufus Beck (Waltraud), Antonia Lang (Elke), Armin Rohde (Horst), et al. An Orion Classics release. In German with subtitles. 93 min. Rated R (most explicit sex talk)
My best friends are Inuit, but among the other best friends some are German, of the post W.W.II generations. I don't want to hurt them, but it is a well-known fact that, at least in the area of cinema, "German Humor" is an oxymoron. The dictionary definition of this word is "A rhetorical figure in which incongruous or contradictory terms are combined, as in a deafening silence and a mournful optimist." Or, as some slanderers put it "military intelligence."
Given the huge historical role of pre-Nazi German cinema and, starting in the 1960s, the quality of the New or Young German cinema, it is amazing that German comedy has been so low on the international totem pole. There have been very few exceptions, and even then nothing that could place German comedy at a rocket's throw of American, U.K., Italian, Spanish, Japanese, Yugoslav, Czech, Hungarian, Irish, Senegalese, Australian, etc. comedies.
Now comes "Maybe..." which opened in Germany around September 1994, became a monster hit there, made locally a cult figure of its main actor Til Schweiger ... and took two years to cross the Atlantic. Will it finally break through the humor barrier for Germany?
The movie opens charmingly. In a cabaret, couples are dancing to songs of the 1920s and 1930s, including "Arme Gigolo." The sounds, style and ambiance almost fool you into thinking that the setting is way back when. Then comes the shock of modernization.
Axel, a hunk of a waiter, exchanges glances with a dancing woman.As soon as that song is over, the two of them are found in the toilet, copulating with energy. (Interesting how the other film I review this week, "Feeling Minnesota," has an almost identical scene at the start).
In the next cubicle, Doro, Axel's live-in girlfriend, hears the commotion, stands up on the seat and tells Axel, who has cheated on her repeatedly, that this is the end and that he's out of her apartment.
Seeking a temporary lodging, Axel fails repeatedly.
Their talk is graphic, explicit, specific and detailed to an extent that I cannot recall from any other film. It also Teutonically serious, which, depending on your attitude, can make this funny, ludicrous or plain coarse. The movie is interspered with very frank language which includes a minute descripton of a gay man's one and only experience with a woman. The R-rating means a hard R, but on the other hand, there are no same-sex visuals anywhere.
Straight Axel becomes immediately the not-at-all-obscure object of the gays' desire. Doro, in revenge, tries to make out with a man, but cannot (an ugly scene where the man insults Doro). Axel is taken to a party of drag queens gotten up to the limit. He becomes everyone's dream-boy, takes everything in stride, is not especially shocked. On the contrary, he looks around amusedly but not ironically, even strikes a friendship with quiet, sweet and rather timid Norbert.
The party, like much of the film, is shot in those garish colors that German cinema often favors. Drunk by evening's end, Axel accepts Norbert's hospitality until he finds something. There is no sex between the two. When, the next morning, Norbert and his other apartment -mates are shown, it's a total transformation. In their business suits, and without any queer mannerisms, they are just ordinary citizens.
Axel's peregrinations continue while Doro finds out she is pregnant by Axel and won't have any of her co-workers advice to get rid of the baby. Axel and Norbert go to pick up Axel's stuff from Doro's apartment. In an intricate way that cannot be described simply, the two men find themselves respectively semi-naked and fully naked. Doro's impromptu return (how dumb can the man be?) panics the new friends. Discovering Norbert in a closet and in his birthday suit, she concludes the inevitable. Yet, what with Axel's fumbled protests, the nagging doubt remains. Is he bisexual, gay or straight? Maybe... maybe not.
This theme is carried to the end.  The movie changed this into making Axel a straight who gets embroiled in a sexual farce. In the hard-to- translate German title, "bewegt" means "moved," as when someone crosses and recrosses the boundary between straight and gay.
The plot thickens in classic bedroom-farce fashion, with coincidences, confusions and quid pro quos that we accept willingly. It leads to a reconciliation and to the wedding of Axel and 9-month pregnant Doro. New complications arise when Axel and former high school lover Elke meet and make a date that eventually moves to Norbert's apartment. Axel pretends it is his but says things like "The bathroom? It is over there -- I think."
More farce involves vegetarian Norbert's new companion, a butcher who justifies the saying "Never ask how sausage is made," and other inventions. Predictably, the birth of the child (with additional comic mix-ups), brings a happy ending.
The movie has a valid subject, the possibility of friendship between straights and gays.  But the story-line is uneven and meandering, the humor is adolescent bathroom stuff. The new darling of the German masses, Til Schweiger, as Axel is pretty much of a dimwit stud.
The movie lacks anything approaching subtlety. Acting, situations and most characters are broad, done bluntly and heavily. Where calming pauses are needed, we get near-hysteria.  Where wit is called for, we get a mix of lead and concrete. Whether all this is compensated by a number of laughs and insights is for each viewer to decide.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


[gecode-users] Constant view disposer
Gustavo Gutierrez
gustavo.ggutierrez at gmail.com
Sat Aug 2 18:41:48 CEST 2014
Dear all,
I am well aware of the disposal mechanism implemented in geocode for the
variable implementations that require to be explicitly disposed. Actually I
am using it for a variable implementation that uses some reference counting
mechanism. I was wondering if there is some kind of disposal support for
constant views.
To be more precise, a constant view in my case has an attribute which is
reference counted. I need its counter to be decremented when the view gets
destroyed (or disposed). I was looking in the documentation for a dispose
method. Something similar to what exists in RelVarImpBase. It is quite
probable that I am missing something and hence I would like any help on
this.
Kind regards,
--
Gustavo Gutierrez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20140802/bb35a9ab/attachment.html>
More information about the users
mailing list


Click for the code of this post in a Plnkr
Imagine you have an Angular service:
This is our main app config:
Now, you want to write a simple unit test that ensures both methods on your service actually make a GET
request.
This will fail. You will see the following:
This confused me. Why was $httpBackend trying to fetch the template on our main route?
The answer lies in the Angular docs:
Request expectations provide a way to make assertions about requests made by the application and to define responses for those requests. The test will fail if the expected requests are not made or they are made in the wrong order.
“Wrong order”. Angular’s $httpBackend service expected template.html
as the first $http request, yet the unit test expects the account_details.json
request to be the first.
So this means, we need to satisfy the GET
for template.html
before we run our tests.
Here’s the problem with the approach above. What if we have a resolve on our main app route as well?
Do we really want to have this in every test file when we need to test $http?
My solution was to create a helpers.js
file that lives in the testing folder. I create a global called utils
:
Now in each beforeEach
, I call utils.appInitResolve(httpBackend)
. Now if our resolve considerations change, we can update them in one file rather than crowd all the beforeEach blocks.


Learning about JavaScript, AngularJS, and more as I go
BlocJams is an online music library to store and play music.
November 12, 2017