structure_cem88v.spec.ts 1.90 KiB
/// <reference path="../../node_modules/@types/jasmine/index.d.ts" />
import { StructureCem88v, RectangularStructureParams } from "../../src/structure/structure_cem88v";
import { Result } from "../../src/base";
import { precDigits } from "../nubtest";
let structPrm: RectangularStructureParams = new RectangularStructureParams(1, 1, 1, 2, 0.6, 0);
let structTest: StructureCem88v = new StructureCem88v(structPrm, true);
describe('Class StructureCem88v: ', () => {
    function itCalcQ(structTest:StructureCem88v, h1:number, W:number, Q:number) {
        it('Q(h1='+h1+',W='+W+') should be '+Q, () => {
            structTest.prms.h1.v = h1;
            structTest.prms.W.v = W;
            expect(structTest.Calc('Q').vCalc).toBeCloseTo(Q,precDigits);
        });
    xdescribe('Calcul Q avec W croissant: ', () => {
        let W: number[] = [0.000000,0.100000,0.200000,0.300000,0.400000,0.500000,0.600000,0.700000,0.800000,0.900000,1.000000,1.100000,1.200000,1.300000];
        let h1: number = 1.200000;
        let Q: number[] = [0.000000,0.808918,1.114333,1.234240,1.392204,1.829748,2.225472,2.575336,2.873893,3.113250,3.280545,3.349403,3.149324,3.149324];
        for(let i = 0; i < Q.length; i++ ) {
            itCalcQ(structTest, h1, W[i], Q[i]);            
    });
    describe('Calcul Q en charge avec h1 croissant: ', () => {
        let W: number = 0.8;
        let h1: number[] =[1.05,1.3,1.5];
        let Q: number[] =[1.365897,3.623277,4.214572];
        for(let i = 0; i < Q.length; i++ ) {
            itCalcQ(structTest, h1[i], W, Q[i]);            
    });
    xdescribe('Calcul Q a surface libre avec h1 croissant: ', () => {
        let W: number = Infinity;
        let h1: number[] =[1.100000,1.500000];
        let Q: number[] =[2.086781,5.207945];
        for(let i = 0; i < Q.length; i++ ) {
            itCalcQ(structTest, h1[i], W, Q[i]);            
    });
});