BEFORE THE NATIONAL GREEN TRIBUNAL (WESTERN ZONE) BENCH, PUNE MISC. APPLICATION No. 607 OF 2013 IN APPEAL NO.77 OF 2013 CORAM: Hon'ble Shri Justice V.R. Kingaonkar (Judicial Member) Hon'ble Dr. Ajay A. Deshpande (Expert Member) B E T W E E N: 1. Shri. Arvind V. Aswal. S/o Vijaybharat U. Aswal, 10, Mohmd. Ali Chawl, Sai Chowk, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 2. Smt. Sandhya S. Kulkarni, Room No.3, Kissan Avati chawl, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 3. Smt. Sumitra A. Nagi, w/o Late Shri. Anandsingh K. Nagi Room No.10, Rawal Chawl, Sai Chowl, Shashri Nagar Balrajeshwar Road, Mulund (west) Mumbai 400 080. 4. Smt. Sakhubai D. Landge W/o Late Shri. Dattu K. Landge, Room No.8, Rawal Chawl, Shashri Nagar, Balrajeshwar Rd, Mumbai (West), Mumbai-400 080. 5. Smt. Shakuntala, G. Bhuvad Room No.2, Kasar Chawl, Shashri Nagar, Balrajeshwar Road, 1 (J) Misc.Appln. No.607 of 2013 Mulund (west) Mumbai 400 080. 6. Smt. Meena S. Lohar Room No.2, Kasar Chawl, Shashri Nagar, Balrajeshwar Road, Mulund (west) Mumbai 400 080. 7. Smt.Laxmi K. Manjrekar Room No.7, Transit Camp, Shashri Nagar, Balrajeshwar Road, Mulund (west) Mumbai 400 080. 8. Shri. Hanuman T. Jagdale Room No.7, Transit Camp, Shashri Nagar, Balrajeshwar Road, Mulund (west) Mumbai 400 080. 9. Shri. CHudappa K. Lohar, Room No.4, Mohmd. Ali Chawl, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 10.Shri. Mukund B. Landge Room No.5,Azad Chawl, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 11.Shri. Manmohan N.Nalawade Room No.2, Ram Pyare Chawl, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 12.Smt. Rukhmani Takkar w/o Late Ganpat S. Takkar Room No.3,Jagdale Chawl, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 13.Shri. Vinayak V. Bane S/o Late Smt. Vasanti V. Bane Room No.11, Kasar Chawl, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 2 (J) Misc.Appln. No.607 of 2013 14.Shri. Vinod S. Padiyar S/o Sakharam. J. Padiyar Room No.1, Jangam Chawl, Sai Chowk, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 15.Shri. Khalid Ahmed Bakshulla Ansari S/o Late Shri. Bakshulla Wajidali D/105, 1st Floor, Sai Sadan, Shri. Pandit SRA CHS, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 16.Shri. Santosh Tukaram Kore S/o Tukaram VItthal Kore Room No.4, Kadam Chawl, Shashtri Nagar, Balrajeshwar Road Mulund (w) Mumbai-400 080. 17. Shri. Prabhakar Hanamant Jagdale R.No./1, Jagdale Chawl, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 18. Smt. Suman Vitthal Pangare W/o Shri. Vitthal Haribhau Pangare Room No.9, Manubhai Chawl, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 19. Shri. Anant Dadu Kamble Room No.5, Kasar Chawl, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 20. Shri. Mohan Vishwanath Talekar S/o Shri. VIshwanath Abaji Talekar Kasar Chawl, Shashtri Nagar, Bal Rajeshwar Road Mulund (West) Mumbai-400 080. 21. Smt. Rabudevi Bahadursingh Vishwakarma W/o Late Shri. Bahadursingh T. VIshwakarma Room No.9, Rawal Chawl, 3 (J) Misc.Appln. No.607 of 2013 Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 22. Shri. Surendra Harinath Yadav S/o Shri.Harinath G. Yadav D/303, 3rd Floor, Sai Sadan, Shree Pandit SRA CHS, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 23. Shri. Uthman Krishanan Panicker No.8, Manubhai Chawl, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 24. Shri. Rajendra S. Lohar S/o Late Smt. Chabidevi S. Lohar R.No.1, Mohammadali Chawl, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 25. Shri. Manoj Vijaybharat Aswal No.9, Mohammadali Chawl, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 26. Shri. Bhagwan Ramchandra Sabat No.7, Mohammadali Chawl, Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. ......Applicants AND 1. ARIHANT REALTORS 101, Nilkanth Nagar, BPS Cross Road, Opp. Bank of India. Mulund (w), Mumbai-400 080. 2. Member Secretary, State Level Impact Assessment Authority, 217, 2nd Floor, Ministry of Environment, Mantralaya Mumbai-400 032. 4 (J) Misc.Appln. No.607 of 2013 3. Member Secretary, State Level Expert Appraisal Committee 217, 2nd Floor, Ministry of Environment, Mantralaya Annexe, Mumbai-400 032. 4. Ms. Valsa Nair Singh, Secretary Environment, Govt. of Maharashtra 217, 2nd Floor, Mantralaya Annexe, Mumbai-400 032. 5. The State of Maharashtra Through Its Environment Department, Mantrayala, Mumbai-400 032. 6. Slum Rehabilitation Authority, 5th Floor, Griha Nirman Bhavan, Bandra (East) Mumbai-400 051. 7. Pandit (SRA) Co-operative Housing Society Shashtri Nagar, Bal Rajeshwar Road Mulund (w) Mumbai-400 080. 8. Union of India Through its Secretary, MoEF, New Delhi. .....Respondents Counsel for Applicants Mr. Tushar Kochale, Counsel for Respondent(s): Mr. P.B.Mahabal, for Respondent No.1. Mr.D.M.Gupte, with Ms, Supriya Dangre, for Respondent Nos 2 to 5 Mr. Abhay Parab, for Respondent No.7. Date: 13th January, 2014 J U D G M E N T
1. This is an Application filed by the Appellants for condonation of delay in filing of the Appeal under Section 16 of the National Green Tribunal Act, 2010. They submit 5 (J) Misc.Appln. No.607 of 2013 that they have acted vigilantly and the Appeal is preferred within the timeframe, though there is delay of 7days caused due to certain justifiable grounds, and as such, they seek condonation of delay. The Appellants are hereafter referred to as "Applicants". They filed Appeal No.77 of 2013, being aggrieved by the order of Environment Clearance (EC) dated 20th February, 2013, passed by the State Environment Impact Assessment Authority (SEIAA). The SEIAA, granted EC to the Respondent No.1 (M/s Arihant Realtors) for construction project of the Respondent No.7, Pandit (SRA) Co-operative Housing Society Ltd.
2. Briefly stated, the background facts of the case are that there was proposal of "Pandit (SRA) CHS Ltd", Residential cum Commercial Project, under the Slum Rehabilitation Authority's Development Scheme. The housing project was to be undertaken on plot bearing CTS No.4/6(pt), 4/7(pt), 7,7/1 to 3, 9(pt), 9/1 to 4, 10(pt) of village Mulund (w) Mumbai. The total plot area is 7159.40 sq mtr(FSI: 19573.59 M.Sq. + Non FSI: 19868.5 M.Sq ). It is not, however, necessary to give all the details of the Project. It would suffice to state that the Project was duly considered by the SEIAA, in accordance with the MoEF Notification dated 14th September, 2006, on basis of Application, conditional EC was granted on 20-2-2013, submitted by the Project Proponent i.e. the Respondent No.1. The Applicants objected to the proposed Project on 6 (J) Misc.Appln. No.607 of 2013 various grounds. The Applicants claim to be the members of "Pandit (SRA) Co-operative Housing Society, where redevelopment is proposed to be carried out. They allege that the Project Proponent commenced the Project activities even before the EC was granted. One of them by name Shri. Vinod Padiyar, issued a Notice dated 11th February, 2013, under Section 19(b) of the Environment (Protection) Act, 1986, for filing of a criminal complaint of which a copy was given to the Director (Environment). He received reply from the Deputy Director, Dr. B.N.Patil, vide communication dated 10th April, 2013 that the Project Proponent was called upon to send a copy of the EC. The development project is sought to be illegally carried out on the plot, which is declared as 'Slum Area' under the provisions of Maharashtra Slum Areas (Improvement, Clearance and Redevelopment) Act, 1971 and the project property is declared as slum on private land under Section 4(1) of the Maharashtra Slum Areas (I.C.R) Act, 1971. The Project Proponent completed the construction work of Wings 'B' 'C' 'D' Buildings, as per LOI, without obtaining prior EC and committed various lapses. The Applicants have given elaborate account of illegality and lapses committed by the Project Proponent in the Memorandum of their Appeal.
3. By filing reply affidavit, Respondent No.1 (Project Proponent- Arihant Realtors), resisted the Appeal on various grounds. Amongst those grounds, one of the ground put 7 (J) Misc.Appln. No.607 of 2013 forth by the Project Proponent, is that the Appeal is barred by limitation. The Project Proponent (Respondent No.1), pointed out that the EC was granted on 20th February, 2013 and its knowledge was immediately gained by the Appellants/Applicants, because that was put on the website of the Environment department. It is further contended that the Respondent No.1, issued advertisement in the local Newspapers, as per the procedure laid down in the MoEF Notification dated 14th September, 2006, on 30th and 31st May, 2013. According to the Respondent No.1, since the Appeal is filed in July, 2013, it is beyond the prescribed period of limitation, and as such, is liable to be dismissed on that ground itself. The Respondent No.1, urged to decide the issue of limitation as a preliminary issue and dismiss the Appeal, since it is barred by limitation. The Respondent No.1, submitted that the Appeal cannot be entertained, because this Tribunal has no power to entertain the same, beyond the period of Ninety (90) days, because even after including expansion period of sixty (60) days, the outer limit will end on 21st May, 2013.
4. Above detailed reply affidavit was filed by the Respondent No.1 on 16th September, 2013. In the meanwhile, present Misc Application No.607 of 2013, was filed by the Applicants for condonation of delay.
5. According to the Applicants, after the Notice dated 11th February, 2013, issued for prosecution under Secton 8 (J) Misc.Appln. No.607 of 2013 19(b) of the Environment (Protection) Act, they had received reply from the Director, Environment Department that the copy of EC was called for from the Project Proponent and as such, they laboured under impression that till that date the EC was not granted. They had no knowledge of the EC till 1st April, 2013, in view of the communication issued by the Director, Environment Department, Maharashtra. They submitted that on 22nd April, 2013, their premises were demolished by the Competent Authority under police protection. They filed a complaint dated 22nd April, 2013, with the office of Deputy Collector (ER) Mumbai, alleging that the premises were illegally demolished. They visited the office of SRA on 30th April, 2013. They were provided with copy of the EC letter dated 20th February, 2013, during such visit and were told that further details were available on the website of the Environment Department. Thus, for the first time, they came to know about the grant of impugned EC on 30th April, 2013. They approached the Counsel in Mumbai for filing of the Appeal without any delay. The Counsel prepared a draft of the Appeal and sent it to the National Green Tribunal (PB) New Delhi on 20 th May, 2013. The Registry of the NGT, informed that the Memorandum of Appeal was required to be filed, in accordance with the format as per the National Green Tribunal (Practices and Procedure) Rules, 2011. Thereafter, the Applicants approached the Counsel in Delhi and 9 (J) Misc.Appln. No.607 of 2013 arranged for filing appeal in the proper format. They have come out with a case that there is no intentional delay. They further submitted that they are likely to suffer if the delay is not condoned and that they were kept in dark about the grant of EC. Consequently, they urged for condonation of marginal delay of seven (7) days in filing of the Appeal.
6. We have heard Learned Counsel for the contesting parties. We have perused the material placed on record. The fact that the SEIAA, issued a letter dated 20th February, 2013, granting the EC for the development project is conspicuous. The real question is whether the concerned stakeholders were given due information regarding grant of the EC? If so, when the communication was made to them. The next question is as to whether the Applicants have made out a case to show sufficient cause for the purpose of condonation of delay, as required under Section 5 of the Limitation Act, read with proviso appended to Section 16 of the National Green Tribunal Act, 2010?
7. Before we proceed to consider merits of the rival contentions, it would be appropriate to reproduce some of the conditions stated in the EC, which the Project Proponent was required to comply with.
"(v) "Consent for Establishment" shall be obtained from Maharashtra Pollution Control Board under Air and Water Act and a copy shall be submitted to the Environment 10 (J) Misc.Appln. No.607 of 2013 department before start of any construction work at the site.
(xlix) The project manager shall advertise at least in two local newspapers widely
circulated in the region around the project, one of which shall be in the Marathi language of the local concerned within seven days of issue of this letter, informing that the project has been accorded environmental clearance and copies of clearance letter are available with the Maharashtra Pollution Control Board and may also be seen at Website at http://envis.maharashtra.govt.in (li) A copy of the clearance letter shall be sent by proponent to the concerned Municipal Corporation and the local NGO, if any, from whom suggestions/representations, if any, were received while processing the proposal. The clearance letter shall also be put on the website of the Company by the proponent.
The condition No. (lii) is as follows:
(lii) The proponent shall upload the status of compliance of the stipulated EC conditions, including results of monitored data on their website and shall update the same periodically. It shall simultaneously be sent to the Regional Office of MoEF, the respective Zonal Office of CPCB and the SPCB. The criteria pollutant levels namely; SPM, RSPM, SO2, NOx (ambient levels as well as stack emissions) or critical sector parameters, indicated for the project shall be monitored and displayed at a convenient location near 11 (J) Misc.Appln. No.607 of 2013 the main gate of the company in the public domain.
8. Thus, it will be explicit that the Project Proponent was under obligation to comply with aforesaid conditions. The Project Proponent himself has come out with a case that the Newspaper publication was made on 30th and 31st May, 2013. So, according to the Project Proponent, the knowledge could be imputed to the stakeholders, in respect of impugned EC, on 30th or least 31st May, 2013. Here, it may be noted that the Applicants presented the Appeal before the National Green Tribunal (PB), New Delhi, for the first time on 7th June, 2013. The Appeal bears stamp of NGT (PB) New Delhi bearing DY No.192 of 2013, dated 7 th June, 2013, though it does not bear the signature of Receiving Officer. If we accept the fact that the presentation of Appeal was, in fact, made on 7th June, 2013, then it will have to be said that the Appeal was filed within period of ninety (90) days from date of communication of the EC.
9. What appears from the record is that the preliminary scrutiny of the Appeal was made by the Office of NGT (PB) New Delhi, on 19th July, 2013, and thereafter, it was placed before the Principal Bench for admission on 22nd July, 2013. It appears that since First Order of the Assistant shows that scrutiny of the Appeal was made on 19th July,2013, the objection has been raised by the Project Proponent, that the Appeal is barred by limitation. As a 12 (J) Misc.Appln. No.607 of 2013 matter of fact, the Order dated 19th July, 2013, only shows that preliminary scrutiny of the Appeal was made on 19th July, 2013. We do not, however, think it proper to out rightly dislodge the office endorsement of the NGT (PB) New Delhi, which shows that entry was made vide DY No.192 of 2013, dated 7th June, 2013. In this context, it is pertinent to note that the Applicants have categorically stated on affirmation in the affidavit (paragraph 7) as shown below:
"7. That thereafter the Appellants approached the Counsel in Delhi, who
arranged Appeal in the proper form and filed the same before the Hon'ble Tribunal on 6th June, 2013"
10. We may mention that the above categorical statement made in the Application for condonation of delay, has not been traversed by the Project Proponent. Needless to say, it will have to be accepted that the Appeal was, in fact, filed on 7th June, 2013, in the office of the NGT (PB) at New Delhi. According to the Applicants, for the first time on 30 th April, 2013, they received information that the EC was issued on 20th February, 2013. The Project Proponent has not pointed out as to when the EC was put in public domain by the State Environment Department. The Project Proponent has not given any sufficient explanation as to why there was no immediate action taken for publication of Notices in the Newspapers. It appears that the Newspaper publication was made in English daily Newspaper of 30th 13 (J) Misc.Appln. No.607 of 2013 May, 2013 and in Marathi (vernacular) Newspaper of 31st May, 2013.
11. We have perused the affidavit filed on behalf of the Respondent Nos.2 to 5, by Shri.A.M.Pimparkar. His affidavit shows that he is the Scientist-I, working in Environment Department (GoM). His affidavit shows that the EC letter was placed on the website of the Ministry w.e.f. 13th March, 2013. The affidavit further shows that SEIAA, placed the EC on the website on 13th March, 2013, along with concerned Agenda recommendations of the SEAC and the SEIAA respectively. He explained that the communication dated 1st April, 2013, was issued in response to the Notice-cum-letter of Applicant- Shri.Vinod Padiyar, in order to fulfil the legal requirements.
12. Even though it be accepted that the EC letter was put on the website of Environment Ministry on 13th March, 2013, as stated in the additional affidavit of Shri. A.M.Pimparkar, then also the Appeal filed on 7th June, 2013, is within period of ninety (90) days, from the 1st day of communication. For, assuming that the limitation triggered on 13th March, 2013, then also the Applicants are entitled to explain the delay, which has occurred beyond permissible period of thirty (30) days. There is no dispute about the fact that the demolition process had commenced on 2nd April, 2013. Obviously, the Applicants had reason to make serious inquires thereafter. We cannot lightly brush 14 (J) Misc.Appln. No.607 of 2013 aside the version of the Applicants that they were under impression that due to communication received by them from the Director (Environment) vide letter No.142 of 2013, in response to the Notice dated 11th February, 2013, issued by Applicant Shri. Vinod Padiyar, under Section 19(b) of the Environment (Protection) Act, 1986, there was a reason to believe that the EC was not granted till 1st April, 2013. The Director (Environment) could have plainly informedApplicant VInod Padiyar that the EC was issued and therefore the Notice under Section 19(b) could not be acted upon. That was not done.
13. In case of "Seva Mon Region Federatin Vs Union of India" (MA No.104 of 2012, arising out of Appeal No.39 of 2012) 2013(1) All (1) NGT PB (1) (1), the Hon'ble Principal Bench of this Tribunal consisting of Hon''ble Chairperson and other four (4) Hon'ble Members, has observed that:
The Project Pronent had measerably failed to comply with the statutory obligation placed upon him in terms of regulation 10(i) (a). He only published an intimation stating that the Environmental Clearance, has been granted. The company never published the environmental conditions and safeguards in the two newspapers, as required under the said Regulation. In fact, there is no compliance of Regulation 19 (i) (a) as well as proper compliance of Condition 13, of the Environmental Clearance order dated 19th April, 2012, by the Project Proponent. It was further expected of the Project Proponent to provide copies of the Environmental Clearance to the Heads of the local bodies, Panchayats, Municipal Bodies, in addition to providing the same to the relevant officers of the Government, who in turn were expected to publicly display the same for a period of 30 days. From the 15 (J) Misc.Appln. No.607 of 2013 record available before us, it cannot be stated that this Regulation was complied with. (Para 57) The MoEF claims to have put the order of Environmental Clearance on the website on 22nd May, 2012, thus, 30 days would expire on 21st June, 2012. If we accept this contention, then the appeal would be barred 26 days. We have already recorded that the website of the MoEF, was not accessible as late as 5th June, 2012 and, therefore, we would believe the version given by the applicant that he could down load the order form the Minister's website only on 8th June, 2012 and, therefore, the appeal is barred only by 8 days, which is well within the jurisdiction of the Tribunal to condone being within 60 days, in excess of the prescribed period of 30 days. Even if for the sake of arguments we accept the case of the MoEF, then also the appeal would barred by 26 days which again falls well under the prescribed period of 60 days, and such delay is codonable by the Tribunal. (Para 60) Not even a single instance of negligence, carelessness has been pointed out by the non- applicant before us. In any case, it would hardly lie in the mouth of Project Proponent and the MoEF to raise an objection of limitation as it has been established on record that both of them have failed to comply with their statutory obligations. They cannot be permitted to take advantage of their own wrong, particularly, the Project Proponent, who has committed defaults under Regulation 10(i)(a) as well as Regulation 10(i) (d) of the Environment Clearance Regulations, 2006 (Para 61) We do hereby condone and direct the Appeal to be heard on merits. (Para 62)
14. In case of "Seva Mon Region Federatin Vs Union of India" (MA No.104 of 2012, arising out of Appeal No.39 of 2012) 2013(1) All (1) NGT PB (1) (1), the Hon'ble Principal Bench of this Tribunal consisting of Hon''ble Chairperson and other four (4) Hon'ble Members, has observed that:
The Project Pronent had measerably failed to comply with the statutory obligation placed upon him in terms of regulation 10(i) (a). He only published an intimation stating that the 16 (J) Misc.Appln. No.607 of 2013 Environmental Clearance, has been granted. The company never published the environmental conditions and safeguards in the two newspapers, as required under the said Regulation. In fact, there is no compliance of Regulation 19 (i) (a) as well as proper compliance of Condition 13, of the Environmental Clearance order dated 19th April, 2012, by the Project Proponent. It was further expected of the Project Proponent to provide copies of the Environmental Clearance to the Heads of the local bodies, Panchayats, Municipal Bodies, in addition to providing the same to the relevant officers of the Government, who in turn were expected to publicly display the same for a period of 30 days. From the record available before us, it cannot be stated that this Regulation was complied with. (Para 57) The MoEF claims to have put the order of Environmental Clearance on the website on 22nd May, 2012, thus, 30 days would expire on 21st June, 2012. If we accept this contention, then the appeal would be barred 26 days. We have already recorded that the website of the MoEF, was not accessible as late as 5th June, 2012 and, therefore, we would believe the version given by the applicant that he could down load the order form the Minister's website only on 8th June, 2012 and, therefore, the appeal is barred only by 8 days, which is well within the jurisdiction of the Tribunal to condone being within 60 days, in excess of the prescribed period of 30 days. Even if for the sake of arguments we accept the case of the MoEF, then also the appeal would barred by 26 days which again falls well under the prescribed period of 60 days, and such delay is codonable by the Tribunal. (Para 60) Not even a single instance of negligence, carelessness has been pointed out by the non- applicant before us. In any case, it would hardly lie in the mouth of Project Proponent and the MoEF to raise an objection of limitation as it has been established on record that both of them have failed to comply with their statutory obligations.
They cannot be permitted to take advantage of their own wrong, particularly, the Project Proponent, who has committed defaults under Regulation 10(i)(a) as well as Regulation 10(i) (d) of the Environment Clearance Regulations, 2006 (Para 61) We do hereby condone and direct the Appeal to be heard on merits. (Para 62) 17 (J) Misc.Appln. No.607 of 2013
15. In "Padmabati Mohapatra Vs Union of India " (MA No.79 of 2012 in Appeal No.29/2012), the Hon'ble Principal Bench of this Tribunal, headed by the Hon'ble Chairperson, has reiterated the legal position in paragraphs 20 and 21 thereof. We deem it proper to reproduce both the paragraphs as follows:
"20. The applicant has been able to show sufficient cause for 23 days' delay in filing the present appeal. It is correct that the Tribunal will not have jurisdiction to condone the delay where the appeal is filed beyond the period of 30+60 days in terms of Section 16 of the NGT Act. In the present case, however, there is no delay in excess of 90 days. In fact, both the respondents have failed to discharge their obligations in according with law. They failed to put the EC order in the public domain and ensure that nay aggrieved person is able to access such order in accordance with the prescribed procedure and law. In fact, both the MoEF and the project proponent are at fault and cannot be permitted to take advantage of their own wrong.
21. The respondents have failed to discharge their composite obligations comprehensively. Thus, in the present case, it is not possible in law to define a date when the order would actually or deemed to be communicated to the applicant. The communication of the order being incomplete in law, the limitation cannot be reckoned from any of the dates stated by any of the respondents. While construing the law of limitation, this Tribunal must take a pragmatic view balancing the rights of the parties to the list. The objection of limitation when renders a petition, barred by time, it takes away the right of one and protects the right of other. One who raises an objection of limitation, onus lies on him to show that the requirements of law, triggering the period of limitation have been satisfied. "
16. We have pointed out that the EC conditions are required to be complied with by the Project Proponent, so as 18 (J) Misc.Appln. No.607 of 2013 to make the EC legal and valid. The Applicants have placed on record the copies of the communications issued by the MPCB, which show that Show-cause Notices have been issued to the Project Proponent, as regards commencement of the construction, without obtaining prior Consent from the MPCB. It is, of course, not necessary to consider whether the Project Proponent gave adequate reply and such proceedings have been closed, or are still pending. It would be suffice to say that the Applicants have demonstrated that they were unable to get due information about the EC till the publication appeared in the Newspapers. Secondly, even though we assume that the limitation period triggered from the date of placement of the EC letter on the website of the Environment Ministry, then also further developments can be considered as 'sufficient cause' for condonation of the delay, which has occurred after initial period of thirty (30) days, in as much as, the Appeal filed on 7th June, 2013, is well within ninety (90) days period from that date, when the EC was put on the website of the Environment Ministry. Needless to say, the objection raised by the Project Proponent, is liable to be rejected. The Application, therefore, succeeds and will have to be allowed. We accept the explanation of the Applicant and deem it proper to condone the delay.
17. In the result, the Application is allowed. The delay is condoned. The Appeal is to be heard on merits. 19 (J) Misc.Appln. No.607 of 2013 ............................................., JM (Justice V. R. Kingaonkar) ............................................, EM (Dr. Ajay.A. Deshpande) 20 (J) Misc.Appln. No.607 of 2013


Places where you've traveled
Enter place where you've been:
Location:
Landmark:
Time of year:
Notes:
Submit
List of places
Location:
Landmark:
Time of Year:
notes:


SteemWatch Status
{{if systemOK .Sections}}
All systems operational
{{else}}
System outage detected, the tiger team was notified!
{{end}} {{range .Sections}}
{{.Heading}}
Description
Status
Details
Last Run
{{range .Checks}}
{{.Description}}
{{.Result}}
{{.Details}}
{{delta .Timestamp}} ago
{{end}}
{{end}}


Note: each stage may contain several sub examples, you just have to uncomment some options in the source code to enable them.
Source code repository for this page and all of the examples
-
Loading with jsapi, oldest way
-
Loading with jsapi, also autoloading modules specified in the URL
-
Loading with jsapi, newer way
-
Newest technique to load
-
Material charts
-
3D charts, only with old v1.0
-
Loading data with DataTable
-
Material Charts selected features
-
Formatting labels (Material Charts only!)
-
Dual Axis (Classic Charts version)
-
Dual Axis (Material Charts version)
-
Trend Lines (Classic Charts only!)
-
Combo Charts (Classic Charts only!)
-
Different colors within a series (Classic Charts only!)
-
Slanted Labels (Classic Charts only!)
-
Line Charts (features Classic Charts because of curved lines)
-
Line Charts with Annotations
-
Image charts
-
Bullet graph (image chart)
-
Displaying units of values
-
Geo Charts about 2016 election results
-
Stacked chart
-
Diff bar chart
-
Diff bar chart, customized more
-
Trend line calculations
-
Chart background


{% for item in site.categories[include.category] %} {% if include.filter_by_tag %} {% if item.tags contains include.filter_by_tag %} {% include item.html %} {% endif %} {% else %} {% include item.html %} {% endif %} {% else %}
Hey! There's no {{ include.category }} yet.
{% if include.category == "podcast" %} Become a guest → {% else %} Get interviewed → {% endif %}Are you running a site in production? I'd love to hear your story, become a guest.
{% elsif page.url contains "/interviews/" %}Are you running a site in production? I'd love to hear your story, get interviewed.
{% endif %}


THE GINGERBREAD MAN Starring Kenneth Branagh, Embeth Davidzt and Robert Downey, Jr.
Written by John Grisham and Robert Altman (as Al Hayes)
Directed by Robert Altman
Some time ago, a young director was given the opportunity to direct the screen version of a popular novel. The novel was a summer smash, topping best-seller lists across the country and already drawing speculation as to which popular actors of the day might play the leads. The only problem: the novel wasn't very good. It was far more pulp than Pulitzer. But the director realized that, no matter how pedestrian the prose, this book really grabbed people - that the author, while not a great writer, was a fantastic storyteller. So he took on the project, convinced he could make something happen on screen. The director? Francis Ford Coppola. The book, of course, was Mario Puzo's THE GODFATHER. The rest, as they say in showbiz, was history.
By bringing up THE GODFATHER, I don't mean to suggest that Robert Altman's THE GINGERBREAD MAN is destined for that level of greatness. But the parallel does suggest that it is possible to create great cinema from questionable source material. Can you get any more questionable than John Grisham? Depends on whom you ask. But there's no question that Grisham's work grabs people. Like Puzo, Grisham is a better storyteller than a writer - unlike fellow hack Michael Crichton, who is a good idea man but who can't tell a well-constructed story from a can of Spam. So something in Grisham's unpublished story of a cocky Savannah lawyer who gets involved in a deadly family squabble drew the attention of Robert Altman, who at 73 years old remains one of America's greatest living filmmakers. The result is a gripping thriller that, while falling short of classic cinema, deserves its place in the Altman canon.
>From its opening shot to the closing credits, THE GINGERBREAD MAN is permeated with a sense of dread, with a fear of the natural destructive forces of the universe. This terrific sense of mood is a classic Altman touch. Witness said opening shot: we see an aerial view of coastal Georgia with its writhing, undulating landscape while the soundtrack grumbles ominously in our ear. We roll over the hills into the town of Savannah, then zoom in close on a red sports car speeding over a bridge while its driver chatters oblivious on his cell phone. Right away we know that the driver of that car is in for a few surprises. Pay attention, boys and girls - this shot was not conceived by John Grisham, but by Altman. This is what a great director can do for questionable source material.
The sports car belongs to Rick Magruder (Kenneth Branagh), the aforementioned hotshot attorney who specializes in police brutality cases. Magruder has just won a high profile case and celebrates that night with a catered party at his office. Outside after the party he meets one of the waitresses, Mallory Doss (Embeth Davidzt), just as she realizes her car has been stolen. Driven by Southern chivalry, a driving rainstorm and his unspoken attraction to the fragile waitress, Magruder offers her a ride home. There he learns more about Mallory's life than he bargained for. Her car was stolen by her schizophrenic father Dixon (Robert Duvall), a Ted Kyzynski-style whacko who has been stalking and terrorizing his own daughter. Magruder, perhaps influenced by Mallory's decision to strip off her wet clothes in front of him, is sympathetic to her plight, and offers to help her get her father committed - right after he sleeps with her, of course.
This simple offer of help leads Magruder down a dangerous path with a black end. He succeeds in having Dixon incarcerated in a mental hospital, and for a moment all appears well. But then Dixon's crack team of homeless commandos bust him out of the lockup - and suddenly Magruder finds himself, Mallory and his own children in danger. The cops won't lift a finger to help a liberal attorney. His only allies are his faithful assistant Lois (Daryl Hannah) and his bumbling private-eye sidekick Clyde (Robert Downey Jr). If this predicament wasn't bad enough, Hurricane Geraldo is bearing down on Savannah and throwing the world into chaos.
Altman may provide the atmosphere, but Branagh's performance holds THE GINGERBREAD MAN together. An accomplished actor when he isn't directing himself in vanity productions, Branagh does a fine job of making Rick a sympathetic hero while casting doubt upon his motives. Is his offer of help to Mallory an act of kindness, or of egotism?  As the plot unfolds, Magruder learns that none of us are as secure as we think we are.
If you're familiar with Altman's work, you'll recognize several of his signature techniques. Characters are not introduced in establishing shots, but rather are allowed to wander in the background of scenes until their importance becomes apparent. Crucial scenes are shot from the outside through windows, making the audience unwitting voyeurs of the action. Dialog overlaps and the actors seem to slip naturally into an improvisational style. And of course there's my favorite Altman technique - the Obligatory Nude Actress shot. Thanks to Altman, here are some of the actresses I've had the pleasure of seeing naked: Sally Kellerman, Julianne Moore, Madeline Stowe, even Frances McDormand. And now I can add Embeth Davidtz, who looks quite healthy in the altogether. The naked actress shot has become as ubiquitous to the Altman film as the director cameo was to the Hitchcock film. Is it old-school sexism, or a clever in-joke? You be the judge.
But back to the picture at hand. In the hands of a mere mortal, THE GINGERBREAD MAN would have been a routine thriller, no better or worse than the countless others we've all endured. In the hands of a master like Altman, it becomes an exercise in existential doom, in its own way far more successful than Scorsese's CAPE FEAR remake, which tried for the same result. What may prevent it from enduring with Altman's greatest work is a weak third act - in fact, there really is no third act in Grisham's story, so it appears that Altman had to throw in the hurricane just to jazz things up. But there are true moments of riveting suspense, and great performances by Branagh, Davidzt and Downey Jr - more than enough to see you through. That Polygram so hated this picture that they tried to steal final cut from Altman, and then buried the marketing campaign when he won it back, should tell you how utterly clueless of quality most studios are. They probably wanted it to look more like A TIME TO KILL. And that, my friends, should make you very afraid.
GRADE: A-
Visit the FILM GEEK web site at: http://www.filmgeek.com
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


WITNESS LIST Subcommittee on Agriculture Committee April 29, 1999-1:00P HB 2000 FOR: Clark, Jerry (Dairy Farmers of America), Buna Terrell, James (Texas Association of Dairymen), Austin AGAINST: Courtney, Chuck (Texas Retailers Assocation), Austin James, Reggie (Consumers Union S.W. Regional Office), Austin Registering, but not testifying: For: Joiner, Gary (Texas Farm Bureau), Austin HB 2407 THIS LIST HAS NO WITNESSES.


import time
import numpy as np
import scipy.sparse as sp
import scipy.sparse.linalg as linalg
[docs]class Solver:
"""Parent class for a finite element solver.
Provides a number of methods suitable for most finite element analysis solver types.
:cvar analysis: Analysis object to solve
:vartype analysis: :class:`~feastruct.fea.fea.FiniteElementAnalysis`
:cvar analysis_cases: List of analysis cases to solve
:vartype analysis_cases: list[:class:`~feastruct.fea.cases.AnalysisCase`]
:cvar solver_settings: Settings to use in the solver
:vartype solver_settings: :class:`~feastruct.solvers.feasolve.SolverSettings`
:cvar int ndof: Number of active degrees of freedom in the analysis
"""
[docs] def __init__(self, analysis, analysis_cases, solver_settings):
"""Inits the Solver class.
:param analysis: Analysis object to solve
:type analysis: :class:`~feastruct.fea.fea.FiniteElementAnalysis`
:param analysis_cases: List of analysis cases to solve
:type analysis_cases: list[:class:`~feastruct.fea.cases.AnalysisCase`]
:param solver_settings: Settings to use in the solver
:type solver_settings: :class:`~feastruct.solvers.feasolve.SolverSettings`
"""
self.analysis = analysis
self.analysis_cases = analysis_cases
if solver_settings is None:
self.solver_settings = SolverSettings()
else:
self.solver_settings = solver_settings
[docs] def assign_dofs(self):
"""Method to assign global degrees of freedom to the nodes in the analysis object."""
# assign node freedom allocations by looping through all elements
for element in self.analysis.elements:
element.apply_nfa()
dof_count = 0 # initialise degree of freedom counter
# loop through all the nodes in the analysis
for node in self.analysis.nodes:
# get all degree of freedoms in the node freedom signature
node_dofs = node.get_dofs(freedom_signature=node.nfs)
# loop through each dof
for dof in node_dofs:
# assign a global degree of freedom number
dof.global_dof_num = dof_count
dof_count += 1
# assign the total number of global dofs
self.ndof = dof_count
[docs] def assemble_stiff_matrix(self, geometric=False, analysis_case=None):
"""Assembles the global stiffness using the sparse COO format.
:param bool geometric: If set to True, also returns the global geometric stiffness matrix
:param analysis_case: If geometric is set to True, the static analysis case from which to
use to build the geometric stiffness matrix
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
:returns: The global stiffness matrix and, if desired, the global geometric stiffness
matrix *(K, K_g)*
:rtype: tuple(:class:`scipy.sparse.coo_matrix`, :class:`scipy.sparse.coo_matrix`)
"""
# initialise lists
row = [] # list containing row indices
col = [] # list containing column indices
data = [] # list containing stiffness matrix entries
if geometric:
data_g = []
# loop through all the elements
for el in self.analysis.elements:
# determine number of dofs in the current element
n = el.get_ndof()
# get element stiffness matrix
k_el = el.get_stiffness_matrix()
# get element degrees of freedom
el_dofs = el.get_gdof_nums()
# create row index vector
r = np.repeat(el_dofs, n)
# create column index vector
c = np.tile(el_dofs, n)
# flatten element stiffness matrix
k = k_el.flatten()
# add to global arrays
row = np.hstack((row, r))
col = np.hstack((col, c))
data = np.hstack((data, k))
# assemble geometric stiffness matrix
if geometric:
k_el_g = el.get_geometric_stiff_matrix(analysis_case=analysis_case)
k_g = k_el_g.flatten()
data_g = np.hstack((data_g, k_g))
K = sp.coo_matrix((data, (row, col)), shape=(self.ndof, self.ndof))
if geometric:
K_g = sp.coo_matrix((data_g, (row, col)), shape=(self.ndof, self.ndof))
else:
K_g = None
return (K, K_g)
[docs] def assemble_mass_matrix(self):
"""Assembles the global stiffness using the sparse COO format.
:returns: The global mass matrix
:rtype: :class:`scipy.sparse.coo_matrix`
"""
# initialise lists
row = [] # list containing row indices
col = [] # list containing column indices
data = [] # list containing mass matrix entries
# loop through all the elements
for el in self.analysis.elements:
# determine number of dofs in the current element
n = el.get_ndof()
# get element mass matrix
m_el = el.get_mass_matrix()
# get element degrees of freedom
el_dofs = el.get_gdof_nums()
# create row index vector
r = np.repeat(el_dofs, n)
# create column index vector
c = np.tile(el_dofs, n)
# flatten element mass matrix
m = m_el.flatten()
# add to global arrays
row = np.hstack((row, r))
col = np.hstack((col, c))
data = np.hstack((data, m))
return sp.coo_matrix((data, (row, col)), shape=(self.ndof, self.ndof))
[docs] def assemble_fext(self, analysis_case):
"""Assembles the external force vector for analysis_case.
:param analysis_case: Analysis case used to assemble the external force vector
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
:returns: The external force vector *f_ext* and the equivalent nodal loads vector *f_eq*
:rtype: tuple(:class:`numpy.ndarray`, :class:`numpy.ndarray`)
"""
f_ext = np.zeros(self.ndof)
f_eq = np.zeros(self.ndof)
# apply nodal loads
# loop through all the nodal loads in the analysis case
for nodal_load in analysis_case.load_case.items:
nodal_load.apply_load(f_ext=f_ext)
# apply element loads
# loop through all the element loads in the analysis case
for element_load in analysis_case.load_case.element_items:
element_load.apply_load(f_eq=f_eq)
# add body forces
for el in self.analysis.elements:
# TODO: add body forces to fext
pass
return (f_ext, f_eq)
[docs] def apply_bcs(self, K, f_ext, analysis_case):
"""Applies the boundary conditions to the global stiffness matrix and external force
vector for the analysis case.
:param K: Global stiffness matrix
:type K: :class:`scipy.sparse.coo_matrix`
:param f_ext: External force vector
:type f_ext: :class:`numpy.ndarray`
:param analysis_case: Analysis case
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
:returns: The global stiffness matrix and external force vector, modified by the boundary
conditions *(K, f_ext)*
:rtype: tuple(:class:`scipy.sparse.lil_matrix`, :class:`numpy.ndarray`)
"""
# convert K to lil matrix
K = sp.lil_matrix(K)
# loop through all the supports in the analysis case
for support in analysis_case.freedom_case.items:
support.apply_support(K=K, f_ext=f_ext)
# TODO: add spring stiffnesses
return (K, f_ext)
[docs] def remove_constrained_dofs(self, K, analysis_case):
"""Given an initial matrix *K*, returns a new matrix with the constrained degrees of
freedom removed. The constrained degrees of freedom are those with supports defined in the
freedom case used in the analysis case.
:param K: Stiffness matrix
:type K: :class:`scipy.sparse.coo_matrix`
:param analysis_case: Analysis case
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
:returns: A new stiffness matrix with the constrined dofs removed
:rtype: :class:`scipy.sparse.lil_matrix`
"""
# convert K to lil matrix
K_lil = sp.lil_matrix(K)
# get dofs of constrained nodes
constrained_dofs = []
# loop through all the supports in the analysis case
for support in analysis_case.freedom_case.items:
constrained_dofs.append(support.get_gdof())
# create list of free dofs
free_dofs = [i for i in range(self.ndof) if i not in constrained_dofs]
idx = np.ix_(free_dofs, free_dofs)
return K_lil[idx]
[docs] def direct_solver(self, K, f_ext):
"""Solves Ku=f_ext for *u* using the direct method.
:param K: Global stiffness matrix
:type K: :class:`scipy.sparse.lil_matrix`
:param f_ext: External force vector
:type f_ext: :class:`numpy.ndarray`
:returns: Displacement vector *u*
:rtype: :class:`numpy.ndarray`
"""
# convert stiffness matrix to csc format
K_csc = sp.csc_matrix(K)
return linalg.spsolve(K_csc, f_ext)
[docs] def cgs_solver(self, K, f_ext):
"""Solves Ku=f_ext for *u* using the cgs method.
:param K: Global stiffness matrix
:type K: :class:`scipy.sparse.lil_matrix`
:param f_ext: External force vector
:type f_ext: :class:`numpy.ndarray`
:returns: Displacement vector *u*
:rtype: :class:`numpy.ndarray`
:raises Exception: If the cgs solver does not converge or if the preconditioner fails
"""
# convert stiffness matrix to csc format
K_csc = sp.csc_matrix(K)
if self.solver_settings.linear_static.cgs_precond:
# perform ILU decomposition stiffness matrix
try:
precond = linalg.LinearOperator(K.get_shape(), linalg.spilu(K_csc).solve)
except RuntimeError:
raise Exception('Preconditioner could not be constructed.')
else:
precond = None
tol = self.solver_settings.linear_static.cgs_tol
maxiter = self.solver_settings.linear_static.cgs_maxiter
(u, exit) = linalg.cgs(K_csc, f_ext, tol=tol, maxiter=maxiter, M=precond)
if (exit != 0):
raise Exception('CGS solver did not converge.')
return u
[docs] def solve_eigenvalue(self, A, M, eigen_settings):
"""Finds eigenvalues and eigenvectors for A * x[i] = w[i] * M * x[i].
:param A: A matrix
:type A: :class:`scipy.sparse.coo_matrix`
:param M: M matrix
:type M: :class:`scipy.sparse.coo_matrix`
:param eigen_settings: A settings object for use with the eigenvalue solver
:type eigen_settings: :class:`feastruct.solvers.feasolve.LinearBucklingSettings` or
:class:`feastruct.solvers.feasolve.NaturalFrequencySettings`
:returns: Eigenvalues and corresponding eigenvectors *(w, v)*
:rtype: tuple(:class:`numpy.ndarray`, :class:`numpy.ndarray`)
:raises Exception: If the eigenvalue solver does not converge
"""
A_csc = sp.csc_matrix(A)
M_csc = sp.csc_matrix(M)
n = eigen_settings.num_modes
shift = eigen_settings.shift
maxiter = eigen_settings.maxiter
tol = eigen_settings.tol
try:
(w, v) = linalg.eigs(A=A_csc, k=n, M=M_csc, sigma=shift, maxiter=maxiter, tol=tol)
except linalg.ArpackNoConvergence:
raise Exception('Convergence not obtained for the eigenvalue solver')
return (np.real(w), np.real(v))
[docs] def save_displacements(self, u, analysis_case):
"""Saves the displacements *u* to the degree of freedom objects for the analysis case.
:param u: Displacement vector
:type u: :class:`numpy.ndarray`
:param analysis_case: Analysis case
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
"""
# loop through all the nodes in the analysis
for node in self.analysis.nodes:
# get the relevant degrees of freedom for the node
node_dofs = node.get_dofs(freedom_signature=node.nfs)
# loop through each dof and save the relevant displacement
for dof in node_dofs:
dof.save_displacement(disp=u[dof.global_dof_num], analysis_case=analysis_case)
[docs] def save_buckling_results(self, w, v, analysis_case):
"""Saves the buckling results *w* and *v* to the degree of freedom objects for the analysis
case.
:param w: Eigenvalues
:type w: :class:`numpy.ndarray`
:param v: Eigenvectors
:type v: :class:`numpy.ndarray`
:param analysis_case: Analysis case
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
"""
# add constrained dofs to the eigenvectors
constrained_dofs = []
for support in analysis_case.freedom_case.items:
constrained_dofs.append(support.get_gdof())
# set eigenvector value to zero for constrained dof
for dof in sorted(constrained_dofs):
v = np.insert(v, dof, 0, axis=0)
# save buckling results for each dof
# loop through all the nodes
for node in self.analysis.nodes:
# loop through all the relevant dofs
for dof in node.get_dofs(freedom_signature=node.nfs):
# get global degree of freedom number
gdof = dof.global_dof_num
# list of buckling modes
buckling_modes = list(range(len(w)))
# get eigenvectors for the current degree of freedom
v_dof = v[gdof, :]
# save buckling results
dof.save_buckling_modes(
buckling_modes=buckling_modes, w=w, v=v_dof, analysis_case=analysis_case)
[docs] def save_frequency_results(self, w, v, analysis_case):
"""Saves the frequency results *w* and *v* to the degree of freedom objects for the
analysis case.
:param w: Eigenvalues
:type w: :class:`numpy.ndarray`
:param v: Eigenvectors
:type v: :class:`numpy.ndarray`
:param analysis_case: Analysis case
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
"""
# add constrained dofs to the eigenvectors
constrained_dofs = []
for support in analysis_case.freedom_case.items:
constrained_dofs.append(support.get_gdof())
# set eigenvector value to zero for constrained dof
for dof in sorted(constrained_dofs):
v = np.insert(v, dof, 0, axis=0)
# save frequency results for each dof
# loop through all the nodes
for node in self.analysis.nodes:
# loop through all the relevant dofs
for dof in node.get_dofs(freedom_signature=node.nfs):
# get global degree of freedom number
gdof = dof.global_dof_num
# list of buckling modes
frequency_modes = list(range(len(w)))
# get eigenvectors for the current degree of freedom
v_dof = v[gdof, :]
# save buckling results
dof.save_frequency_modes(
frequency_modes=frequency_modes, w=w, v=v_dof, analysis_case=analysis_case)
[docs] def calculate_reactions(self, K, u, f_eq, analysis_case):
"""Calculates the reactions using the stiffness matrix *K* and the displacement vector *u*
and saves the reactions for the analysis case.
:param K: Global stiffness matrix
:type K: :class:`scipy.sparse.lil_matrix`
:param u: Displacement vector
:type u: :class:`numpy.ndarray`
:param f_eq: Global equivalent nodal loads vector of size *N*
:type f_eq: :class:`numpy.ndarray`
:param analysis_case: Analysis case
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
"""
# calculate global force vector
F = K.dot(u) + f_eq
# loop through constrained nodes and save reactions
for support in analysis_case.freedom_case.items:
f = F[support.get_gdof()]
support.save_reaction(f=f, analysis_case=analysis_case)
[docs] def calculate_stresses(self, analysis_case):
"""Calculates and saves the element stresses for the analysis case.
:param analysis_case: Analysis case
:type analysis_case: :class:`~feastruct.fea.cases.AnalysisCase`
"""
# loop through each element in the analysis
for el in self.analysis.elements:
# get element stiffness matrix
k_el = el.get_stiffness_matrix()
# get nodal displacements
u_el = el.get_nodal_displacements(analysis_case=analysis_case).reshape(-1)
# calculate internal force vector
f_int = np.matmul(k_el, u_el)
# find element loads
for element_load in analysis_case.load_case.element_items:
# if the current element has an applied element load
if element_load.element is el:
# add nodal equivalent loads to f_int
f_int += element_load.nodal_equivalent_loads()
el.save_fint(f=f_int, analysis_case=analysis_case)
[docs] def function_timer(self, text, function, *args):
"""Displays the message *text* and returns the time taken for a function, with arguments
*args*, to execute. The value returned by the timed function is also returned.
:param string text: Message to display
:param function: Function to time and execute
:type function: function
:param args: Function arguments
:returns: Value returned from the function
"""
start_time = time.time()
if text != '':
print(text)
result = function(*args)
if text != '':
print('----completed in {0:.6f} seconds---'.format(time.time() - start_time))
return result
[docs]class SolverSettings:
"""Class for settings to be used in a finite element analysis.
:cvar linear_static: Linear static settings
:vartype linear_static: :class:`feastruct.solvers.feasolve.LinearStaticSettings`
:cvar linear_buckling: Linear buckling settings
:vartype linear_buckling: :class:`feastruct.solvers.feasolve.LinearBucklingSettings`
:cvar natural_frequency: Natural frequency settings
:vartype natural_frequency: :class:`feastruct.solvers.feasolve.NaturalFrequencySettings`
"""
[docs] def __init__(self):
"""Inits the SolverSettings class."""
self.linear_static = LinearStaticSettings()
self.linear_buckling = LinearBucklingSettings()
self.natural_frequency = NaturalFrequencySettings()
[docs]class LinearStaticSettings:
"""Class for settings to be used in a linear static analysis.
:cvar bool time_info: If set to True, a detailed description of the computation and the time
cost is printed to the terminal
:cvar string solver_type: Solver type used to solve Ku = f - 'direct' or 'cgs'
:cvar float cgs_tol: Tolerance to achieve for the cgs solver
:cvar int cgs_maxiter: Maximum number of iterations for the cgs solver
:cvar bool cgs_precond: If set to True, calculates a preconditioner for K using an ILU
decomposition
"""
[docs] def __init__(self, time_info=False, solver_type='direct', cgs_tol=1e-5, cgs_maxiter=None,
cgs_precond=True):
"""Inits the LinearStaticSettings class.
:param bool time_info: If set to True, a detailed description of the computation and the
time cost is printed to the terminal
:param string solver_type: Solver type used to solve Ku = f - 'direct' or 'cgs'
:param float cgs_tol: Tolerance to achieve for the cgs solver
:param int cgs_maxiter: Maximum number of iterations for the cgs solver
:param bool cgs_precond: If set to True, calculates a preconditioner for K using an ILU
decomposition
"""
self.time_info = time_info
self.solver_type = solver_type
self.cgs_tol = cgs_tol
self.cgs_maxiter = cgs_maxiter
self.cgs_precond = cgs_precond
[docs]class LinearBucklingSettings:
"""Class for settings to be used in a linear buckling analysis."""
[docs] def __init__(self, time_info=False, num_modes=4, shift=0, maxiter=None, tol=1e-9):
"""Inits the LinearBucklingSettings class.
:param bool time_info: If set to True, a detailed description of the computation and the
time cost is printed to the terminal
:param int num_modes: Number of modes to compute
:param float shift: Finds eigenvalues near *shift* using the shift-invert mode
:param int maxiter: Maximum number of iterations allowed
:param float tol: Relative accuracy for eigenvalues (stopping criterion)
"""
self.time_info = time_info
self.num_modes = num_modes
self.shift = shift
self.maxiter = maxiter
self.tol = tol
[docs]class NaturalFrequencySettings:
"""Class for settings to be used in a natural frequency analysis."""
[docs] def __init__(self, time_info=False, num_modes=4, shift=0, maxiter=None, tol=1e-9):
"""Inits the NaturalFrequencySettings class.
:param bool time_info: If set to True, a detailed description of the computation and the
time cost is printed to the terminal
:param int num_modes: Number of modes to compute
:param float shift: Finds eigenvalues near *shift* using the shift-invert mode
:param int maxiter: Maximum number of iterations allowed
:param float tol: Relative accuracy for eigenvalues (stopping criterion)
"""
self.time_info = time_info
self.num_modes = num_modes
self.shift = shift
self.maxiter = maxiter
self.tol = tol


« CSS « CSS Reference
The clear property specifies whether an element can be next to floating elements that precede it or must be moved down (cleared) below them.
none
visual
clear: none | left | right | both | inherit
h1 { clear: none } h2 { clear: right }
If you want an element to contain all floating elements inside it, you can either float the container as well, or use clear
#container:after { content: "."; line-height: 0; height: 0; display: block; visibility: hidden; clear: both; }
The clear property applies to both floating and non-floating elements.
When it applies to non-floating blocks, it moves the border edge of the element down until it is below the margin edge of all relevant floats. This movement (when it happens) causes margin collapsing not to occur.
When it applies to floating elements, it moves the margin edge of the element below the margin edge of all relevant floats. This affects the position of later floats, since later floats cannot be positioned higher than earlier ones.
The floats that are relevant to be cleared are the earlier floats within the same block formatting context.
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | 1.0 | 1.0 (1.0) | 4.0 | 3.5 | 1.0 (85) |
| Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | ? | ? | ? | ? | ? |